1.算法思想:递归、分治(归并排序、二分查找、快速排序)、贪心(贪心策略排序+当前最优)、动态规划(最优子结构+递推式)、回溯(解空间:排列树+子集树、深度搜索+剪枝)、分支限界(解空间:排列树+子集树、广度搜索+剪枝))
2.排序算法:(low:冒泡、插入、选择;mid:快排、归并、堆排(完全二叉树),其他:桶排序、基排序、基数排序)
3.数据结构及其相关算法:
①线性结构:栈、队列、链表、跳表;
②二叉树:与树有关的算法,一般包含搜索、插入、删除,二叉搜索树bst、avl 树(高度差为1,调整包括左旋、右旋、先左后右、先右后左)、红黑树(满足黑色节点和红色节点的性质);
多叉树:b树,用于磁盘或者数据库的存储与搜索;
③图结构:采用python字典结构(散列表)建图,包含不加权的广度优先搜索、狄克斯特拉加权图寻找最短到达路径;
④散列表:哈希,哈希寻址,哈希冲突;
⑤数论:欧几里得gcd求最大公约数、rsa加密解密算法;
⑥ 求topk:大根堆+比较堆顶+调整堆;
⑦ 第k大树:分治+找左最大、右最小;
标签:排序,python,算法,搜索,哈希,数据结构 From: https://www.cnblogs.com/liutianrui1/p/17916365.html