边刷题边学。有些题其实就只涉及到很简单的知识点。先记一些零碎的放在这里。
1.入栈出栈
2.二叉排序树中左子树上所有结点的值均小于根结点的值
3.遍历排序:
- 前序:根左右、中序:左根右、后序:左右根
- 根据前序和后序无唯一中序
4.设用链表作为栈的存储结构则退栈操作必须判别栈是否为空
5.线性结构包括:栈,队列,线性表、线性表包括:顺序表(顺序结构),链表(链结构)
6.从源点到汇点的所有路径中,具有最大路径长度的路径称为关键路径。把关键路径上的活动称为关键活动。完成整个工程的最短时间就是关键路径的长度,也就是关键路径上各活动花费开销的总和。这是因为关键活动影响了整个工程的时间,即如果关键活动不能按时完成的话,整个工程的完成时间就会延长。因此,只要找到了关键活动,就找到了关键路径,也就可以得出最短完成时间。
7.在哈希查找中,"比较"操作一般也是不可避免的
8.顺序表适合随机访问一个元素,顺序表必须按顺序存储且占用一片连续的空间,链表不一定。链表便于插入和删除。
9.循环队列
- front为队头、rear为队尾、maxSize为队列的总容量、m为队列中元素的个数:
- 队空:front = rear
- 队满:(rear + 1) % maxSize = front
- 进队:front = (front + 1) % maxSize
- 出队:rear = (rear + 1) % maxSize
- 队列中元素的个数 m = (rear - front + maxSize) % maxSize
10.拓扑结构是无环的有向图
11.把树当作一种特殊的图,树是无环的,若再加一条边就变成了带环图(n个顶点,最少n条边),反推知单棵树只有n-1条边。
12.传统矩阵相乘的方法,时间复杂度为O(n3 ),但是这不是最优的方法,最优方法为Strassen矩阵相乘发,时间复杂度降低为O(n2.81),用分治