第二章 线性表
第三章 栈,队列和数组
第四章 串
由于模式串匹配的next数组以及nextval数组不易归纳为思维导图,故附上笔记如下
第五章 树和二叉树
对应笔记:
①树的基本性质证明
②线索二叉树的构造
③哈夫曼树的构造及哈夫曼编码
④并查集
对于该部分,咸鱼在课上讲的Union优化那里,有一个小树并入大树的操作,根据王道咸鱼学长所讲,他的意思是小树指的是结点少的树,大树指的是结点多的树,但是根本上来说。只有树高才能影响到算法效率,但是结点数的多少并不能决定树高阿,我看很多博客里也是这么说,等搞明白后再更新
·································································································································想通了,开更,对于并查集Union操作的优化我的理解如下:
首先,Union操作的实质还是“矮树并入高树”,而Union的优化操作分为两个分别是基于size优化和基于rank优化。
size优化就是咸鱼所提到的小树(结点少的树)并入大树(结点多的树),因为一般情况下,结点少的树都比结点多的树矮。
而rank优化相当于是对size优化的优化,rank优化直接让矮树并入高树,这样就直接使得树高不会发生改变,这样就可以保证算法效率。
第六章 图
此章的笔记主要包括:Prim算法的手算过程;Kruskal算法的手算过程;Dijkstra算法的经典题型;Floyd算法的经典题型;有向无环图的表达式;AOE网(需要好好理解)的题型。
更正一下:上述AOE网的真题中,①的vl(事件的最晚发生时间)应该是0