收藏 分享(赏)

(大题)数据结构练习题(1).doc

上传人:hyngb9260 文档编号:7226019 上传时间:2019-05-10 格式:DOC 页数:26 大小:304.97KB
下载 相关 举报
(大题)数据结构练习题(1).doc_第1页
第1页 / 共26页
(大题)数据结构练习题(1).doc_第2页
第2页 / 共26页
(大题)数据结构练习题(1).doc_第3页
第3页 / 共26页
(大题)数据结构练习题(1).doc_第4页
第4页 / 共26页
(大题)数据结构练习题(1).doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

1、1模拟练习题一、单项选择题1、若某线性表中最常用的操作是取第 i 个元素和查找第 i 个元素的的前驱元素,则采用( A)的存储方式最节省时间。A顺序表 B双链表C单链表 D单循环链表2、与数据元素本身的形式、内容、相对位置、个数无关的是数据的( C ) 。A存储结构 B存储实现C逻辑结构 D运算实现3、用链表表示线性表的优点是 ( C) 。A便于随机存取 B.花费的存储空间较顺序存储少C便于插入和删除 D.数据元素的物理顺序与逻辑顺序相同4、设单向循环链表中结点的结构为(data, link) ,且 rear 是指向非空的带表头结点的单向循环链表的尾结点的指针。若想删除该链表的第一个结点,则应

2、执行下列哪一个操作?(D )As=rear; rear=rear-link; free(s); Brear=rear-link; free(rear);C rear=rear-link -link; free(rear); Ds=rear-link-link; rear-link-link=s-link; free(s);5、设双向循环链表中结点的结构为(data, lLink, rLink) ,且不带表头结点。若想在指针 p所指结点之后(右链方向)插入指针 s 所指的结点,则应执行下列哪个操作?( D )Ap- rLink =s;s- lLink=p;p-rLink-lLink=s;s-rL

3、ink=p-rLinkBp- rLink =s; p-rLink-lLink=s;s-lLink=p; s-rLink=p-rLinkC s-lLink=p;s-rLink=p-rLink;p-rLink=s;p-rLink-lLink=s;Ds- lLink=p;s-rLink=p-rLink;p-rLink-lLink=s;p-rLink=s;6、在具有 n 个结点的有序单链表中插入一个新结点并使该链表仍然有序的时间复杂度是( B ) 。AO(1) BO(n)C O(nlogn) DO(n 2)7、设单循环链表中结点的结构为(data, link) ,且 rear 是指向非空的带表头结点的

4、单循环链表的尾结点的指针。若想删除链表第一个结点,则应执行下列哪个操作?(D ) 。As =rear; rear=rear-link; delete s; 2Brear=rear-link; delete rear;C rear=rear-link-link; delete rear;Ds=rear-link-link;rear-link-link=s-link; delete s;8、将下图所示的 s 所指结点加到 p 所指结点之后,其语句为( C) 。pnextsnextAs-next=p+1 ;p-next=s; B(*p).next=s;(*s).next=(*p).next;C s-

5、next=p-next;p-next=s; Ds-next=p-next;p-next=s-next;9、队列和栈的主要区别是( D) 。A逻辑结构不同 B存储结构不同C所包含的运算个数不同 D限定插入和删除操作的位置不同10、已知广义表的表头为 a,表尾为( b,c) ,则此广义表为( B ) 。A (a , (b,c) ) B (a,b,c)C ( a) ,b , c) D (a,b,c) )11、对表长为 n 的顺序表进行顺序查找,在查找概率相等的情况下,查找成功的平均查找长度为( C ) 。A(n-1)/2 Bn/2C (n+1)/2 Dn12、如图所示的 4 棵树中,是满二叉树的为

6、(A ) 。(A) (B) (C) (D)13、一个二叉树按顺序方式存储在一个维数组中,如图0 1 2 3 4 5 6 7 8 9 10 11 12 13 14A B C D E F G H I J则结点 E 在二叉树的第( C )层。3A1 B、2C 3 D414、 n 个顶点的强连通图中至少含有( B ) 。An-l 条有向边 Bn 条有向边C n(n-1)2 条有向边 Dn(n-1)条有向边15、对有 n 个结点的顺序表进行快速排序,在最坏情况下其关键码比较次数为(D ) 。AO(n) BO(log 2n)C O(nlog2n) DO(n 2)16、在下面各种链表结构中,能在 O(1)

7、时间内完成在指定结点之前插入元素 X 的结构是( D ) 。A单链表 B单向循环链表C带表头结点的单链表 D双向循环链表17、若让元素 1,2,3 依次进栈,则出栈次序不可能出现( A ) 。A3 ,1 ,2 B2,1 ,3 C 3,2,1 D1 ,3,2 18、如图所示的 4 棵树中,不是完全二叉树的为 ( C ) 。A B C D19、设只包含根结点的二叉树的高度为 0,则高度为 k 的二叉树的最大结点数为( B ) 。A2 k B2 k+1-1 C 2k+1 D 2k-1+120、某棵二叉树按顺序方式存储在一维数组中,如下图0 1 2 3 4 5 6 7 8 9 10 11 12 13

8、14A B C D E F G H I J则结点 E 在二叉树的第(C )层。A1 B2 C 3 D421、含有 n 个结点的二叉链表中,空链域个数为( B ) 。An Bn+1 C2n Dn 222、广义表 A(a) ,则表尾为( C) 。4Aa B()C空表 D (a)23、向一个有 127 个元素的顺序表中插入一个新元素并保持元素原来的先后关系不变,在等概率情况下平均要移动( B )个元素。A、8 B、63.5C、63 D、724、设单链表中结点的结构为(data, link) 。已知指针 q 所指结点是指针 p 所指结点的直接前驱,若在*q 与*p 之间插入结点*s,则应执行下列哪个操

9、作?( B )As-link=p-link;p-link=s; Bq-link= s -link; q-link= s;Cp-link=s-link;s-link=p; Dp-link=s; s-link=q;25、设单向循环链表中结点的结构为(data, link) ,且 rear 是指向非空的带表头结点的单向循环链表的尾结点的指针。若想删除该链表的第一个结点,则应执行下列哪一个操作?( D )As=rear; rear=rear-link; free(s); Brear=rear-link; free(rear);Crear=rear-link -link; free(rear); Ds=

10、rear-link-link; rear-link-link=s-link; free(s);26、根据二叉树的定义,二叉树有( B )种形态。A. 6 B. 5 C. 4 D. 327、一棵有 100 个结点的完全二叉树从根这一层开始,每一层中从左到右依次对结点进行编号,根结点的编号为 1,则编号为 49 的结点的左子女编号为( A ) 。A. 98 B. 99 C. 50 D. 4828、如图所示的 4 棵树中,不是完全二叉树的为( C ) 。A B C D29、广义表 A(a) ,则表尾为( C ) 。Aa B() C空表 D (a)30、从顺序表2,5,7,10,14,15,18,23

11、,35,41,52中用折半搜索法搜索出元素18 需要做( A )次比较。A3 B4 5C5 D731、n 个顶点的连通图至少有(A)条弧。An-1 Bn Cn+1 D032、顺序存储结构( C ) 。A仅适合于静态查找表的存储B仅适合于动态查找表的存储C既适合静态又适合动态查找表的存储D既不适合静态又不适合动态查找表的存储33、循环链表最大的优点是( D )A已知某个结点的位置后,能够直接找到它的直接前驱B在进行插入、删除等运算时,能够很好地保证链表连续C不再需要头指针D从表中任一结点出发都能扫描到整个链表34、判断头指针为 head 的带头结点的单链表为空的条件是( B ) 。Ahead=N

12、ULL Bhead-next=NULLChead-next=head Dhead!=NULL35、设双向循环链表中结点的结构为(data, lLink, rLink) ,且不带表头结点。若想在指针 p 所指结点之后(右链方向)插入指针 s 所指的结点,则应执行下列哪个操作?( )Ap- rLink =s;s- lLink=p;p-rLink-lLink=s;s-rLink=p-rLinkBp- rLink =s; p-rLink-lLink=s;s-lLink=p; s-rLink=p-rLinkCs-lLink=p;s-rLink=p-rLink;p-rLink=s;p-rLink-lLin

13、k=s;Ds-lLink=p;s-rLink=p-rLink;p-rLink-lLink=s;p-rLink=s;36、若让元素 1,2,3 依次进栈,则出栈次序不可能出现( B ) 。A3,2,1 B3,1,2 C2,1,3 D1,3,2 37、如图所示的 4 棵树中,不是完全二叉树的为 ( C ) 。A B C D38、将含有 98 个结点的完全二叉树从根这一层开始,每层从左至右依次对结点进行编号,6根结点的编号为 1。则编号为 76 的结点的双亲结点的编号为( C ) 。A36 B37 C38 D不确定39、含有 n 个结点的二叉链表中,空指针个数为( B ) 。An Bn+1 C2n

14、Dn 240、n 个顶点的连通图至少有( A )条弧。An-1 Bn Cn+1 D041、线性表采用链表存储时,其地址( D )A.必须是连续的 B.一定是不连续的C.部分地址必须是连续的 D.连续与否均可以42.链表不具备的特点是( A )A.可随机访问任一结点 B.插入删除不需要移动元素C.不必事先估计存储空间 D.所需空间与其长度成正比43.与单链表相比,双链表的优点之一是( D )A.插入、删除操作更简单 B.可以进行随机访问C.可以省略表头指针或表尾指针 D.访问前后相邻结点更灵活44.在一个长度为 n(n1)的带头结点的单链表 h 上,另设有尾指针 r(指向尾结点),执行( B )

15、操作与链表的长度有关。A.删除单链表中的第一个元素 B.删除单链表中的最后一个元素C.在单链表第一个元素之前插入一个新元素 D.在单链表最后一个元素后插入一个新元素45.两个串相等必有串长度相等且( B )A.串的各位置上的字符任意 B.串中各位置上的字符均对应相等C.两个串含有相同的字符 D.两个串所含字符任意46、算法原则上都是能够有机器或人所完成的。整个算法好象是一个解决问题的“工作序列” ,其中的每一步都是我们力所能及的一个动作,这是算法的( D )A、正确性 B、有穷性 C、确定性 D、可行性47线性表采用链式存储时,其地址(D ) 。(A) 必须是连续的; (B) 部分地址必须是连

16、续的; (C) 一定是不连续的; (D) 连续与否均可以。 48下面关于线性表的叙述错误的是( D ) 。(A) 线性表采用顺序存储,必须占用一片地址连续的单元;7(B) 线性表采用顺序存储,不便于进行插入和删除操作;(C) 线性表采用链式存储,不必占用一片地址连续的单元;(D) 线性表采用链式存储,不便于进行插入和删除操作;49. 若某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( D )存储方式最节省运算时间。(A) 单链表 (B) 仅有头指针的单循环链表 (C) 双链表 (D) 仅有尾指针的单循环链表50假定一个链队的队首和队尾指针分别为 front 和

17、rear,则判断队空的条件为( A )(A) front=rear (B) front!=NULL (C) rear!=NULL (D) front=NULL51、在解决计算机主机与打印机之间速度不匹配问题时,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,打印机则从该缓冲区取出数据打印。该缓冲区应该是一个( B )结构。A.堆栈 B. 队列 C.数组 D.线性表52、用链表表示线性表的优点是(C ) 。(A)便于随机存取 (B)花费的存储空间较顺序存储少(C)便于插入和删除 (D)数据元素的物理顺序与逻辑顺序相同53、当利用长度为 N 的数组顺序存储一个栈时,假定用 top=

18、N 表示栈空,则向这个栈插入一个元素时,首先应执行(B )语句修改 top 指针。A.top+ B.top- C.top D.top=054、设一棵二叉树中,度为 1 的结点数为 9,则该二叉树的叶子结点的数目为( D )A.10 B.11 C.12 D.不确定55、有 8 个顶点的无向连通图最少有( C)条边。A.5 B.6 C.7 D.856、一个算法必须在执行有穷步之后结束,这是算法的( B ) 。A、正确性 B、有穷性 C、确定性 D、可行性57线性表是( A ) 。(A)一个有限序列,可以为空;(B) 一个有限序列,不能为空(C) 一个无限序列,可以为空 (D) 一个无序序列,不能为

19、空。 58对顺序存储的线性表,设其长度为 n,在任何位置上插入或删除操作都是等概率的。插入一个元素时平均要移动表中的( A )个元素。(A) n/2 (B) n+1/2 (C) n-1/2 (D) n 859.线性表采用链式存储时,其地址( D ) 。(A) 必须是连续的; (B) 部分地址必须是连续的; (C) 一定是不连续的; (D) 连续与否均可以。 60用链表表示线性表的优点是( C ) 。(A)便于随机存取 (B)花费的存储空间较顺序存储少(C)便于插入和删除 (D)数据元素的物理顺序与逻辑顺序相同61、栈中元素的进出原则是( B )A.先进先出 B.后进先出 C.栈空则进 D.栈满

20、则进62、判定一个栈 ST(最多元素为 m0)为空的条件是( B )A.ST-toptop=-1 C. ST-toptop=m063、当利用长度为 N 的数组顺序存储一个栈时,假定用 top=N 表示栈空,则向这个栈插入一个元素时,首先应执行( B )语句修改 top 指针。A.top+ B.top- C.top D.top=064、设一棵二叉树中,度为 1 的结点数为 9,则该二叉树的叶子结点的数目为( D )A.10 B.11 C.12 D.不确定65、有 8 个顶点的无向图最多有(B)条边。A.14 B.28 C.56 D.11266、算法的每一步必须有确切的定义,也就是说,对于每步需要

21、执行的动作必须严格、清楚地给出规定,这是算法的( C ) 。A、正确性 B、有穷性 C、确定性 D、可行性67顺序存储的线性表,设其长度为 n,在任何位置上插入或删除操作都是等概率的。插入一个元素时平均要移动表中的( A )个元素。(A) n/2 (B) n+1/2 (C) n -1/2 (D) n 68下面关于线性表的叙述错误的是( D ) 。(A) 线性表采用顺序存储,必须占用一片地址连续的单元;(B) 线性表采用顺序存储,不便于进行插入和删除操作;(C) 线性表采用链式存储,不必占用一片地址连续的单元;(D) 线性表采用链式存储,不便于进行插入和删除操作;69.线性表采用链式存储时,其地

22、址(D ) 。(A) 必须是连续的; (B) 部分地址必须是连续的; (C) 一定是不连续的; (D) 连续与否均可以。 70判定一个队列 QU(最多元素为 m0)为满队列的条件是( A )9A.QU-rear-QU-front=m0 B.QU-rear-QU-front-1=m0 C. QU-rear=QU-front D. QU-front=QU-rear+1 71、设高度为 h 的二叉树上只有度为 0 和度为 2 的结点,则此类二叉树中所包含的结点数至少为( C )A.2h B.2h+1 C.2h-1 D.h+172、深度为 5 的二叉树至多有( C )个结点。A.16 B.32 C.3

23、1 D.1073、设一棵二叉树中,度为 1 的结点数为 9,则该二叉树的叶子结点的数目为( D )A.10 B.11 C.12 D.不确定74、在一个图中,所有顶点的度数之和等于图的边数的( C )倍。A.1/2 B.1 C.2 D.475、如图所示的 4 棵树中,是满二叉树的为( A ) 。A B C D76、二维数组 A 按行优先顺序存储,其中每个元素占 1 个存储单位。若 A11的存储地址为 420,A33的存储地址为 446,则 A55的存储地址为( C ) 。A470 B471C 472 D47377、设有两个均只有头指针的单链表,若要将长度为 n 的单链表链接到长度为 m 的单链表

24、之后,则实现该功能的算法的时间复杂度为( C ) 。AO(1) BO(n)C O(m) DO(m+n)78、设单循环链表中结点的结构为(data, link) ,且 rear 是指向非空的带表头结点的单循环链表的尾结点的指针。若想删除链表第一个结点,则应执行下列哪个操作?( D )As =rear; rear=rear-link; delete s;Brear=rear-link; delete rear;C rear=rear-link-link; delete rear;10Ds=rear-link-link;rear-link-link=s-link; delete s;79、从堆中删除

25、一个元素的时间复杂度为(C ) 。AO(1) BO(n)C O(log2n) DO(nlog2n)80、对于一棵具有 n 个结点的二叉树,在其二叉链表的存储结构中,所有结点的空指针数等于( C ) 。An Bn-1C n+1 D2*n81、如图所示的 4 棵二叉树中,不是完全二叉树的为( ) 。(A) (B) (C) (D)82、利用逐点插入法建立序列(50,72 ,43,85,75,20,35 ,45,65 ,30) 对应的二叉搜索树以后,查找元素 35 要进行( )元素间的比较。A4 次 B5 次C. 7 次 D10 次83、在一个带权连通图 G 中,权值最小的边一定包含在 G 的( A

26、)中。A最小生成树 B生成树C广度优先生成树 D深度优先生成树84、一个有 n 个顶点和 n 条边的无向图一定是( A ) 。A连通的 B不连通的C无回路 D有回路85、对 n 个关键字的序列进行快速排序,其平均情况下的空间复杂度为( B ) 。AO(1) BO(log2n)C O(n) DO(nlogn)二、填空题1.在线性表的顺序存储中,元素之间的逻辑关系是通过( 元素的存储地址 )决定的。2、一个顺序栈存储于一维数组 am中,当栈顶指针等于( -1 )时,则为空栈。113、有 42 个结点的二叉树的高度最小是( 6 ) 。4、在一棵二叉树中,假定度为 2 的结点有 5 个,度为 1 的结

27、点有 6 个,则叶子结点数有( 6 )个。5、在一个最小堆中,堆顶结点的值是所有结点中的( 最小值 ) 。6、对于一个具有 n 个顶点昨 e 条边的连通图,其生成树中的边数为( n-1 ) 。7、从邻接矩阵 A= 可以看出,若该图是有向图,则共有( 4 )条边。018、直接插入排序在最好情况下的时间复杂度为( O(1) )9.在线性表的链式存储中,元素之间的逻辑关系是通过(结点中的指针 )决定的。10.在一个长度为 n 的顺序表中的第 i 个元素(1in)之前插入一个元素时,需向后移动( n-i+1)个元素。11.在一个长度为 n 的顺序表中删除第 i 个元素(1in)时,需要向前移动(n-i

28、 )个元素。12、数据的逻辑结构是从逻辑上描述数据,它与数据的(存储结构 )无关,是独立于计算机的。13、 数据的逻辑结构是从逻辑上描述数据,它与数据的( 存储结构 )无关,是独立于计算机的。14、在下面程序段中,设 n 为常数, s=s+p;语句的执行次数为( n) 。int i=0, s=0;while(+inext-next ) 。29、队列中队尾指针是随着( 进队 )操作而发生变化的。30、以折半搜索方法搜索一个线性表时,此线性表必须是( 有序的 ) 。31、在平衡的二叉搜索树中,任意结点的平衡因子的绝对值均( 不超过 1 ) 。32、在线性表的链式存储中,元素之间的逻辑关系是通过(

29、节点的指针 )决定的。33、在一个长度为 n 的顺序表中删除第 i 个元素(1in)时,若保持元素间的先后关系不变,需要向前移动( n-i)个元素。34、在顺序表(最后一个 )元素后面插入一个元素,不需要移动任何元素。35、队列的操作特点是( “先进先出” ) 。36、树中任意结点允许有零个或多个孩子结点,除根结点外,其余结点( 只有一个 )双亲结点。37、对二叉排序树进行( 中序 )遍历,可以得到按关键字从小到大排列的结点序列。38、以折半搜索方法搜索一个线性表时,此线性表必须是(有序的 ) 。39、任何一棵树的结点个数减去边数等于( 1 )40、在平衡的二叉排序树中,任意结点的平衡因子的绝

30、对值均( 不大于 1 )41.删除顺序表的(最后一个 )元素,不需要移动任何元素。42.删除顺序表的(第一个)元素,需要移动的元素最多。43.在顺序表(最后一个 )元素后面插入一个元素,不需要移动任何元素。44.在单链表中,要删除某一指定的结点,必须找到该结点的( 前驱 )结点。45.栈是一种具有( “后进先出” )操作特性的线性表。46、在线性表的顺序存储中,元素之间的逻辑关系是通过(元素的存储地址 )决定的。47、在线性表的链式存储中,元素之间的逻辑关系是通过( 结点的指针)决定的。48、在用于表示有向图的邻接矩阵中, 对第 J 列的元素进行累加, 可得到第 J 个顶点的( 入)度。49、

31、在一个长度为 n 的顺序表中删除第 i 个元素(1in)时,若保持元素原来的先后关系不变,需要向前移动( n-i)个元素。50、在单链表中,要删除某一指定的结点,必须找到该结点的(前驱)结点。51、栈是一种具有( “后进先出” )操作特性的线性表。52、循环队列的优点是( 充分利用空间,防止假溢出) 。53、有 10 个结点的二叉树的高度最大是(10 ) 。54、不加限定时,遍历二叉树有(3 )种结点排列顺序55、深度为 K(K1)的满二叉树有( 2k-1 )个结点1456.在队列中,新插入的元素只能插入到( 队尾 )57.循环队列的优点是(充分利用空间,防止假溢出 ) 。58、算法的每一步必

32、须有确切的定义,也就是说,对于每步需要执行的动作必须严格、清楚地给出规定,这是算法的( 确定性) 。59、在线性表的顺序存储中,元素之间的逻辑关系是通过(元素的存储地址 )决定的。60、在一个长度为 n 的顺序表中的第 i 个元素(1in)之前插入一个元素时,若保持元素原来的先后关系不变,需向后移动( n-i+1 )个元素。61、在单链表中,要删除某一指定的结点,必须找到该结点的( 前驱 )结点。62、循环队列的优点是(充分利用空间,防止假溢出 ) 。63、在一棵二叉树中,层次从 1 开始,第 5 层上的结点数最多为( 16 ) 。64、有 10 个结点的二叉树的高度最大是( 10 ) 。65

33、、在一棵二叉树中,假定度为 2 的结点有 5 个,度为 1 的结点有 6 个,则叶子结点数有( 6 )个。66、在用于表示有向图的邻接矩阵中, 对第 I 行的元素进行累加 , 可得到第 I 个顶点的( 出 )度。三、判断题1.线性表中每个元素都有一个直接前驱和一个直接后继。 ( F )2.线性表中所有元素的排列顺序必须由小到或由大到小。 ( F )3、向栈顺序地输入一个整数序列 1,2,3,4,5,6,能得到输出序列 3,2,5,6,4,1。 (T )4、满二叉树的结点个数一定为奇数。 ( T )5、在只有度为 0 和度为 k 的结点的正则 k 叉树中,设度为 0 的结点有 n0 个,度为 k

34、 的结点有 nk 个,则有 n0=nk+1。 ( F )6、满二叉树的结点个数不一定为奇数。 ( F )7、若有一个结点是二叉树中某个子树的中序遍历结果序列的最后一个结点,则它一定是该子树的前序遍历结果序列的最后一个结点。 ( T )8、链表插入排序方法是稳定的。 ( T )9、栈和队列的存储方式既可是顺序方式,也可是链接方式。 ( T )10、邻接表只能用于有向图的存储,邻接矩阵对于有向图和无向图的存储都适用。 ( F )11、直接插入排序中的数据比较次数与数据的初始排列无关。 (F )12、链表插入排序方法是稳定的。 (T )3.在循环单链表中,从表中任一结点出发都可以通过前后的移动操作扫

35、描整个循环链表。 ( F )1513.在单链表中,可以从头结点开始查找任何一个结点。 ( T )14.在 n 个元素进栈后,它们的出栈顺序和进栈顺序必定正好相反。 ( T )15.对顺序栈进行进栈、出栈操作,不涉及元素的前、后移动问题。 ( T )16.空串就是由空格构成的串。 ( F )17、线性表的链式存储结构优于顺序存储结构。 ( F )18、一个算法的评价主要从时间复杂度和空间复杂度来考虑。 ( T )19、在单链表中,要取得某个元素,只要知道该元素的指针即可,因此,单链表是随机存取的存储结构。 ( F )20、根据二叉树的先序和后序序列可以唯一地确定一棵二叉树。 ( F )21、无向

36、图的连通分量可以有很多个。 ( T )22、线性表的逻辑顺序与存储顺序总是一致的。 ( F )23、线性表的链式存储结构是用一组任意的存储单元来存储线性表中数据元素的。 ( T )24、线性表的顺序存储表示优于链式存储表示。 ( F )25、若有一个结点是二叉树中某个子树的中序遍历结果序列的最后一个结点,则它一定是该子树的前序遍历结果序列的最后一个结点。 ( F )26、对于同一组待输入的关键码集合,虽然各关键码的输入次序不同,但得到的二叉搜索树都是相同的。 ( F )27、将一棵树转换为二叉树后,根结点没有右子树。 ( T )28、快速排序方法是不稳定的排序方法。 ( T )29、在单链表中

37、,要取得某个元素,只要知道该元素的指针即可,因此,单链表是随机存取的存储结构。 ( F)30、二叉树是一种特殊的树。 ( T )31、无向图的连通分量只有一个。 ( F )32、线性表的链式存储结构优于顺序存储结构。 (F )33、一个算法的评价只从时间复杂度考虑。 ( F )34、在单链表中,要取得某个元素,只要知道该元素的指针即可,因此,单链表是随机存取的存储结构。 ( F )35、根据二叉树的先序和中序序列可以唯一地确定一棵二叉树。 ( T )36、无向图的连通分量可以有很多个。 ( T )37、哈希冲突是指同一个关键字对应多个不同的哈希地址。 ( F )38、N 个元素进队列的顺序和出

38、队列的顺序是一致的。 ( T )39.空串就是由空格构成的串。 ( F )1640、图 G 的最小生成树的代价一定小于其他生成树的代价。 ( T )41 一个算法的评价主要从时间复杂度和空间复杂度来考虑。 ( T )42 哈希冲突是指同一个关键字对应多个不同的哈希地址。 ( F )43 在二叉排序树中,每个结点的关键字都比左孩子关键字大,比右孩子关键小。 ( T )44 连通图的生成树包含了图中所有顶点。 ( T )45.哈夫曼树中不存在度为 1 的结点。 ( T )四、简答题1、设表示式 a+b*(c-d)-e/f 对应的语法树如图所示,请写出该语法树的前序、中序、后序、层次遍历的结果序列。

39、-+*-d/e fabc前序序列:-+a*b-cd/ef中序序列:a+b*c-d-e/f后序序列:abcd-*+ef/-2、已知一棵二叉树如下,请写出按前序、中序、后序、层次遍历时得到的结点序列。17前序序列:ABDGHJKECFIM中序序列:GDJHKBEACFMI后序序列:GJKHDEBMIFCA层次遍历: ABCDEFGHIJKM3、设输入元素为 1,2 ,3,P 和 A,输入次序为 123PA,如下图所示,经过栈后到达输出序列,当所有元素均到达输出序列后,有哪些序列可作为高级语言的变量名?123PA输入序列输入序列答:pa321,p3a21,p32a1,p321a,ap3214、设有序

40、列 30,18,3,61,14,49,请按该序列构成一棵二叉排序树,并求其查找成功时的平均查找长度。 3018 613 4914查找成功时的平均查找长度:1/6(1+2+2+3+3+4)=2.55、有 7 个带权结点,其权值分别为 3,7 ,8,2,6 ,10,14 ,试以它们为叶子结点生成一棵霍夫曼树(要求左子女的权值小于右子女) ,并求出该树的带权路径长度。 (这道题还有问题)5029 211814 15 10 117 8 5 62 3该树的带权路径长度为:14*2+7*3+8*3+10*2+2*4+3*4+6*3=1316、设有一个输入数据的序列为46,25,78,62 ,12,37,7

41、0,29 ,试根据二叉排序树的插入过程画出逐个输入以上数据而生成的二叉排序树。 (要求写出插入过程)(这道题不懂)4625 7812 37 6229 707、已知某系统在通讯时,只出现 F,T,D,S,H 五种字符,它们出现的频率依次为5,10,4,2,1,试设计 Huffman 编码。 (定义左子树为 0 右子树为 1)2212 105 73 41 2Huffman 编码为:F: 00,T:1,D:011,S:0101,H:01008、用序列(46 ,88,45,39,70 ,58,101,10,66,34)建立一棵二叉排序树,画出该树,并求在等概率情况下查找成功的平均搜索长度。(1)若左子

42、树不空,则左子树上所有结点的值均小于它的根结点的值; (2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值; (3)左、右子树也分别为二叉排序树;(66 为什么不排在 101 左下侧)4645 8839 70 10110 5834 6619平均搜索长度:1/10(1+2+2+3+3+3+4+4+5+5)=3.29、在实际应用中经常遇到的稀疏矩阵是三对角矩阵,如下图所示。在该矩阵中除主对角线及在主对角线上下最临近的两条对角线上的元素外,所有其他元素均为 0。现在要将三对角矩阵 A 中三条对角线上的元素按行优先方式存储在一维数组 B 中,且 a11存放于 B0。试给出计算 A 在三条对角

43、线上的元素 aij(1in,i-1ji+1)在一维数组 B 中的存放位置的计算公式。 (5 分) (这道题不懂)A= nnnaaa12134321a11 a12 a21 a22 a23 a32 a33 a34 ann-1 ann答:k=2*i+j-310、分别根据 Kruskal、普里姆算法的基本思想,从顶点 0 开始,给出下图的最小生成树( 要求写出生成过程)。Kruskal 算法的最小生成树如上图红线所示054 361210282516122224 1814054 361210282516122224 181420Prim 算法如图所示。11、若一个具有 n 个顶点,k 条边的无向图是一个

44、森林( nk) ,则该森林中必有多少棵树。答假设该森林中有 s 棵树:T1,T2,TS ,且每个 Ti 有 ni 个结点,ki 条边(i=1,2, ,S),由树的等价条件可知: kini1,则 kk1+k2+ks=(n1 1 )+ (n21)(ns1)n s,故 s=nk,所以该森林中必有 nk 棵树。12、假设通信电文使用的字符集为a ,b,c,d,e,f,g,字符的霍夫曼编码依次为:0110,10,110 ,111 ,00,0111 和 010。(1 )请根据编码画出该霍夫曼树,并在叶子结点中标注相应字符; (2 )若这些字符在电文中出现的频度分别为:3 ,35,13,15 ,20,5 和

45、 9,求该霍夫曼树的带权路径长度 WPL 的值。10037 6317 20 28 358 9 13 15 3 5WPL=3*4+5*4+9*3+20*2+13*3+15*3+35*2=25313、给定权值集合15,03 ,14,02,06,09 ,16,17 。根据赫夫曼算法的内容来构造相应的赫夫曼树,并计算它的带权路径长度 WPL。82e bagfdc2149 3320 29 16 1711 09 14 155 62 3WPL=2*5+3*5+6*4+9*3+14*3+15*3+16*2+17*2=22914、设有序顺序表中的元素依次为017,094,154 ,170,275,503,509 ,512,553,612,677,765,897 ,908。试画出对其进行折半搜索时的判定树(或扩充的二叉搜索树) ,并计算搜索成功的平均搜索长度和搜索不成功的平均搜索长度。509154 677017 275 553 897094 170 503 512 612 765 908答:圆圈表示搜索不成功。搜索成功的平均搜索长度:1/14(1+2*2+3*4+4*7)=45/14搜索不成功的平均搜索长度:1/15(3*1+4*14)=59/1515、已知一个无向网 G 如图所示,根据克鲁斯卡尔算法给出 G 的一棵最小生成树

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报