1.栈和队列都是操作受限的线性表
2.队列采用单循环链表存储时,只需要设置队尾指针就可以使入队和出队操作的时间复杂度为O(1)
3.若队列的数据规模n可以确定,则采用顺序存储结构比链式存储结构效率更高
递归函数的调用和返回必须采用栈结构
执行广度优先搜索时,需要使用队列作为辅助空间
4.二维数计算地址LOC(i,j)=LOC(0,0)+(i*m+j)*L
i:横坐标,j:纵坐标,m:二维数组的列,L:每个数组元素的长度
例题如下
LOC(8,5)=SA+(8*10+5)*3=SA+255
5.哈夫曼树只有度为0和度为2的结点,在非空二叉树中,n0=n2+1
n=n0+n2=n0+n0-1=2n0-1(n0就是对哈夫曼编码,得到的不同码字个数)
6.在某记录中,需要先排序一组大规模的记录,其关键字为整数,若这组记录的关键字的取值均在0-9之间(含),则适宜采用计数排序算法
在某记录中,需要先排序一组大规模的记录,其关键字为整数,若这组记录的关键字基本有序,则适宜采用插入排序算法
7.二分查找法的要求:必须顺序存储结构,必须按关键字大小有序排列(待查表为有序表)
8.Prim算法:O(n²),与图中边数无关,适合稠密图。/Kruscal算法:O(elog2e),只与边有关,适合稀疏图。都是基于贪心算法的应用。
9.
10.在二叉排序树中进行查找的效率与二叉排序树的深度有关
单链表:
表中结点所占用存储空间的地址不必是连续的
在表中任意位置进行插入和删除都不用移动元素
所需空间与结点个数成正比
循环链表:
从表中任意节点出发都能遍历整个链表
在求解问题时,经过分析发现该问题具有最优子结构性质,求解过程中问题被重复求解,则采用动态规划算法
从根开始计算,到找到位于某个结点的解,回溯法(深度优先搜索)作为最基本的搜索算法,采用先序遍历的方法来构造树