刷题6

1:线性表L=(a1,a2,a3…,an),下列陈述正确的是(D)
A:每个元素都有一个直接前驱和直接后继
B:线性表中 至少有一个元素
C:表中元素的排列必须是由小到大或由大到小
D:除第一个和最后一个元素外,其余每个元素都有且仅有一个直接前驱和直接后继
解析:线性表中元素第一个元素有后继,最后一个元素有前驱,剩下元素都有且仅有一个前驱和后继
2:设非空二叉树的所有子树中,其左子树上的结点值均小于根结点值,而右字树上的结点值均不小于根节点值,则称该二叉树为排序二叉树,对排序二叉树的遍历结果为有序序列的是(A)
A:中序序列
B:前序序列
C:后序序列
D:前序序列或后序序列
解析:左子树上的值小于根节点,所以有序序列先遍历左子树即左中右,即中序遍历
3:对一个满二叉树,m个叶子n个结,深度点为h,则(D)
A:n = h + m
B:h + m = 2n
C:m = h - 1
D:n = 2^h – 1
解析:深度为h的二叉树至多有2^h-1个结点,此树为二叉树为满二叉树,符合此公式
4:用链表表示线性表的优点是(C)
A:便于随机存储
B:花费的存储空间比顺序表少
C:便于插入和删除
D:数据元素的物理顺序与逻辑顺序相同
解析:链表插入和删除不需要移动元素的位置,只需要将指针指向地址改变
5:为查找某一特定单词在文本中出现的位置,可应用的串运算是(D)
A:插入
B:删除
C:串连接
D:子串定位
6:由权值分别为3,8,6,2的叶子生成一颗哈夫曼树,它的带权路径长度为(B)
A:11
B:35
C:19
D:53
解析:(3+2)3+62+8*1=35
7:若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用(A)存储方式最节省时间
A:顺序表
B:双链表
C:带头结点的双循环链表
D:单循环链表
解析:存取任意元素并且只在最后进行插入和删除 顺序表可以
8:在单链表中,要将s所指结点插入到p所指结点之后,其语句应为(D)
A:s->next=p+1; p->next=s;
B:(*p).next=s; (*s).next=(*p).next
C:s->next=p->next; p->next=s->next;
D:s->next=p->next; p->next=s;
9:已知一个二叉树的前序遍历结果是(ACDEFHGB) ,中序遍历结果是(DECAHFBG),请问后续遍历结果是(B)
A:HGFEDCBA
B:EDCHBGFA
C:BGFHEDCA
D:EDCBGHFA
E:BEGHDFCA
F:BGHFEDCA
解析:根据前序遍历和中序遍历构造二叉树,得出后序遍历顺序
10:单循环链表的主要优点是(A)。
A:从表中任一结点出发都能扫描到整个链表
B:不再需要头指针了
C:在进行插入、删除操作时,能更好地保证链表不断开
D:已知某个结点的位置后,能够容易找到它的直接前趋

猜你喜欢

转载自blog.csdn.net/g_l_xz/article/details/83066308
今日推荐