个人记录 错题
用邻接表法存储图,占用的存储空间数只与图中结点个数有关,而与边数无关。(3分)
如果无向图G必须进行两次广度优先搜索才能访问其所有顶点,则G中一定有回路。(3分) F
对于顺序存储的长度为N的线性表,删除第一个元素和插入最后一个元素的时间复杂度分别对应为O(1)和O(N)。(3分) F 都是O(1)
通过对堆栈S操作:Push(S,1), Push(S,2), Pop(S), Push(S,3), Pop(S), Pop(S)。输出的序列为:123。(3分) F
在用数组表示的循环队列中,front值一定小于等于rear值。(2分) F
已知一棵二叉树的先序遍历结果是ABC, 则CAB不可能是中序遍历结果。(3分) T
将一棵完全二叉树存于数组中(根结点的下标为1)。则下标为23和24的两个结点是兄弟。(3分) F
若一棵平衡二叉树的所有非叶结点的平衡因子都是0,则其必为完美二叉树。 (3分) T 完美二叉树 是完全二叉树 ,但完全二叉树不一定是完美二叉树
在一棵由包含4、5、6等等一系列整数结点构成的二叉搜索树中,如果结点4和6在树的同一层,那么可以断定结点5一定是结点4和6的父亲结点。(3分) F
算法分析的两个主要方面是时间复杂度和空间复杂度的分析。(2分) T
在并查集问题中,已知集合元素0~8所以对应的父结点编号值分别是{ 1, -4, 1, 1, -3, 4, 4, 8, -2 }(注:−n表示树根且对应集合大小为n),那么将元素6和8所在的集合合并(要求必须将小集合并到大集合)后,该集合对应的树根和父结点编号值分别是多少?(4分) D.4和-5
设一段文本中包含字符{a, b, c, d, e},其出现频率相应为{3, 2, 5, 1, 1}。则经过哈夫曼编码后,文本所占字节数为:(4分) D.25
下列哪个函数是O(N)的?(4分) B.log(N^2)
设 n 是描述问题规模的非负整数,下列程序段的时间复杂度是:(4分)
x = 0; while ( n >= (x+1)*(x+1) ) x = x+1;
循环顺序队列中是否可以插入下一个元素()。(4分) B.与队头指针和队尾指针的值有关
若某图的深度优先搜索序列是{V1, V4, V0, V3, V2},则下列哪个图不可能对应该序列?(4分) D
D.
在将数据序列( 6, 1, 5, 9, 8, 4, 7 )建成大根堆时,正确的序列变化过程是:(4分) A.6,1,7,9,8,4,5 → 6,9,7,1,8,4,5 → 9,6,7,1,8,4,5 → 9,8,7,1,6,4,5
假设有5个整数以1、2、3、4、5的顺序被压入堆栈,且出栈顺序为3、5、4、2、1,那么为了获得这样的输出,堆栈大小至少为:(4分) D.4
将{5, 2, 7, 3, 4, 1, 6}依次插入初始为空的二叉搜索树。则该树的后序遍历结果是:(4分) A.1, 4, 3, 2, 6, 7, 5
已知一棵完全二叉树的第6层(设根为第1层)有8个叶结点,则该完全二叉树的结点个数最多是:(4分) B.111 第六层装满结点32个(最后8个为叶结点) 第七层只有前24*2个结点 共 2^6-1+24*2=111个
三叉树中,度为1的结点有5个,度为2的结点3个,度为3的结点2个,问该树含有几个叶结点?(4分) B.8 对于度为m叉树 ,有 n(0)=n(2)+2*n(m)+1
设h
为不带头结点的单向链表。在h
的头上插入一个新结点t
的语句是:(4分) C.t->next=h; h=t;
h=t; t->next=h->next;
t->next=h->next; h=t;
t->next=h; h=t;
h=t; t->next=h;
下列代码的功能是将小顶堆H
中指定位置P
上的元素的整数键值下调D
个单位,然后继续将H
调整为小顶堆。
void DecreaseKey( int P, int D, PriorityQueue H )
{
int i, key; key = H->Elements[P] - D; for ( i =/*填空处1 (6分)*/; H->Elements[i/2] > key; i/=2 ) /*填空处2 (6分)*/; H->Elements[i] = key; }
填空处 1. P 2. H->Elements[i] =H->Elements[i/2]
下列代码的功能是返回带头结点的单链表L
的逆转链表。
List Reverse( List L )
{
Position Old_head, New_head, Temp;
New_head = NULL; Old_head = L->Next; while ( Old_head ) { Temp = Old_head->Next; /*填空处1 (6分)*/; New_head = Old_head; Old_head = Temp; } /*填空处2 (6分)*/; return L; }
填空处 1. Temp->next = Old_head 2. L->next=New_head