您的位置:首页 > 理论基础 > 数据结构算法

程序员必须知道的10个算法和数据结构有哪些?

2015-08-10 18:28 399 查看
算法

图搜索 (广度优先、深度优先)深度优先特别重要

排序

动态规划

匹配算法和网络流算法

正则表达式和字符串匹配

数据结构

图 (树尤其重要)

Map



栈/队列

Tries | 字典树

额外推荐

贪婪算法

概率方法

近似算法


上面是 Arjun Nayini 的推荐,下面是 Ken George 的推荐

注:下面这个没有特定优先级

算法:

三路划分-快速排序

合并排序(更具扩展性,复杂度类似快速排序)

DF/BF 搜索 (要知道使用场景)

Prim / Kruskal (最小生成树)

Dijkstra (最短路径算法)

选择算法

数据结构

HashMap (真的要知道所有哈希结构)

图和树(红黑树很好学) (red-black trees are good to learn)

堆(优先级队列)

栈/队列(必须知道的基础内容)

Tries | 字典树

A *和遗传算法也很有趣。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: