随笔分类 - 算法与数据结构
经典的算法与数据结构!
摘要:红黑树 简介 一直想写的一种数据结构,非常厉害的思想,插入,删除,查找,修改,都是$log_2 n$的时间复杂度。 比AVL更强大的是,插入删除综合效率比AVL要优秀一点。 性质 一颗红黑树是满足 的二叉搜索树: 1. 每个节点是红色或者黑色的。 2. 根节点是黑色的。 3. 每个叶节点(NIL)是
阅读全文
摘要:思路 二叉排序树,二叉搜索树好像都行,原理应该都懂,比较基础,但要写出来还是有相当大的难度的。 查找 查找比较简单,基本都是一个while就解决。但查前驱与后继较难,可能需要上溯父节点。 任意键值 查最值 查某键值的前驱或后继 先序,中序,后序遍历 修改 修改键 值对,这个非常简单,查找出来即可。
阅读全文
摘要:思路 利用二分思想,划分左右区间,并让左右区间排序完成后,进行合并 C++ include include include using namespace std; define MX 100005 / / int cparr[MX]; /// 归并排序 void mergesort(int arr
阅读全文
摘要:思路 堆的原理就是每个节点保存以自身为根的树的最值。 那么左右子树,根节点也有此性质。 由此,较难的点便是插入与删除的树的调整。 C++ include include using namespace std; define INF 0x3f3f3f3f3f3f3f3f define MX 2000
阅读全文
摘要:思路 思路比较简单,不断划分区间即可 先序遍历的字符串的首字符肯定是树的根节点,而中序遍历的字符串的左右子树肯定被根分割开。
阅读全文
摘要:今天,看了KMP,首先是在网上看的,看了很久没看懂,有很多思想,很多next的推导,就相当于很多的版本,后来,去看了<<大话数据结构>>这本书,才看懂,这KMP的神奇之处,这本书写得很详细,非常好理解,对于KMP的思想,对于next的推导,next的优化,都说得比较好理解。看懂后,才惊觉,网上的很多
阅读全文

浙公网安备 33010602011771号