数据结构与算法
下列数据中,( )是非线性数据结构。
当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用顺序存储结构。
集合与线性表的区别在于是否按关键字排序。
顺序存储方式插入和删除时效率太低,因此它不如链式存储方式好。
对于一个具有n个结点的单链表,在已知的结点p后插入一个新结点的时间复杂度为O(1),在给定值为x的结点后插入一个新结点的时间复杂度为O(n)。
循环单链表的最大优点是:从任一结点出发都可访问到链表中每一个元素。
循环单链表的最大优点是:从任一结点出发都可访问到链表中每一个元素。
栈是实现过程和函数等子程序所必需的结构。
循环队列的引入,目的是为了克服假溢出时大量移动数据元素。
数组可看成线性结构的一种推广,因此与线性表一样,可以对它进行插入、删除等操作。
稀疏矩阵的压缩存储有两种方式:三元组表和十字链表。
当一棵有n个结点的二叉树按层次从上到下,同层次从左到右将数据存放在一维数组 A[l...n]中时,数组中第i个结点的左孩子为2i。
哈夫曼树是带权路径最短的树,路径上权值较大的结点离根较近。
对于有N个结点的二叉树,其高度为log2n。
用邻接矩阵法存储一个图所需的存储单元数目与图的边数有关。
无向图的邻接矩阵一定是对称矩阵,有向图的邻接矩阵一定是非对称矩阵。
Prim(普里姆)算法适用于求稠密网的最小生成树;kruskal(克鲁斯卡尔)算法适用于求稀疏网的最小生成树。
Dijkstra最短路径算法从源点到其余各顶点的最短路径的路径长度按路径长度依次递增的次序依次产生最短路径。
折半查找法的查找速度一定比顺序查找法快 。
在任意一棵非空二叉排序树中,删除某结点后又将其插入,则所得二叉排序树与原二叉排序树相同。