《数据结构》第八章习题参考答案 (1)
《数据结构》吕云翔编著第8章查找习题解答
第8 章查找课后习题解答一、选择题1.已知一个有序表为(12,18,24,35,47,50,62,83,90,115,134),当折半查找值为90的元素时,经过()次比较后查找成功。
A 2B 3C 4D 5【解答】A2.已知10个元素(54,28,16,73,62,95,60,26,43),按照依次插入的方法生成一棵二叉排序树,查找值为62的结点所需比较次数为()。
A 2B 3C 4D 5【解答】B3.已知数据元素为(34,76,45,18,26,54,92,65),按照依次插入结点的方法生成一棵二叉排序树,则该树的深度为()。
A 4B 5C 6D 7【解答】B4.按()遍历二叉排序树得到的序列是一个有序序列。
A 前序B 中序C 后序D 层次【解答】B5一棵高度为h的平衡二叉树,最少含有个结点。
A 2hB 2 h -1C 2 h +1D 2 h -1【解答】D6.在散列函数H(k)= k mod m中,一般来讲,m应取()。
A 奇数B 偶数C 素数D 充分大的数7.静态查找与动态查找的根本区别在于()。
A 它们的逻辑结构不一样B 施加在其上的操作不同C 所包含的数据元素的类型不一样D 存储实现不一样【解答】B【分析】静态查找不涉及插入和删除操作,而动态查找涉及插入和删除操作。
8. 长度为 12的有序表采用顺序存储结构,采用折半查找技术,在等概率情况下,查找成功时的平均查找长度是(),查找失败时的平均查找长度是()。
A 37/12B 62/13C 3 9/12D 49/13【解答】A,B9. 用n个键值构造一棵二叉排序树,其最低高度为()。
A n/2B nC log2nD log2n+1【解答】D【分析】二叉排序树的最低高度与完全二叉树的高度相同10. 二叉排序树中,最小值结点的()。
A 左指针一定为空B 右指针一定为空C 左、右指针均为空D 左、右指针均不为空【解答】A【分析】在二叉排序树中,值最小的结点一定是中序遍历序列中第一个被访问的结点,即二叉树的最左下结点。
(完整word版)数据结构 第八章排序
第八章排序:习题习题一、选择题1.在所有排序方法中,关键字比较的次数与记录的初始排列次序无关的是( )。
A.希尔排序B.冒泡排序C.插入排序D.选择排序2.设有1000个无序的记录,希望用最快的速度挑选出其中前10个最大的记录,最好选用( )排序法。
A.冒泡排序B.快速排序C.堆排序D.基数排序3.在待排序的记录序列基本有序的前提下,效率最高的排序方法是( )。
A.插入排序B.选择排序C.快速排序D.归并排序’4.不稳定的排序方法是指在排序中,关键字值相等的不同记录的前后相对位置( )。
A.保持不变B.保持相反C.不定D.无关5.内部排序是指在排序的整个过程中,全部数据都在计算机的( )中完成的排序。
A. 内存储器B.外存储器C.内存储器和外存储器D.寄存器6.用冒泡排序的方法对n个数据进行排序,第一趟共比较( )对记录。
A.1B.2C.n-lD.n7.直接插入排序的方法是从第( )个记录开始,插入前边适当位置的排序方法。
A.1B.2C.3D.n8.用堆排序的方法对n个数据进行排序,首先将n个记录分成( )组。
A.1B.2C.n-lD.n9.归并排序的方法对n个数据进行排序,首先将n个记录分成( )组,两两归并。
A.1B.2C.n-lD.n10.直接插入排序的方法要求被排序的数据( )存储。
A.必须是顺序B.必须是链表C.顺序或链表D.二叉树11.冒泡排序的方法要求被排序的数据( )存储。
A.必须是顺序B.必须是链表C.顺序或链表D.二叉树12.快速排序的方法要求被排序的数据( )存储。
A.必须是顺序B.必须是链表C.顺序或链表D.二叉树13.排序方法中,从未排序序列中依次取出记录与已排序序列(初始时为空)中的记录进行比较,将其放入已排序序列的正确位置上的方法,称为( )。
A.希尔排序B.冒泡排序C.插入排序D.选择排序14.每次把待排序的记录划分为左、右两个子序列,其中左序列中记录的关键字均小于等于基准记录的关键字,右序列中记录的关键字均大于基准记录的关键字,则此排序方法叫做( )。
《数据结构(C语言版 第2版)》(严蔚敏 著)第八章练习题答案
《数据结构(C语言版第2版)》(严蔚敏著)第八章练习题答案第8章排序1.选择题(1)从未排序序列中依次取出元素与已排序序列中的元素进行比较,将其放入已排序序列的正确位置上的方法,这种排序方法称为()。
A.归并排序B.冒泡排序C.插入排序D.选择排序答案:C(2)从未排序序列中挑选元素,并将其依次放入已排序序列(初始时为空)的一端的方法,称为()。
A.归并排序B.冒泡排序C.插入排序D.选择排序答案:D(3)对n个不同的关键字由小到大进行冒泡排序,在下列()情况下比较的次数最多。
A.从小到大排列好的B.从大到小排列好的C.元素无序D.元素基本有序答案:B解释:对关键字进行冒泡排序,关键字逆序时比较次数最多。
(4)对n个不同的排序码进行冒泡排序,在元素无序的情况下比较的次数最多为()。
A.n+1B.n C.n-1D.n(n-1)/2答案:D解释:比较次数最多时,第一次比较n-1次,第二次比较n-2次……最后一次比较1次,即(n-1)+(n-2)+…+1=n(n-1)/2。
(5)快速排序在下列()情况下最易发挥其长处。
A.被排序的数据中含有多个相同排序码B.被排序的数据已基本有序C.被排序的数据完全无序D.被排序的数据中的最大值和最小值相差悬殊答案:C解释:B选项是快速排序的最坏情况。
(6)对n个关键字作快速排序,在最坏情况下,算法的时间复杂度是()。
A.O(n)B.O(n2)C.O(nlog2n)D.O(n3)答案:B解释:快速排序的平均时间复杂度为O(nlog2n),但在最坏情况下,即关键字基本排好序的情况下,时间复杂度为O(n2)。
(7)若一组记录的排序码为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为()。
A.38,40,46,56,79,84B.40,38,46,79,56,84C.40,38,46,56,79,84D.40,38,46,84,56,79答案:C(8)下列关键字序列中,()是堆。
数据结构习题及答案 (1)
第八章查找一、判断题1.用二分查找法对一个顺序表进行查找,这个顺序表可以是按各键值排好序的,也可以是没有按键值排好序的。
()2.哈希表的查找不用进行关键字的比较。
()3.哈希表的定义函数H(key)=key%p(p<=m)这种方法是直接定址法。
()4.装填因子α的值越大,就越不容易发生冲突。
( )5.选择hash函数的标准为:随机性好、均匀性好和尽量避免冲突。
( )参考答案:1、×2、×3、×4、×5、√二、填空题1.顺序查找法的平均查找长度为__________,二分查找法的平均查找长度为________,分块查找法(以顺序查找确定块)的平均查找长度为__________,分块查找法(以二分查找确定块〉的平均查找长度为_________,哈希表查找法采用链接法处理冲突时的平均查找长度为_________。
(n+1)/2;((n+1)*log2(n+1))/n-1;(s2+2s+n)/2s;log2(n/s+1)+s/2;1+α2.在各种查找方法中,平均查找长度与结点个数n无关的查法方法是_________哈希表查找3.二分查找的存储结构仅限于_________,且是__________。
顺序;有序的4.在分块查找方法中,首先查找__________,然后再查找相应的___________。
索引;块5.长度为255的表,采用分块查找法,每块的最佳长度是____________。
156.在散列函数H(key)=key%p中,p应取_______________。
小于表长的最大素数7.假设在有序线性表A[1..20]上进行二分查找,则比较一次查找成功的结点数为_________,则比较二次查找成功的结点数为__________,则比较三次查找成功的结点数为_________,则比较四次查找成功的结点数为________,则比较五次查找成功的结点数为_________,平均查找长度为_________。
数据结构第八章习题及答案教学提纲
数据结构第八章习题及答案习题八查找一、单项选择题1.顺序查找法适合于存储结构为()的线性表。
A.散列存储 B. 顺序存储或链式存储C. 压缩存储D. 索引存储2.若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为( )。
A. (n-1)/2 B. n/2 C. (n+1)/2 D. n3.适用于折半查找的表的存储方式及元素排列要求为( )A.链接方式存储,元素无序 B.链接方式存储,元素有序C.顺序方式存储,元素无序 D.顺序方式存储,元素有序4.当在一个有序的顺序存储表上查找一个数据时,即可用折半查找,也可用顺序查找,但前者比后者的查找速度( ) A.必定快 B.不一定 C. 在大部分情况下要快 D. 取决于表递增还是递减5.当采用分块查找时,数据的组织方式为 ( )A.数据分成若干块,每块内数据有序B.数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块C. 数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块D. 数据分成若干块,每块(除最后一块外)中数据个数需相同6.二叉树为二叉排序树的充分必要条件是其任一结点的值均大于其左孩子的值、小于其右孩子的值。
这种说法()。
A.正确 B. 错误7. 二叉查找树的查找效率与二叉树的((1) )有关, 在 ((2) )时其查找效率最低。
(1): A. 高度 B. 结点的多少 C. 树型 D. 结点的位置(2): A. 结点太多 B. 完全二叉树 C. 呈单枝树 D. 结点太复杂。
8.如果要求一个线性表既能较快的查找,又能适应动态变化的要求,则可采用( )查找法。
A. 分快查找B. 顺序查找C. 折半查找D. 基于属性9.分别以下列序列构造二叉排序树,与用其它三个序列所构造的结果不同的是( )。
A.(100,80, 90, 60, 120,110,130) B.(100,120,110,130,80, 60, 90)C.(100,60, 80, 90, 120,110,130)D. (100,80, 60, 90,120,130,110)10.下图所示的4棵二叉树,( )是平衡二叉树。
数据结构(第二版)习题答案第8章
(3)9个顶点。
8.5图8.35所示的是某个无向图的邻接表,试:
(1)画出此图;
(2)写出从顶点A开始的DFS遍历结果;
(3)写出从顶点A开始的BFS遍历结果。
【答】:
(1)图8.35邻接表对应的无向图如图8.35.1所示。
图8.35.1
图8.35题8.5的邻接表
(2)从顶点A开始的DFS遍历结果是:A,B,C,F,E,G,D
活动e
l
l-e关键活动
v0
v1
v2
v3
v4
v5
0
6
4
13
22
25
0
6
5
13
22
25
a0
a1
a2
a3
a4
a5
a6
a7
0
0
6
4
4
13
13
22
0
1
6
5
5
13
15
22
0
1
0
1
1
0
2
0
√
√
√
√
可见,该AOE网的关键路径是a0,a2,a5,a7。(注:图中箭头指示求解的顺序)
8.12无向图采用邻接表作为存储结构,试写出以下算法
量,这样T’的边数将大于n-1)。这与T’是一棵树的假设
相矛盾。证毕。
8.8对如图8.36所示的连通图,分别用Prim和Kruskal
算法构造其最小生成树。
【答】:
(1)采用Prim算法求解最小生成树的过程如图8.36.1
所示。
图8.36无向连通网
79
C
2
A
数据结构与算法第8章答案
第8 章排序技术课后习题讲解1. 填空题⑴排序的主要目的是为了以后对已排序的数据元素进行()。
【解答】查找【分析】对已排序的记录序列进行查找通常能提高查找效率。
⑵对n个元素进行起泡排序,在()情况下比较的次数最少,其比较次数为()。
在()情况下比较次数最多,其比较次数为()。
【解答】正序,n-1,反序,n(n-1)/2⑶对一组记录(54, 38, 96, 23, 15, 72, 60, 45, 83)进行直接插入排序,当把第7个记录60插入到有序表时,为寻找插入位置需比较()次。
【解答】3【分析】当把第7个记录60插入到有序表时,该有序表中有2个记录大于60。
⑷对一组记录(54, 38, 96, 23, 15, 72, 60, 45, 83)进行快速排序,在递归调用中使用的栈所能达到的最大深度为()。
【解答】3⑸对n个待排序记录序列进行快速排序,所需要的最好时间是(),最坏时间是()。
【解答】O(nlog2n),O(n2)⑹利用简单选择排序对n个记录进行排序,最坏情况下,记录交换的次数为()。
【解答】n-1⑺如果要将序列(50,16,23,68,94,70,73)建成堆,只需把16与()交换。
【解答】50⑻对于键值序列(12,13,11,18,60,15,7,18,25,100),用筛选法建堆,必须从键值为()的结点开始。
【解答】60【分析】60是该键值序列对应的完全二叉树中最后一个分支结点。
2. 选择题⑴下述排序方法中,比较次数与待排序记录的初始状态无关的是()。
A插入排序和快速排序B归并排序和快速排序C选择排序和归并排序D插入排序和归并排序【解答】C【分析】选择排序在最好、最坏、平均情况下的时间性能均为O(n2),归并排序在最好、最坏、平均情况下的时间性能均为O(nlog2n)。
⑵下列序列中,()是执行第一趟快速排序的结果。
A [da,ax,eb,de,bb] ff [ha,gc]B [cd,eb,ax,da] ff [ha,gc,bb]C [gc,ax,eb,cd,bb] ff [da,ha]D [ax,bb,cd,da] ff [eb,gc,ha]【解答】A【分析】此题需要按字典序比较,前半区间中的所有元素都应小于ff,后半区间中的所有元素都应大于ff。
数据结构第八章习题答案
第八章查找1.若为大小均为n的有序的顺序表和无序的顺序表分别进行顺序查找,试在下列三种情况下分别讨论两者在等概率时的平均查找长度是否相同?(1)查找不成功,即表中没有关键字等于给定值K的记录;(2)查找成功,且表中只有一个关键字等于给定值K的记录;(3)查找成功,且表中有若干个关键字等于给定值K的记录,一次查找要求找出所有记录。
此时平均查找长度应考虑找到所有记录时所用的比较次数。
【解答】在已知的有序表进行顺序排序,可对顺序查找算法进行改进。
(1)不相同;(2)相同;(3)不相同。
2.画出对长度为10的有序表进行折半查找的判定树,并求其等概率时查找成功的平均查找长度。
【解答】等概率时查找成功的平均查找长度=(1+2*2+3*4+4*3)/10=2.93.已知下列长度为7的表(50, 40, 30, 60, 55, 58, 59)。
(1)试按表中元素的顺序依次插入一棵初始为空的二叉排序树,画出插入完成后的二叉排序树,求其在等概率情况下查找成功的平均查找长度。
(2)按表中元素顺序构造一棵平衡二叉排序树,并求其在等概率情况下查找成功的平均查找长度。
【解答】(1)等概率情况下查找成功的平均查找长度=(1+2*2+3*2+4+5)/7=20/7(2)等概率情况下查找成功的平均查找长度=(1+2*2+3*4)/7=17/74.在地址空间为0~16的散列区中,自己构造哈希函数,对以下关键字序列构造哈希表:(Jan,Feb,Mar,Apr,May,June,July,Aug,Sep,Oct,Nov,Dec)(1)用线性探测开放定址法处理冲突;(2)用链地址法处理冲突。
并分别求这两个哈希表在等概率情况下查找成功和不成功的平均查找长度。
【解答】略。
数据结构周颜军第八章课后答案
数据结构周颜军第八章课后答案1、病毒防火墙与网络防火墙的作用是()[单选题] *A.一样的,安装一个就行B.一样的,但安装两个更好C.不一样的,最好两者都有(正确答案)D.不一样的,病毒防火墙更重要2、83.根据Internet的域名代码规定,域名中的表示商业组织的网站()。
[单选题] *A.,netB.,com(正确答案)D.,org3、KB=()B。
[单选题] *A.B.C. (正确答案)4、91.若网络的各个节点均连接到同一条通信线路上,且线路两端有防止信号反射的装置,这种拓扑结构称为()[单选题] *A.总线型拓扑(正确答案)B.星型拓扑C.树型拓扑D.环型拓扑5、74.局域网中,提供并管理共享资源的计算机称为()。
[单选题] *A.网桥B.网关C.服务器(正确答案)D.工作站6、A:打印机B:显示器C:鼠标器(正确答案)D:绘图仪显示器的主要技术指标之一是______。
[单选题] *7、99.计算机有多种技术指标,其中主频是指()。
[单选题] *A.内存的时钟频率B.CPU内核工作的时钟频率(正确答案)C.系统时钟频率,也叫外频D.总线频率8、计算机的性能主要决定于()。
[单选题] *A.内存容量B.磁盘容量C.CPU型号(正确答案)D.价格高低9、要在幻灯片中设置“标尺”的显示/隐藏属性,应选择()选项卡。
[单选题] *A. 插入B. 开始C. 设计10、当TCP 客户进程与TCP 服务器进程建立连接时,TCP 报文段首部中的()字段置。
易[单选题] *A.URGB.ACKC.SYN(正确答案)D.FIN11、WPS演示文稿提供了多种(),它包含了相应的配色方案母版和字体样式等,可供用户快速生成风格统一的演示文稿。
[单选题] *A.新幻灯片B.模板(正确答案)C.配色方案12、下列MAC 地址正确的是()。
中[单选题] *A.--B-F--BA(正确答案)B....C.----D.--B-A--H13、下列不能用作存储容量单位的是______。
数据结构 第八章测验 测验答案 慕课答案 UOOC优课 课后练习 深圳大学
数据结构第八章测验一、单选题 (共100.00分)1. 以下属于静态查找的算法是()A. 二叉排序树B. 折半查找C. B+树D. 键树正确答案:B2. 在哈希查找中,不同关键字却有着相同的哈希地址,这种现象称为()A. 哈希地址B. 散列地址C. 哈希冲突D. 地址探测正确答案:C3. 以下描述正确的是()A. 顺序查找要求数据必须有序B. 折半查找必须使用顺序表C. 顺序查找必须从头开始查找D. 分块查找允许数据完全无序正确答案:B4. 已知数据序列为33、66、22、44,把该序列依次插入到初始为空的二叉排序树中。
现插入新数据35,它将是()A. 22的右孩子B. 33的右孩子C. 44的左孩子D. 66的左孩子正确答案:C5. 以下关于平衡二叉树描述错误的是()A. 平衡二叉树不是二叉排序树B. 平衡二叉树属于动态查找C. 平衡因子的绝对值不能超过1D. 当出现不平衡情况时需要做平衡化处理正确答案:A6. 二叉排序树查找中,哪种数据序列的时间复杂度最差()A. 递增序列B. 递减序列C. 前半递增后半递减D. 与排列无关正确答案:C7. 以下不属于哈希函数设计方法的是()A. 数字分析法B. 除留余数法C. 折叠法D. 链地址法正确答案:D8. 以下属于哈希冲突处理方法的是()A. 直接定址法B. 再哈希法C. 平衡二叉树D. 平方取中正确答案:B9. 已知序列19,01,23,14,55,68,11,82,36,哈希函数H(key)=key MOD 11,哈希冲突处理采用线性探测再散列,哈希表长11,地址从0开始,则68在哈希表的位置是()A. 1B. 2C. 3D. 4正确答案:D10. 给定关键字集合33、15、88、31、28、64、44、58、77,哈希函数H(key)=key MOD 13 ,采用链地址法(表头插入),数组下标5的单链表中包含关键字依次是()A. 44、31B. 31、44C. 58、64D. 33、77正确答案:A。
数据结构第八章习题及答案
习题八查找一、单项选择题1.顺序查找法适合于存储结构为( )的线性表。
A. 散列存储 B、顺序存储或链式存储C、压缩存储D、索引存储2、若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为( )。
A. (n-1)/2 B、 n/2 C、 (n+1)/2 D、 n3.适用于折半查找的表的存储方式及元素排列要求为( )A.链接方式存储,元素无序B.链接方式存储,元素有序C.顺序方式存储,元素无序D.顺序方式存储,元素有序4.当在一个有序的顺序存储表上查找一个数据时,即可用折半查找,也可用顺序查找,但前者比后者的查找速度( )A.必定快 B、不一定 C、在大部分情况下要快 D、取决于表递增还就是递减5.当采用分块查找时,数据的组织方式为 ( )A.数据分成若干块,每块内数据有序B.数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块C、数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块D、数据分成若干块,每块(除最后一块外)中数据个数需相同6.二叉树为二叉排序树的充分必要条件就是其任一结点的值均大于其左孩子的值、小于其右孩子的值。
这种说法( )。
A.正确 B、错误7、二叉查找树的查找效率与二叉树的((1) )有关, 在 ((2) )时其查找效率最低。
(1): A、高度 B、结点的多少 C、树型 D、结点的位置(2): A、结点太多 B、完全二叉树 C、呈单枝树 D、结点太复杂。
8.如果要求一个线性表既能较快的查找,又能适应动态变化的要求,则可采用( )查找法。
A、分快查找B、顺序查找C、折半查找D、基于属性9.分别以下列序列构造二叉排序树,与用其它三个序列所构造的结果不同的就是( )。
A.(100,80, 90, 60, 120,110,130) B、(100,120,110,130,80, 60, 90)C、(100,60, 80, 90, 120,110,130)D、 (100,80, 60, 90, 120,130,110)10.下图所示的4棵二叉树,( )就是平衡二叉树。
数据结构课后习题答案第八章
第八章排序(参考答案)本章所用数据结构#define N 待排序记录的个数typedef struct{ int key;ElemType other;}rectype;rectype r[n+1]; // r为结构体数组8.2稳定排序有:直接插入排序、起泡排序、归并排序、基数排序不稳定排序有:希尔排序、直接选择排序、堆排序希尔排序例:49,38,49,90,70,25直接选择排序例:2,2,1堆排序例:1,2,28.3void StlinkedInsertSort(s , n);// 对静态链表s[1..n]进行表插入排序,并调整结果,使表物理上排序{ #define MAXINT 机器最大整数typedef struct{ int key;int next;}rec;rec s[n+1]; // s为结构体数组s[0].key=maxint; s[1].next=0; //头结点和第一个记录组成循环链表i=2; //从第2个元素开始,依次插入有序链表中while (i<=n){q=0; p=s[0].next; // p指向当前最小元素,q是p的前驱while (p!=0 && s[p].key<s[i].key) // 查找插入位置{ q=p; p=s[p].next; }s[i].next=p; s[q].next=i; // 将第个元素链入i++;} // while(i<=n) 静态链表的插入// 以下是重排静态链表,使之物理有序i=1; p=s[0].next;while (i<=n){WHILE (p<i) p=s[p].next;q=s[p].next;if (i!=p){ s[i] s[p]; s[i].next=p;p=q;i++;}}}//算法结束8.4void TwoWayBubbleSort( rectype r[n+1]; int n)// 对r[1..n]进行双向冒泡排序。
数据结构图,查找,内排序的练习及答案
数据结构图,查找,内排序的练习及答案数据结构课后练习习题要求:此次练习不要求上交,只是帮助⼤家掌握知识点,便于复习。
第⼋章图⼀.单项选择题(20分)1. 带权有向图G ⽤邻接矩阵A 存储,则Vi 的⼊度等于A 中___D______A. 第i ⾏⾮∞的元素只和B. 第i 列⾮∞的元素之和C. 第i ⾏⾮∞且⾮0的元素之和D. 第i 列⾮∞且⾮0的元素个数2. ⽆向图的邻接矩阵是⼀个___A____A. 对称矩阵B. 零矩阵C. 上三⾓阵D. 对⾓矩阵3. 在⼀个⽆向图中,所有顶点的度之和等于边数的__C____倍A. 1/2B. 1C. 2D. 44. ⼀个有n 个顶点的⽆向图最多有___C____条边。
A. nB. n(n-1)C. n(n-1)/2D.2n5. 对于⼀个具有n 个顶点的⽆向图,若采⽤邻接矩阵表⽰,则该矩阵⼤⼩是__D_____A. nB. 2)1(?nC. n-1D. 2n6. ⼀个有向图G 的邻接表存储如右图所⽰,现按深度优先搜索遍历,从V1出发,所得到的顶点序列是___B_____。
A. 1,2,3,4,5B. 1,2,3,5,4C. 1,2,4,5,3D. 1,2,5,3,47. 对右图所⽰的⽆向图,从顶点V1开始进⾏深度优先遍历,可得到顶点访问序列__A______(提⽰:可先画出邻居表图再遍历)A. 1 2 4 3 5 7 6B. 1 2 4 3 5 6 7C. 1 2 4 5 6 3 7D. 1 2 3 4 5 6 78. 如果从⽆向图的任⼀顶点出发进⾏⼀次深度优先搜索即可访问所有顶点,则该图⼀定是__B_____A. 完全图B. 连通图C.有回路D. ⼀棵树9. 任何⼀个⽆向连通图___B___最⼩⽣成树(提⽰:注意最⼩⽣成树的定义,此题易错)A. 只有⼀棵B. ⼀棵或多棵C. ⼀定有多棵D.可能不存在11. 若图的邻接矩阵中主对⾓线上的元素全是0,其余元素全是1,则可以断定该图⼀定是_D_____。
《数据结构》第八章习题参考答案 (1)
一、判断题(在正确说法的题后括号中打“√”,错误说法的题后括号中打“×”)
1、用邻接矩阵法存储一个图所需的存储单元数目与图的边数有关。(×)
2、有e条边的无向图,在邻接表中有e个结点。(×)
3、强连通图的各顶点间均可达。(√)
4、无向图的邻接矩阵一定是对称矩阵,有向图的邻接矩阵一定是非对称矩阵。(×)
注: 答案并不唯一
2、课本P3928.1题
【解答】
(1)不是强连通图
(2)简单路径如:D->B->C->F
(3)略
(4)邻接表见图,其他略
3、课本P3928.2题
【解答】
(1)邻接矩阵表示:无向图的边数为
矩阵中非零元素的个数/2;有向图的边数为矩阵中非零元素的个数。
邻接表表示时:无向图的边数为邻接表中边结点的个数/2;有向图的边数为邻接表中边结点的个数。
5、课本P3928.4题
【解答】
用邻接矩阵表示图,矩阵元素的个数是顶点个数的平方,与边的条数无关。矩阵中非零元素的个数与边的条数有关。
6、课本P3928.5题
【解答】
一个图中有1000个顶点,其邻接矩阵中的矩阵元素有10002= 1000000个。它有1000个非零元素(对于有向图)或2000个非零元素(对于无向图),是稀疏矩阵。
(2)邻接矩阵表示:顶点i和j是否有边只需看i行j列(或j行i列)矩阵元素是否非零;
邻接表表示时:看i顶点(或j顶点)的边结点链表中是否存在地址指向j顶点(或i顶点)的结点。
(3)邻接矩阵表示:无向图的任意顶点的度=顶点所对应行(或列)的非零矩阵元素个数。
有向图的任意顶点的度=顶点所对应行和对应列的非零矩阵元素个数之和。
数据结构第8章作业参考答案
第8章内部排序一、单项选择题1.在下列排序算法中,(D )算法的时间复杂度与初始顺序无关。
A. 直接插入排序B. 冒泡排序C. 快速排序D. 直接选择排序2.已知原始关键字序列(56,23,78,92,88,67,19,34),若一趟排序之后序列是(19,23,67,56,34,78,92,88),则选用的排序方法是进行的结果为( B )。
A.简单选择排序B. 增量为3的一趟希尔排序C..冒泡排序D. 快速排序3.快速排序的平均时间复杂度为(D )。
A. O(n)B. O(log2n)C. O(n2)D. O(nlog2n)4.用直接插入排序法对下面四个序列进行升序排序,元素比较次数最少的是(C )。
A. 94,32,40,90,80,46,21,69B. 32,40,21,46,69,94,90,80C. 21,32,46,40,80,69,90,94D. 90,69,80,46,21,32,94,405.下列排序算法中,不稳定的是(B )。
A. 直接插入排序B. 简单选择排序C. 起泡排序D. 归并排序6.下列排序算法中,第一趟排序结束后,其最大或最小元素一定在其最终位置上的算法是( D )。
A. 归并排序B. 直接插入排序C. 快速排序D. 冒泡排序7.当待排序序列中记录数较多时,速度最快的排序方法是(A )。
A. 快速排序法B. 冒泡排序法C. 堆排序法D. 归并排序法8.下列排序算法中,在待排序数据已有序时,花费时间反而最多的是(C )排序。
A. 冒泡B. 希尔C. 快速D. 堆9.对于键值序列{72,73,71,23,94,16,5,68,76,103},用筛选法建堆,必须从键值为(D )的结点开始。
A. 23B. 103C. 72D. 9410.下列排序算法中,在最好情况下,时间复杂度为O(n)的算法是(B )。
A. 简单选择排序B. 起泡排序C. 快速排序D. 归并排序11.对序列(22,86,19,49,12,30,65,35,18)进行一趟排序后得到的结果为(18,12,19,22,49,30,65,35,86),则使用的排序方法是(D )。
(完整版)数据结构与算法第8章答案
第8 章排序技术课后习题讲解1. 填空题⑴排序的主要目的是为了以后对已排序的数据元素进行()。
【解答】查找【分析】对已排序的记录序列进行查找通常能提高查找效率。
⑵对n个元素进行起泡排序,在()情况下比较的次数最少,其比较次数为()。
在()情况下比较次数最多,其比较次数为()。
【解答】正序,n-1,反序,n(n-1)/2⑶对一组记录(54, 38, 96, 23, 15, 72, 60, 45, 83)进行直接插入排序,当把第7个记录60插入到有序表时,为寻找插入位置需比较()次。
【解答】3【分析】当把第7个记录60插入到有序表时,该有序表中有2个记录大于60。
⑷对一组记录(54, 38, 96, 23, 15, 72, 60, 45, 83)进行快速排序,在递归调用中使用的栈所能达到的最大深度为()。
【解答】3⑸对n个待排序记录序列进行快速排序,所需要的最好时间是(),最坏时间是()。
【解答】O(nlog2n),O(n2)⑹利用简单选择排序对n个记录进行排序,最坏情况下,记录交换的次数为()。
【解答】n-1⑺如果要将序列(50,16,23,68,94,70,73)建成堆,只需把16与()交换。
【解答】50⑻对于键值序列(12,13,11,18,60,15,7,18,25,100),用筛选法建堆,必须从键值为()的结点开始。
【解答】60【分析】60是该键值序列对应的完全二叉树中最后一个分支结点。
2. 选择题⑴下述排序方法中,比较次数与待排序记录的初始状态无关的是()。
A插入排序和快速排序B归并排序和快速排序C选择排序和归并排序D插入排序和归并排序【解答】C【分析】选择排序在最好、最坏、平均情况下的时间性能均为O(n2),归并排序在最好、最坏、平均情况下的时间性能均为O(nlog2n)。
⑵下列序列中,()是执行第一趟快速排序的结果。
A [da,ax,eb,de,bb] ff [ha,gc]B [cd,eb,ax,da] ff [ha,gc,bb]C [gc,ax,eb,cd,bb] ff [da,ha]D [ax,bb,cd,da] ff [eb,gc,ha]【解答】A【分析】此题需要按字典序比较,前半区间中的所有元素都应小于ff,后半区间中的所有元素都应大于ff。
(完整版) 《数据结构》教材课后习题+答案
第1章绪论习题1.简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。
2.试举一个数据结构的例子,叙述其逻辑结构和存储结构两方面的含义和相互关系。
3.简述逻辑结构的四种基本关系并画出它们的关系图。
4.存储结构由哪两种基本的存储方法实现?5.选择题(1)在数据结构中,从逻辑上可以把数据结构分成()。
A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构(2)与数据元素本身的形式、内容、相对位置、个数无关的是数据的()。
A.存储结构B.存储实现C.逻辑结构D.运算实现(3)通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着()。
A.数据具有同一特点B.不仅数据元素所包含的数据项的个数要相同,而且对应数据项的类型要一致C.每个数据元素都一样D.数据元素所包含的数据项的个数要相等(4)以下说法正确的是()。
A.数据元素是数据的最小单位B.数据项是数据的基本单位C.数据结构是带有结构的各数据项的集合D.一些表面上很不相同的数据可以有相同的逻辑结构(5)以下与数据的存储结构无关的术语是()。
A.顺序队列 B. 链表 C. 有序表 D. 链栈(6)以下数据结构中,()是非线性数据结构A.树B.字符串C.队D.栈6.试分析下面各程序段的时间复杂度。
(1)x=90; y=100;while(y>0)if(x>100){x=x-10;y--;}else x++;(2)for (i=0; i<n; i++)for (j=0; j<m; j++)a[i][j]=0;(3)s=0;for i=0; i<n; i++)for(j=0; j<n; j++)s+=B[i][j];sum=s;(4)i=1;while(i<=n)i=i*3;(5)x=0;for(i=1; i<n; i++)for (j=1; j<=n-i; j++)x++;(6)x=n; //n>1y=0;while(x≥(y+1)* (y+1))y++;(1)O(1)(2)O(m*n)(3)O(n2)(4)O(log3n)(5)因为x++共执行了n-1+n-2+……+1= n(n-1)/2,所以执行时间为O(n2)(6)O(n)第2章线性表1.选择题(1)一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
有向图的任意顶点的度=邻接表中顶点所对应边链表中结点个数+逆邻接表中顶点所对应边链表中结点个数;
4、课本P3928.3题
【解答】
n个顶点的无向连通图至少有n-1条边,n个பைடு நூலகம்点的无向强连通图至少有n(n-1)/2条边;n个顶点的有向连通图至少有n条边,n个顶点的有向强连通图至少有n(n-1)条边。
上面不正确的是(A)。
A.(1),(2),(3) B.(1) C.(1),(3) D.(2),(3)
5、下列说法不正确的是(C)。
A.图的遍历是从给定的源点出发每一个顶点仅被访问一次
B.遍历的基本算法有两种:深度遍历和广度遍历
C.图的深度遍历不适用于有向图
D.图的深度遍历是一个递归过程
三、填空题
1、判断一个无向图是一棵树的条件是_有n个顶点,n-1条边的无向连通图_。
注: 答案并不唯一
2、课本P3928.1题
【解答】
(1)不是强连通图
(2)简单路径如:D->B->C->F
(3)略
(4)邻接表见图,其他略
3、课本P3928.2题
【解答】
(1)邻接矩阵表示:无向图的边数为
矩阵中非零元素的个数/2;有向图的边数为矩阵中非零元素的个数。
邻接表表示时:无向图的边数为邻接表中边结点的个数/2;有向图的边数为邻接表中边结点的个数。
(2)(3)略
12、课本P3958.24题
【解答】
A->B : 10
A->B->D: 15
A->B->D->C : 17
A->B->D->E : 17
11、在图G的最小生成树T中,可能会有某条边的权值超过未选边的权值。(√)
二、单项选择题
1.具有4个顶点的无向完全(边数为n*(n-1)/2)图有(A)条边。
A.6B.12C.16D.20
2.下列哪一种图的邻接矩阵是对称矩阵?(B)
A.有向图B.无向图C.AOV网D.AOE网
3、在图采用邻接矩阵存储时,求最小生成树的Prim算法的时间复杂度为(C)。
(2)邻接矩阵表示:顶点i和j是否有边只需看i行j列(或j行i列)矩阵元素是否非零;
邻接表表示时:看i顶点(或j顶点)的边结点链表中是否存在地址指向j顶点(或i顶点)的结点。
(3)邻接矩阵表示:无向图的任意顶点的度=顶点所对应行(或列)的非零矩阵元素个数。
有向图的任意顶点的度=顶点所对应行和对应列的非零矩阵元素个数之和。
《数据结构》第八章习题参考答案
一、判断题(在正确说法的题后括号中打“√”,错误说法的题后括号中打“×”)
1、用邻接矩阵法存储一个图所需的存储单元数目与图的边数有关。(×)
2、有e条边的无向图,在邻接表中有e个结点。(×)
3、强连通图的各顶点间均可达。(√)
4、无向图的邻接矩阵一定是对称矩阵,有向图的邻接矩阵一定是非对称矩阵。(×)
7、课本P3928.7题
【解答】
在邻接表上执行图的遍历操作时,需要对邻接表中所有的边链表中的结点访问一次,还需要对所有的顶点访问一次,时间代价是O(n+e)。
8、课本P3928.8题
【解答】
DFS和BFS遍历可分别采用栈和队列来暂存顶点来实现非递归高效遍历算法。
如果要求生成树高度最小,应采用BFS遍历。
A. O(n) B. O(n+e) C. O(n2) D. O(n3)
4、(1).求从指定源点到其余各顶点的迪杰斯特拉(Dijkstra)最短路径算法中弧上权不能为负的原因是在实际应用中无意义;
(2).利用Dijkstra求每一对不同顶点之间的最短路径的算法时间是O(n3);(图用邻接矩阵表示)
(3). Floyd求每对不同顶点对的算法中允许弧上的权为负,但不能有权和为负的回路。
5、一个网(带权图)都有唯一的最小生成树。(×)
6、最小生成树问题是构造连通网的最小代价生成树。(√)
7、关键路径是AOE网中从源点到终点的最长路径。(√)
8、在AOE图中,关键路径上活动的时间延长多少,整个工程的时间也就随之延长多少。(√)
9、n个顶点的完全有向图的边数为n(n-1)。(√)
10、稀疏图的存储结构采用邻接表比较合适。(√)
9、课本P3928.9题
【解答】
采用邻接表存储的图的DFS遍历类似于二叉树的先序遍历,BFS遍历类似于二叉树的按层遍历。
10、课本P3928.10题
【解答】
DFS和BFS树都不唯一,
只是给出了一种解答。
11、课本P3938.17题
(1)【解答】
此工程最早完成时间为43。关键路径为<1, 3><3, 2><2, 5><5, 6>
3、G是一个非连通无向图,共有28条边,则该图至少有__9__个顶点。
4、在有n个顶点的有向图中,每个顶点的度最大可达_2(n-1)_____。
5、有N个顶点的有向图,至少需要量__N____条弧才能保证是连通的。
6、在图G的邻接表表示中,每个顶点邻接表中所含的结点数,对于无向图来说等于该顶点的__度__;对于有向图来说等于该顶点的__出度__。
5、课本P3928.4题
【解答】
用邻接矩阵表示图,矩阵元素的个数是顶点个数的平方,与边的条数无关。矩阵中非零元素的个数与边的条数有关。
6、课本P3928.5题
【解答】
一个图中有1000个顶点,其邻接矩阵中的矩阵元素有10002= 1000000个。它有1000个非零元素(对于有向图)或2000个非零元素(对于无向图),是稀疏矩阵。
7、对于一个具有n个顶点e条边的无向图的邻接表的表示,则表头向量大小为__n____,邻接表的边结点个数为__2e____。
8、求图的最小生成树有两种算法,_克鲁斯卡尔(Kruskal)_算法适合于求稀疏图的最小生成树。
四、综合题
1、按下图所示,画出它的广度优先生成树和深度优先生成树(A为源点)。
【解答】