2016 - 2024

感恩一路有你

严蔚敏的数据结构太难了 一个实力超群的程序猿必须知道的数据结构有哪些?

浏览量:2364 时间:2021-03-13 19:03:03 作者:admin

一个实力超群的程序猿必须知道的数据结构有哪些?

算法

  1. 图搜索 (广度优先、深度优先)深度优先特别重要
  2. 排序
  3. 动态规划
  4. 匹配算法和网络流算法
  5. 正则表达式和字符串匹配

数据结构

  1. 图 (树尤其重要)
  2. Map
  3. 栈/队列
  4. Tries | 字典树

额外推荐

  • 贪婪算法
  • 概率方法
  • 近似算法

下面这个没有特定优先级

算法:

  • 三路划分-快速排序
  • 合并排序(更具扩展性,复杂度类似快速排序)
  • DF/BF 搜索 (要知道使用场景)
  • Prim / Kruskal (最小生成树)
  • Dijkstra (最短路径算法)
  • 选择算法

数据结构

  • HashMap (真的要知道所有哈希结构)
  • 图和树(红黑树很好学) (red-black trees are good to learn)
  • 堆(优先级队列)
  • 栈/队列(必须知道的基础内容)
  • Tries | 字典树

A *和遗传算法也很有趣。

我现在没学完C语言,但是学校已经开了数据结构课程,感觉像听天书一样,如何更好地理解数据结构?

第一,我觉得作为一个大学生,自学能力很强。对于C语言没有学完,可以自己抽时间认真学会。不会的可以到图书馆查阅资料,或者上网也可以自学。现在网络平台有好多优质资源,你可以试试。

第二,数据结构的算法比较抽象,必须认真研究。他是编程序的依据,这与C语言没有必然的联系。只是用C语言可以实现一些算法。也可以用别的语言实现。

第三,要对自己有信心。不会的问题可以和老师,同学交流。既然选择好专业,就应该深入研究。

这就是我的一些看法,希望能够帮到你!

严蔚敏的数据结构太难了 数据结构bf算法步骤 数据结构KMP算法

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。