一些网页教程
问题复杂性分类:P,NP,NPC,NPH,PSPACE,EXPTIME等
http://swarma.blog.caixin.com/archives/191332
C++ stl库的学习
https://www.cnblogs.com/CnZyy/p/3317999.html
https://www.cnblogs.com/yejianyong/p/7137998.html
关于算法工程师找工作的劝告
https://bbs.pku.edu.cn/v2/post-read.php?bid=99&threadid=16510824
各种二叉树的定义
根据树的结构:越往下条件越严苛。
- 满二叉树:除了叶子节点,其余节点都有两个子节点。
- 完全二叉树:满二叉树+最后一层叶子节点全在左边,除去最后一层的话,剩下的是一个完美二叉树。
- 完美二叉树:完美的三角形,一个不缺一个不少。
根据结点值的大小:
- 二叉搜索树/二叉查找树/二叉排序树:左中右:小中大(包括等于)
- 二叉堆:父子:大于等于或小于等于
树的结构+结点值的大小
- 平衡二叉搜索树:(红黑树、AVL、替罪羊树、Treap、伸展树等):小中大排序二叉树 +左右两边树高最多只差一层/两边节点数(max=2min+1)min还可以再多 +没有值重复
C++数据结构理解与运用
并查集union find
优先队列/堆prior queue