2010wgy《数据结构》总复习题参考答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
26.在一个长度为 n 的顺序表的任一位置插入一个新元素的渐进时间复杂度为( A. O(n) B. O(n/2) C. O(1) D. O(n2)
27.带头结点的单链表 first 为空的判定条件是: B A. first == NULL; C. first->link == first; B. first->link == NULL; D. first != NULL; B ) 。
二、
判断题
( ) T ) ( F
1、只允许在表的一端进行插入和删除操作的线性表称为堆栈。 2、没有元素的堆栈称为空栈,空栈用不着栈顶指针。 3、二叉树的度一定为 2。 (F ) (T ) (F ) (F ) (T )
4、满二叉树一定是完全二叉树。
5、在完全二叉树中,没有右孩子的结点一定是叶结点。 7、给定一组权值,构造出来的哈夫曼树是惟一的。 8、对图进行深度优先搜索的过程中要用到堆栈。
14.设串 sl=″Data Structures with Java″,s2=″it″,则子串定位函数 index(s1,s2)的值为( C ) A.15 C.17 B.16 D.18
15.二维数组 A[8][9]按行优先顺序存储,若数组元素 A[2][3]的存储地址为 1087,A[4][7]的存储 地址为 1153,则数组元素 A[6][7]的存储地址为( A.1207 C.1211
2、不带头结点的单链表 head 为空的判定条件是( A A. head=NULL C.head- >next=head
B.head - >next=NULL D.head!=NULL
3、非空的循环单链表 head 的尾结点(由 p 所指向)满足( C ) A. p �next==NULL C.p �next==head B.p==NULL D.p==head
3
A.前序
B.中序
C.后序
D.按层次
12.在线性表的下列运算中,不改变数据元素之间结构关系的运算是( A.插入 C.排序 B.删除 D.定位
D )
13.若进栈序列为 1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为(
B )
A.3,2,6,1,4,5 C.1,2,5,3,4,6 B.3,4,2,1,6,5 D.5,6,4,2,3,1
可以在向量的
插入和删除元素;对于队列只能在
插入元素和删除元素 hs->next==NULL p->next!==head 带头结点
24.在栈顶指针为 hs 的链栈中,判断栈空的条件是
25.非空的循环单链表 head 的尾结点(由 p 指向),满足条件
26.对于一个具有 n 个结点的单链表,在已知 p 所指向结点后插入一个新结点的时间复杂度是 O(1) ,在给定值为 x 的结点后插入一个新结点的时间复杂度是 O(n)
4、在一个单链表中,在 p 之后插入 s 所指结点,则执行(略) A. s�next =p;p �next=s; B.s�next =p�next;p �next=s;
C.s�next =p�next;p =s; D. p�next =s;s�next=p; 6、若堆栈采用顺序存储结构,正常情况下,往堆栈中插入一个元素,栈顶指针 top 的变化是( D) A.不变 B.top=0 C.top-D .top++
9、若表示某无向图的邻接矩阵中出现了全零行或者全零列,则该图一定是非连通图。 10、连通图的最小生成树是惟一的。 (F ) 15、线性表中的每个结点最多只有一个前驱和一个后继。 (T) 16、单链表从任何一个结点出发,都能访问到所有结点 (F) 17、数组是一种复杂的数据结构,数组元素之间的关系既不是线性的也不是树形的。 (F )
5、一棵深度为 6 的满二叉树有___25 -1___个非终端结点。深度从 1 开始计,此处“满”指结点达到 最大个数。 6、若一棵二叉树中有 8 个度为 2 的结点,则它有__9___个叶子。性质 3 7、 设数组 A[1..10,1..8]的基地址为 2000,每个元素占 2 个存储单元,若以行序 8、为主序顺序存储, 则元素 A[4,5]的存储地址为 __2056___;若以列序为主序顺序存储 ,则元素 A[4,5]的存储地址为 ___2086___。行序:2000+((4-1)*8+(5-1))*2=2056 9、哈希表是一种查找表,可以根据哈希函数直接获得 存储地址 。 p->next= p->next->net
29. 给出不同的输入序列建造二叉排序树,一定得到不同的二叉排序树。(
30. 希尔排序的最后一趟与直接插入排序过程相同,因此前者一定比后者花费的时间多。( 只是原理相同
三、
选择题
( A) B.顺序存储的线性结构 D.限制存取位置的非线性结构 ) 、
1、栈和队列都是(
A.限制存取位置的线性结构 C.链式存储的线性结构
1
27.带有一个头结点的单链表 head 为空的条件是 28.在 hq 的链队列中,判定只有一个结点的条件是
head->next==NULL 带头结点
带头结点
29.在一个长度为 n 的循环链表中,删除其元素值为 x 的结点的时间复杂度为 __ O(n)____。 30.已知一棵二叉树的先序序列为 ABCD ,中序序列为 BCAD ,则它的后序序列为 __cbda____。 31.对关键字序列 (50, 34,92,19, 11,68,56, 41,79) 进行直接插入排序,当将第 7 个关键字 56 插入到当前的有序子表中时,为寻找插入位置需进行 ___3___次关键字之间的比较。 32.将有序表中 n 个元素依次插入到一棵空的二叉排序树中,则在等概率查找的情况下,该二叉排 序 树在查找成功时的平均查找长度是 __(n+1)/2____。特别注意是有序表 33.已知二叉树中叶子数为 50,仅一个孩子的结点数为 30,则总结点数____。度为 2 的结点数 49 34.直接选择排序算法在最好情况下所作的交换元素的次数为____0________。 35.有 n 个顶点的连通图至少有_n-1___条边。 36.在双向链表中,删除指针 P 所指结点的语句序列是_______略_____________________,在 p 之 后插入 s 节点的语句序列是___________________略___________________________________。 37.在有 n 个叶子结点的哈夫曼树中,总结点数是 __略__。 38.在有序表 A[1..18]中,采用二分查找算法查找元素值等于 A[7]的元素,所比较过的元素的下标 依次为____________________。9,4,6,7 39.链表对于数据元素的插入和删除不需移动结点,只需改变相关结点的 ____指针____域的值。 40.在一个链式栈中,若栈顶指针等于 NULL 则为__空______。 41.n (n﹥0) 个顶点的无向图最多有____n(n-1)/2____条边,最少有____0____条边。
A
)
A B C D
)相对而言最好效率是有向稠密图
A.无向图 C.稠密图
B.有向图 D.稀疏图
21.在对 n 个关键字进行直接选择排序的过程中,每一趟都要从无序区选出最小关键字元素,则在 进行第 i 趟排序之前,无序区中关键字元素的个数为( A.i C.n-i
C )
B.i+1 D.n-i+1
23.若有序表的关键字序列为(b,c,d,e,f,g,q,r,s,t),则在二分查找关键字 b 的过程中,先后进 行比较的关键字依次为( A.f,c,b C.g,c,b 24.
Fra Baidu bibliotek
A
) B.f,d,b D.g,d,b D 存储方式最节省
若线性表最常用的操作是存取第 i 个元素及其前驱元素的值,则采用
运算时间。
4
A. 单链表 25.
B. 双链表
C. 单循环链表
D. 顺序表 A 。
折半查找法要求查找表中各元素的键值必须是 A. 递增或递减 B. 递增 C. 递减
D. 无序 ) 。
(T )
18. 链式存储在插入和删除时需要保持物理存储空间的顺序分配, 不需要保持数据元素之间的逻辑 顺序。( F)
19. 在用循环单链表表示的链式队列中,可以不设队头指针,仅在链尾设置队尾指针。 (T )
2
20. 当从一个小根堆(最小堆)中删除一个元素时,需要把堆尾元素填补到堆顶位置,然后再按条 件把它逐层向下调整,直到调整到合适位置为止。 (T ) 21. 对于一棵具有 n 个结点,其高度为 h 的二叉树,进行任一种次序遍历的时间复杂度为 O(h)。F 22. 存储图的邻接矩阵中, 邻接矩阵的大小不但与图的顶点个数有关, 而且与图的边数也有关。 (F ) 23. 直接选择排序是一种稳定的排序方法。 (F ) 24. 线性表的唯一存储形式是链表。 (F ) 25. 在链队列中,即使不设置尾指针也能进行入队操作。 (T )但代价很大 26. 如果一个串中的所有字符均在另一串中出现,则说前者是后者的子串。 (F ) 27. 任一 AOE 网中至少有一条关键路径,且是从源点到汇点的路径中最长的一条。 ( )T 28. 若图 G 的最小生成树不唯一,则 G 的边数一定多于 n-1,并且权值最小的边有多条(其中 n 为 G 的顶点数) 。 (F )存在权值相同的边则 T T) F )
8、当在二叉排序树中插入一个新结点时,若树中不存在与待插入结点的关键字相同的结点,且新结 点的关键字小于根结点的关键字,则新结点将成为( 二叉排序树新插入的结点必为新树的 叶子 A.左子树的叶子结点 C.右子树的叶子结点 9、 对一棵二叉排序树进行( B B.左子树的分支结点 D.右子树的分支结点 ) 遍历,可以得到该二叉树的所有结点按值从小到大排列的序 列 。 A )
A
)起始地址 1024
3 个单元每元素
B.1209 D.1213
17.在任意一棵二叉树的前序序列和后序序列中,各叶子之间的相对次序关系( A.不一定相同 C.都不相同 B.都相同 D.互为逆序
B
)
19.若用邻接矩阵表示一个有向图,则其中每一列包含的 ″1″的个数为( A.图中每个顶点的入度 C.图中弧的条数 20.图的邻接矩阵表示法适用于表示( B.图中每个顶点的出度 D.图中连通分量的数目
《数据结构》学位考试总复习题 一、
有限集。 2、在线性表中,线性表的长度指的是 元素个数 。
填空题
关系 的
1、数据结构可以定义为一个两元组(D,S),其中 D 是数据元素的有限集,S 是
3、栈中元素的进出原则为 ___LIFO_________。 4、深度为 k 的二叉树其结点数至多有 2k -1 个。深度从 1 开始计
10、在单链表中,删除指针 P 所指结点的后继结点的语句是: 。最完整的:q= p->next; p->next=q ->next;free(q);
11、有向图 G 用邻接矩阵 A[1..n,1..n] 存储表示,其第 i 行的所有元素之和等于顶点 i 的 出度 。
12、在一个单 链表 p 所指结点之 后插入一个 s 所指结点时 ,应执行 s�next=__ p->next __和 p�next=_s____的操作。 13、设有 33 个值,用它们组成一棵哈夫曼树,则该哈夫曼树中共有 __33+32__个结点。 14、设需将一组数据按升序排序。在无序区中依次比较相邻两个元素 ai 和 ai+1 的值,若 ai 的值大于 ai+1 的值,则交换 ai 和 ai+1。如此反复,直到某一趟中没有记录需要交换为止,该排序方法被称为 _ 每次都比较相邻元素为冒泡算法________。 16、一棵含 999 个结点的完全二叉树的深度为__10_____。深度从 1 开始计,210-1=1023 19、在一个长度为 n 的单链表 L 中,删除链表中*p 的前驱结点的时间复杂度为____O( n)_____。 20、在队列中,允许插入元素的一端称为 ____队尾_____。 21、 在有 n 个叶子结点的哈夫曼树中,其结点总数为 __n+(n-1)_______。 22.在具有 n 个单元的循环队列中,队满时共有 23.向量、栈和队列都是 栈只能在 结构, n-1 个元素 位置插入和删除元素;对于