2.23专项测试复盘
-
将关键字序列50,40,95,20,15,70,60,45,80调整成一个小根堆,堆结构是15,20,60,45,40,70,95,50,80()。
解析:创建堆的基本思想:先把无序的关键字按顺序构造成完全二叉树,从最后一个分支节点开始往前,不断地利用筛选算法,将一棵棵子树调整为一个堆(让根与其左右子节点比,将他们三个最小的值选出来作为根,反复交换使所有结点满足小根),一直进行到完全二叉树的根节点为止。
答案:√ -
设某强连通图中有 n 个顶点,则该强连通图中最小的边数为n,最大边数为n(n-1)。
-
AOE网应该是一个( 无环图 )。
-
链接线性表是顺序存取的线性表 。
-
无向图特有:连接多重表。有向图特有:十字链表,边集数组。二者共有:邻接表,邻接矩阵。
-
非空广义表的表头可以是原子或子表,表尾一定是子表
-
对于一个含n个元素的无序数组,构建一个大顶堆(Max-Heap),该操作的时间复杂度是O(n)。
-
定义语句"double * array [8]"的含义正确的是(array是一个数组,数组的每一个元素是指向双精度实型数据的指针)。
-
给出以下定义:
Char x[]=”abcdefg”;
Char y[]={‘a’,’b’,’c’,’d’,’e’,’f’,’g’};A. 数组X和数组Y等价
B. 数组X和数组Y的长度相同
C. 数组X的sizeof运算值大于数组Y的sizeof运算值
D. 数组X的sizeof运算值小于数组Y的sizeof运算值解析:x如此定义会在后面添加'\0',所以x比y多一个结束符号
答案:C -
若X是二叉树中序线索树中一个有左孩子的结点,且X不为根,则X的前驱为X的左子树中最右结点
-
广义表长度=属于最外层括号的逗号数加一。
广义表深度=删除几层括号后可成为一个序列。 -
将N条长度均为M的有序链表进行合并,合并以后的链表也保持有序,时间复杂度为(O(N * M * logN))。
-
现有一完全的P2P共享协议,每次两个节点通讯后都能获取对方已经获取的全部信息,现在使得系统中每个节点都知道所有节点的文件信息,共n个节点,假设只能通过多次两个对等节点之间通讯的方式,则最少需要(2n-4)次通讯
-
单循环链表的主要优点是(从表中任一结点出发都能扫描到整个链表)。
-
建立一个长度为n的有序单链表的时间复杂度为(O(n^2))。
-
有一个100*90的稀疏矩阵,非0元素有10个,设每个整型数占2字节,则用三元组表示该矩阵时,所需的字节数是()
A. 60
B. 66
C. 18000
D. 33解析:每个非零元素占3 * 2=6个字节,共10个非零元素,需6 * 10 = 60 个字节;
此外,还一般要用三个整数来存储矩阵的行数、列数和总元素个数,又需要3 * 2 = 6个字节;
总共:60 + 6 = 66 个字节。
答案:B