【程序基础】学习算法路线整理(不断完善)

这里写自定义目录标题

学习路线整理

新的改变

以前学习算法太过粗糙,感觉都是学得不够仔细,得好好认真去学习。有了这块功底,程序员好比就是习武之人打通任督二脉一样。

链表
链表
双向链表
哈希表/散列表 (Hash Table)
散列函数
碰撞解决
字符串算法
排序
查找
BF算法
KMP算法
BM算法
正则表达式
数据压缩

二叉树
二叉查找树
伸展树(splay tree 分裂树)
平衡二叉树AVL
红黑树
B树,B+,B*
R树
Trie树(前缀树)
后缀树
最优二叉树(赫夫曼树)
二叉堆 (大根堆,小根堆)
二项树
二项堆
斐波那契堆(Fibonacci Heap)
图的算法
图的存储结构和基本操作(建立,遍历,删除节点,添加节点)
最小生成树
拓扑排序
关键路径
最短路径: Floyd,Dijkstra,bellman-ford,spfa
排序算法
交换排序算法

冒泡排序
插入排序
选择排序
希尔排序
快排
归并排序
堆排序
线性排序算法

桶排序
查找算法
顺序表查找:顺序查找
有序表查找:二分查找
分块查找: 块内无序,块之间有序;可以先二分查找定位到块,然后再到块中顺序查找
动态查找: 二叉排序树,AVL树,B- ,B+ (这里之所以叫 动态查找表,是因为表结构是查找的过程中动态生成的)
哈希表: O(1)
15个经典基础算法
Hash
快速排序
快递选择SELECT
BFS/DFS (广度/深度优先遍历)
红黑树 (一种自平衡的二叉查找树)
KMP 字符串匹配算法
DP (动态规划 dynamic programming)
A*寻路算法: 求解最短路径
Dijkstra:最短路径算法 (八卦下:Dijkstra是荷兰的计算机科学家,提出”信号量和PV原语“,“解决哲学家就餐问题”,”死锁“也是它提出来的)
遗传算法
启发式搜索
图像特征提取之SIFT算法
傅立叶变换
SPFA(shortest path faster algorithm) 单元最短路径算法
海量数据处理
Hash映射/分而治之
Bitmap
Bloom filter(布隆过滤器)
Trie树
数据库索引
倒排索引(Inverted Index)
双层桶划分
外排序
simhash算法
分布处理之Mapreduce
算法设计思想
迭代法
穷举搜索法
递推法
动态规划
贪心算法
回溯
分治算法
算法题目选编
这是一个算法题目合集,题目是我从网络和书籍之中整理而来,部分题目已经做了思路整理。问题分类包括:

字符串
堆和栈
链表
数值问题
数组和数列问题
矩阵问题
二叉树

海量数据处理
智力思维训练
系统设计

猜你喜欢

转载自blog.csdn.net/qq_41094072/article/details/132403700
今日推荐