正经人590 2024-09-23 21:10 采纳率: 50%
浏览 3
已采纳

c++的算法学习指导

现在应该先学哈希表再看算法,还是先看算法,leetcode第一题竟然有哈希,懵了。还有算法应该以什么顺序去学习😭

  • 写回答

1条回答 默认 最新

  • 一轮明月照丘壑 2024-09-23 21:11
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    在C++算法学习中,建议先理解基本的算法和数据结构,然后再学习哈希表等高级数据结构。关于算法的学习顺序,以下是一些建议:

    一、基础算法和数据结构:

    1. 数据结构:理解数组、链表、栈、队列、树(二叉树等)、图等基础数据结构的概念和操作。
    2. 基本算法:学习排序(如冒泡排序、插入排序、快速排序等)、查找(如二分查找)等常用算法。

    二、进阶数据结构:

    1. 哈希表:当基础算法和数据结构掌握得差不多时,可以开始学习哈希表。哈希表是一种通过计算数据的哈希值来快速存取数据的数据结构。了解哈希表的原理、实现和使用场景。

    三、算法的学习顺序:

    1. 动态规划:动态规划是许多算法问题的核心思想,解决很多问题时非常有效。建议先学习动态规划,再学习其他算法。
    2. 图论算法:如最短路径、最小生成树等,这些是计算机科学中的核心问题。
    3. 字符串算法:字符串问题在很多编程比赛中都有涉及,例如KMP字符串匹配算法等。
    4. 高级数据结构题:如二叉搜索树、并查集等,这些通常涉及到哈希表的应用。

    四、结合实际问题学习:

    通过实际编程问题,特别是像LeetCode这样的在线编程平台上的题目来实践和学习算法。这样做不仅可以加深对算法的理解,还可以提高编程能力。

    关于LeetCode第一题涉及到哈希的情况,其实不用太担心。只要掌握了基础的算法和数据结构,再遇到具体问题时,可以根据问题的特点选择合适的算法和数据结构来解决。遇到不懂的问题,可以多查阅资料,看别人的解答,逐渐积累经验。

    总之,学习C++的算法和数据结构需要循序渐进,先从基础开始,逐渐深入。同时,结合实际问题来学习和实践,效果会更好。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 9月25日
  • 创建了问题 9月23日

悬赏问题

  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见
  • ¥15 一共有五道问题关于整数幂的运算还有房间号码 还有网络密码的解答?(语言-python)
  • ¥20 sentry如何捕获上传Android ndk 崩溃
  • ¥15 在做logistic回归模型限制性立方条图时候,不能出完整图的困难
  • ¥15 G0系列单片机HAL库中景园gc9307液晶驱动芯片无法使用硬件SPI+DMA驱动,如何解决?