数据结构 第八章 查找自测题
数据结构第8章查找练习题
![数据结构第8章查找练习题](https://img.taocdn.com/s3/m/b3063728227916888586d714.png)
一、单选题1.下列查找方法中,不属于动态的查找方法是( )。
A .二叉排序树法B .平衡树法C .散列法D .二分查找法2.适用于静态的查找方法为( )。
A .二分查找、二叉排序树查找B .二分查找、索引顺序表查找C .二叉排序树查找、索引顺序表查找D .二叉排序树查找、散列法查找3.静态查找表与动态查找表二者的根本差别在于( )。
A .它们的逻辑结构不一样B .施加在其上的操作不同C .所包含的数据元素的类型不一样D .存储实现不一样4.对长度为10的顺序表进行查找,若查找前面5个元素的概率相同,均为1/8,查找后面5个元素的概率相同,均为3/40,则查找任一元素的平均查找长度为( )。
A .5.5B .5C .39/8D .19/45.( )存储方式适用于折半查找。
A .键值有序的单链表B .键值有序的顺序表C .键值有序的双链表D .键值无序的顺序表6.对线性表进行二分查找时,要求线性表必须( )。
A .以顺序方式存储B .以链接方式存储C .顺序存储,且结点按关键字有序排序D .链式存储,且结点按关键字有序排序7.在索引顺序表中查找一个元素,可用的且最快的方法是( )。
A .用顺序查找法确定元素所在块,再用顺序查找法在相应块中查找B .用顺序查找法确定元素所在块,再用二分查找法在相应块中查找C .用二分查找法确定元素所在块,再用顺序查找法在相应块中查找D .用二分查找法确定元素所在块,再用二分查找法在相应块中查找8.在索引查找中,若主表长度为144,它被均分为12子表,每个子表的长度均为12,则索引查找的平均查找长度为( )。
A .13B .24C .12D .799.由同一关键字集合构造的各棵二叉排序树( )。
A .形态和平均查找长度都不一定相同B .形态不一定相同,但平均查找长度相同C .形态和平均查找长度都相同D .形态相同,但平均查找长度不一定相同10.对二叉排序树进行( ),可以得到各结点键值的递增序列。
《数据结构》吕云翔编著第8章查找习题解答
![《数据结构》吕云翔编著第8章查找习题解答](https://img.taocdn.com/s3/m/4169325a69eae009581bec86.png)
第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【分析】在二叉排序树中,值最小的结点一定是中序遍历序列中第一个被访问的结点,即二叉树的最左下结点。
数据结构习题及答案 (1)
![数据结构习题及答案 (1)](https://img.taocdn.com/s3/m/a29f9c8b16fc700aba68fc2a.png)
第八章查找一、判断题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]上进行二分查找,则比较一次查找成功的结点数为_________,则比较二次查找成功的结点数为__________,则比较三次查找成功的结点数为_________,则比较四次查找成功的结点数为________,则比较五次查找成功的结点数为_________,平均查找长度为_________。
数据结构智慧树知到答案章节测试2023年哈尔滨商业大学
![数据结构智慧树知到答案章节测试2023年哈尔滨商业大学](https://img.taocdn.com/s3/m/630aafb0e43a580216fc700abb68a98271feac18.png)
第一章测试1.数据结构的基本任务是()。
A:数据结构的评价与选择B:数据结构的设计与实现C:数据结构的运算实现D:逻辑结构和存储结构的设计答案:B2.计算算法的时间复杂度是属于一种()。
A:事前分析估算的方法B:事后分析估算的方法C:事后统计的方法D:事前统计的方法答案:A3.可以用()定义一个完整的数据结构。
A:数据元素B:数据关系C:抽象数据类型D:数据对象答案:C4.数据的逻辑关系是指数据元素的()。
A:存储方式B:数据项C:关联D:结构答案:C5.算法的计算量的大小称为计算的()。
A:效率B:复杂性C:实现性D:难度答案:B6.算法的时间复杂度取决于()。
A:问题的规模B:问题的规模和待处理数据的初态C:待处理数据的初态D:都不是答案:B7.数据元素是数据的最小单位。
()A:对B:错答案:B8.数据结构是带有结构的数据元素的结合。
()A:错B:对答案:B9.算法和程序没有区别,所以在数据结构中二者是通用的。
()A:错B:对答案:A10.数据结构的抽象操作的定义与具体实现有关。
()A:对B:错答案:B第二章测试1.下述哪一条是顺序存储结构的优点?()。
A:存储密度大B:删除运算方便C:插入运算方便D:可方便地用于各种逻辑结构的存储表示答案:A2.下面关于线性表的叙述中,错误的是哪一个?()。
A:线性表采用链接存储,便于插入和删除操作B:线性表采用顺序存储,必须占用一片连续的存储单元C:线性表采用链接存储,不必占用一片连续的存储单元D:线性表采用顺序存储,便于进行插入和删除操作答案:D3.线性表是具有n个()的有限序列(n>0)。
A:数据项B:表元素C:数据元素D:字符答案:C4.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。
A:顺序表B:双链表C:带头结点的双循环链表D:单循环链表答案:A5.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。
《数据结构》第08章在线测试
![《数据结构》第08章在线测试](https://img.taocdn.com/s3/m/6b43af08fc4ffe473368ab3a.png)
《数据结构》第08章在线测试《数据结构》第08章在线测试剩余时间:-54:0-23答题须知:1、本卷满分20分。
2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。
3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。
第一题、单项选择题(每题1分,5道题共5分)1、下列方法中,________算法的时间复杂度为O(n^2)。
A、直接插入排序B、希尔排序C、快速排序D、堆排序2、在待排序的元素序列基本有序的前提下,效率最高的排序方法是_______。
A、直接插入排序B、起泡排序C、快速排序D、堆排序3、一组记录的关键字序列为{46,79,56,38,40,84},则利用快速排序方法,以第一个记录为枢轴得到的一次划分结果是_______。
A、{38,40,46,56,79,84}B、{40,38,46,79,56,84}C、{40,38,46,56,79,84}D、{40,38,46,84,56,79}4、在下列排序方法中,平均情况下占用内存量最大的是_______方法。
A、快速排序B、插入排序C、冒泡排序D、堆排序5、对n个记录的序列进行堆排序,最坏情况下的时间复杂度为______。
A、O(logn)B、O(nlogn)C、O(n)D、O(n^2)第二题、多项选择题(每题2分,5道题共10分)1、下列方法中,________算法的时间复杂度为O(nlogn)。
A、希尔排序B、堆排序C、快速排序D、简单选择排序E、直接插入排序2、下列排序方法中,________是稳定的排序方法。
A、简单选择排序B、起泡排序C、快速排序D、直接插入排序E、折半插入排序3、在下列排序方法中,每一趟排序结束后都能选出一个元素放在其最终位置上的是_______。
A、简单选择排序B、起泡排序C、快速排序D、直接插入排序E、堆排序4、下列排序方法中,空间复杂度为O(1)的排序方法有________。
数据结构练习第八章查找
![数据结构练习第八章查找](https://img.taocdn.com/s3/m/850191eaaff8941ea76e58fafab069dc5022474b.png)
数据结构练习第⼋章查找数据结构练习第⼋章查找1.若有18个元素的有序表存放在⼀维数组A[19]中,第⼀个元素放A[1]中,现进⾏⼆分查找,则查找A[3]的⽐较序列的下标依次为( )A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,32.设⼆叉排序树中有n个结点,则在⼆叉排序树的平均平均查找长度为()。
A. O(1)B. O(log2n)C. O(n)D. O(n2)3.在⼆叉排序树中插⼊⼀个结点的时间复杂度为()。
A. O(1)B. O(n)C. O(log2n)D. O(n2)4.设有序顺序表中有n个数据元素,则利⽤⼆分查找法查找数据元素X的最多⽐较次数不超过()。
A. log2n+1B. log2n-1C. log2nD. log2(n+1) 5.设有序表中有1000个元素,则⽤⼆分查找查找元素X最多需要⽐较()次。
A. 25B. 10C. 7D. 16.顺序查找不论在顺序线性表中还是在链式线性表中的时间复杂度为()。
A. O(n)B. O(n2)C. O(n1/2)D. O(1og2n) 7.设⼆叉排序树上有n个结点,则在⼆叉排序树上查找结点的平均时间复杂度为()。
A. O(n)B. O(n2)C. O(nlog2n)D. O(1og2n) 8.()⼆叉排序树可以得到⼀个从⼩到⼤的有序序列。
A. 先序遍历B.中序遍历C. 后序遍历D. 层次遍历9.设⼀组初始记录关键字序列为(13,18,24,35,47,50,62,83,90,115,134),则利⽤⼆分法查找关键字90需要⽐较的关键字个数为()。
A. 1B. 2C. 3D. 410.设某散列表的长度为100,散列函数H(k)=k % P,则P通常情况下最好选择()。
A. 99B. 97C. 91D. 9311.在⼆叉排序树中插⼊⼀个关键字值的平均时间复杂度为()。
A. O(n)B. O(1og2n)C. O(nlog2n)D. O(n2)12.设⼀个顺序有序表A[1:14]中有14个元素,则采⽤⼆分法查找元素A[4]的过程中⽐较元素的顺序为( )。
数据结构各章自测题及答案
![数据结构各章自测题及答案](https://img.taocdn.com/s3/m/f933b9d2a58da0116c174921.png)
第一章概论 自测题答案一、填空题1. 数据结构是一门研究非数值计算的程序设计问题中计算机的 操作对象 以及它们之间的 关系 和运算等的学科。
2. 数据结构被形式地定义为(D, R ),其中D 是 数据元素 的有限集合,R 是D 上的 关系 有限集合。
3. 数据结构包括数据的 逻辑结构 、数据的 存储结构 和数据的 运算 这三个方面的内容。
4. 数据结构按逻辑结构可分为两大类,它们分别是 线性结构 和 非线性结构 。
5. 线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在多对多关系。
6. 在线性结构中,第一个结点 没有 前驱结点,其余每个结点有且只有 1个前驱结点;最后一个结点 没有 后续结点,其余每个结点有且只有1个后续结点。
7. 在树形结构中,树根结点没有 前驱 结点,其余每个结点有且只有 1 个前驱结点;叶子结点没有 后续 结点,其余每个结点的后续结点数可以任意多个 。
8. 在图形结构中,每个结点的前驱结点数和后续结点数可以 任意多个 。
9.数据的存储结构可用四种基本的存储方法表示,它们分别是顺序 、 链式 、 索引 和 散列 。
10. 数据的运算最常用的有5种,它们分别是插入 、 删除、修改、 查找 、排序。
11. 一个算法的效率可分为 时间 效率和 空间 效率。
二、单项选择题( B )1. 非线性结构是数据元素之间存在一种:A )一对多关系B )多对多关系C )多对一关系D )一对一关系( C )2. 数据结构中,与所使用的计算机无关的是数据的 结构;A) 存储 B) 物理 C) 逻辑 D) 物理和存储( C )3. 算法分析的目的是:A) 找出数据结构的合理性 B) 研究算法中的输入和输出的关系C) 分析算法的效率以求改进 D) 分析算法的易懂性和文档性( A )4. 算法分析的两个主要方面是:A) 空间复杂性和时间复杂性 B) 正确性和简明性C) 可读性和文档性 D) 数据复杂性和程序复杂性( C )5. 计算机算法指的是:A) 计算方法 B) 排序方法 C) 解决问题的有限运算序列 D) 调度方法( B )6. 计算机算法必须具备输入、输出和 等5个特性。
数据结构(查找)习题与答案
![数据结构(查找)习题与答案](https://img.taocdn.com/s3/m/36924c8f551810a6f4248604.png)
一、单选题1、关于折半查找,以下说法正确的是 ( ) 。
A.待查找表必须有序,可以顺序方式存储,也可以链表方式存储B.待查找表必须有序,且只能以顺序方式存储C.待查找表必须有序,而且必须从小到大排列D.待查找表必须有序且表中数据必须是整型正确答案:B2、具有12个关键字的有序表,折半查找的平均查找长度()。
A.2.5B.37/12C.10/12D.25/12正确答案:B3、以下适合用分块查的数据集是 ( ) 。
A.数据分成大小相等的若干块,块内数据有序B.数据分成若干块,每块(除最后一块外)中数据个数需相同C.数据分成若干块,块内数据必须有序,块间不必有序D.数据分成若干块,块内数据不必有序,但块间必须有序正确答案:D4、分别以下列序列构造二叉排序树,以下哪一个和其他三个不同( ) 。
A.(90,65,25,110,100,107,87,85)B.(90,65,110,100,107,87,85,25)C. (90,110,65,25,87,100,107,85)D.(90,100,65,25,87,85,110,107)正确答案:D5、关于哈希查找,以下说法不正确的是( ) 。
A.哈希查找中,记录的存储地址是计算出来的,因而不需要比较B.链地址法和线性探测再散列都是解决冲突的方法C.装填因子越大,越容易产生冲突D.哈希查找有两个关键问题:哈希函数和处理冲突的方法正确答案:A6、对长度为4的顺序表进行查找,查找顺序从前向后。
若查找前面2个元素的概率均为1/8,查找后2个元素的概率均为3/8,则查找任一元素的平均查找长度为( )。
A.19/4B.39/8C.5.5D.3正确答案:D7、由同一关键字集合构造的各棵二叉排序树( )。
A.形态相同,但平均查找长度不一定相同B.形态和平均查找长度都相同C.形态不一定相同,但平均查找长度相同D.形态和平均查找长度都不一定相同正确答案:D8、100个元素进行折半查找,查找成功时最大的比较次数是()。
数据结构 第八章测验 测验答案 慕课答案 UOOC优课 课后练习 深圳大学
![数据结构 第八章测验 测验答案 慕课答案 UOOC优课 课后练习 深圳大学](https://img.taocdn.com/s3/m/fc3380fe5122aaea998fcc22bcd126fff7055df4.png)
数据结构第八章测验一、单选题 (共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。
数据结构图,查找,内排序的练习及答案
![数据结构图,查找,内排序的练习及答案](https://img.taocdn.com/s3/m/b84fcc055e0e7cd184254b35eefdc8d376ee1421.png)
数据结构图,查找,内排序的练习及答案数据结构课后练习习题要求:此次练习不要求上交,只是帮助⼤家掌握知识点,便于复习。
第⼋章图⼀.单项选择题(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_____。
数据结构智慧树知到答案章节测试2023年黑龙江工程学院
![数据结构智慧树知到答案章节测试2023年黑龙江工程学院](https://img.taocdn.com/s3/m/80e12a44f56527d3240c844769eae009581ba26e.png)
绪论单元测试1.()在其著作《计算机程序设计艺术》中,开创了数据结构的最初体系。
( )A:尼古拉斯·沃斯B:唐纳德·克努特C:理查德·卡普D:史蒂芬·古克答案:B2.()提出了著名的公式程序=算法+数据结构。
( )A:史蒂芬·古克B:唐纳德·克努特C:理查德·卡普D:尼古拉斯·沃斯答案:D3.数据结构课程不是()课程的先修课程。
A:数据库原理B:高级语言程序设计C:操作系统D:计算机组成原理答案:B4.下面哪个不是常见的数据结构。
()A:线性方程组B:树C:线性表D:栈答案:A5.下面说法错误的是()。
A:精心选择的数据结构能够带来更高的计算速度和存储效率B:程序是为处理计算机问题编制的一组指令集C:我国高校从20世纪50年代就开设了数据结构这一课程D:通过数据结构课程,能够掌握数据结构的逻辑结构、存储结构及实现算法答案:C第一章测试1.()是组成数据具有独立含义不可分割的最小单位。
( )A:数据元素B:数据变量C:数据项D:数据对象答案:C2.数据逻辑结构中非线性结构包括()。
A:树形结构和队列结构B:图形结构和堆栈结构C:顺序结构和链式结构D:树形结构和图形结构答案:D3.设某数据结构的二元组形式表示为A=(D,R),D={01,02,03,04,05,06,07,08,09},R={r},r={<01,02>,<01,03>,<01,04>,<02,05>,<02,06>,<03,07>,<03,08>,<03,09>},则数据结构A是()。
A:物理结构B:图形结构C:线性结构D:树形结构答案:D4.数据结构的主要研究内容包括数据的()以及数据的运算和操作。
A:逻辑结构、抽象结构B:逻辑结构、物理结构C:离散结构、抽象结构D:抽象结构、物理结构答案:B5.数据结构被形象化的定义为一个二元组Group=(D,S),其中D为数据元素的有限集,S为()的有限集。
第八章查找习题_数据结构
![第八章查找习题_数据结构](https://img.taocdn.com/s3/m/caa7741fa300a6c30c229fd6.png)
3.一个无序序列可以通过构造一棵_ _ 为对无序序列进行排序的过程。
_ _树而变成一个有序序列,构造树的过程即
4. 哈希表是通过将查找码按选定的__
__和 __
__,把结点按查找码转
换为地址进行存储的线性表。哈希方法的关键是_
__和 __
__。一个好的
哈希函数其转换地址应尽可能__
__,而且函数运算应尽可能__
6. 略 7. 略
四、算法设计题 1. int Search(rectype r[ ],int n,keytype k)
//在 n 个关键字从小到大排列的顺序表中,查找关键字为 k 的结点。 {r[n+1].key=MAXINT;//在高端设置监视哨
i=1; while(r[i].key<k)i++; if (r[n+1].key==k) return (i%(n+1)); else return (0) }//算法 search 结束 查找过程的判定树是单枝树,限于篇幅不再画出。本题中虽然表按关键字有序,但进行 顺序查找,查找成功的平均查找长度亦为(n+1)/2。
三、应用题 1.哈希方法的平均查找路长主要取决于负载因子(表中实有元素数与表长之比),它反映了 哈希表的装满程度,该值一般取 0.65~0.9。
散列表存储中解决碰撞的基本方法: ① 开放定址法 形成地址序列的公式是:Hi=(H(key)+di)% m,其中 m 是表长, di 是增量。根据 di 取法不同,又分为三种: a.di =1,2,…,m-1 称为线性探测再散列,其特点是逐个探测表空间,只要散列表 中有空闲空间,就可解决碰撞,缺点是容易造成“聚集”,即不是同义词的关键字争夺同一 散列地址。 b.di =12,-12,22,-22,… ,k2(k≤m/2) 称为二次探测再散列,它减少了聚集, 但不容易探测到全部表空间,只有当表长为形如 4j+3(j 为整数)的素数时才有可能。 c.di =伪随机数序列,称为随机探测再散列。 ② 再散列法 Hi=RHi(key) i=1,2,…,k,是不同的散列函数,即在同义词产生 碰撞时,用另一散列函数计算散列地址,直到解决碰撞。该方法不易产生“聚集”,但增加 了计算时间。 ③ 链地址法 将关键字为同义词的记录存储在同一链表中,散列表地址区间用
中国农业大学_821数据结构_《数据结构》习题(8)
![中国农业大学_821数据结构_《数据结构》习题(8)](https://img.taocdn.com/s3/m/c97a1f12650e52ea55189842.png)
6. 已知长度为 12 的表 ( Jan, Feb, Mar, Apr, May, Jun, July, Aug,, Sep, Oct, Nov, Dec ): (1) 试按表中顺序依次将元素插入一棵初始为空的二叉树。 (字符之间以字典顺序比较 大小) 画出插入完成之后的二叉排序树, 且求在等概率的情况下查找成功的平均查找长度。 (2) 如果对表中元素先排序构成有序表,试求在等概率情况下对有序表进行折半查找 时,查找成功的平均查找长度。 (3) 按表中元素顺序构造出一棵相应的平衡二叉树,并求出在等概率的情况下查找成 功的平均查找长度。 7. B+树和 B-树的主要差异树什么? 8. 什么叫哈希法?哈希法中为什么会出现冲突? 9. 设关键值集合为 { 016, 087, 154, 170, 275, 426, 503, 509, 512, 612, 653, 678 },设计 一种哈希表,取装填因子 = 0.5,根据选择的哈希函数,计算出对应的地址,并统计出发 生冲突的次数。 10. 设关键值集合为 { SUN, GAO, HUA, WAN, PEN, YAN, LIU, ZHE, YAO, CHE }, 试 构造装填因子 = 10/13 的哈希表,取关键值的首字母在字母表中的序号(字典序)作为哈 希函数值,用线性探测法解决冲突,画出其哈希表。 11. 假定一个待哈希存储的线性表为 ( 32, 75, 63, 48, 94, 25, 36, 18, 70 ), 哈希地址空间 为[ 0 . . 10 ],如果采用除留余数法构造哈希函数和分别采用步长为 1 及步长为 3 的线性探 测法处理冲突,试分别给出它们对应的哈希表,并分别求出在等概率情况下查找成功时的 平均查找长度。 12. 将序列 (13, 15, 22, 8, 34, 19, 21) 插到一个初始时是空的哈希表中, 哈希函数采用 hash (x) = 1 + ( x MOD 7 )。 (1) 使用线性探测法解决冲突; (2) 使用步长为 3 的线性探测法解决冲突;
数据结构智慧树知到答案章节测试2023年商丘工学院
![数据结构智慧树知到答案章节测试2023年商丘工学院](https://img.taocdn.com/s3/m/432f5ff93086bceb19e8b8f67c1cfad6185fe94b.png)
第一章测试1.数据对象就是一组任意数据元素的集合。
()A:错B:对答案:A2.数据的运算描述是定义在数据的逻辑结构上的。
()A:错B:对答案:B3.算法是由若干条指令组成的有穷序列,而一个程序不一定满足有穷性。
()A:错B:对答案:B4.以下具有相同特性数据元素的集合,是数据的子集的是()。
A:数据对象B:数据C:数据结构D:数据符号答案:A5.下面不是算法所必须具备的特性的是()。
A:确定性B:有穷性C:高效性D:可行性。
答案:C第二章测试1.链表中的头结点仅起到标识的作用。
()A:错B:对答案:A2.对链表进行插入和删除操作时不必移动链表中结点。
()A:对B:错答案:A3.非空的双向链表中任何结点的前驱指针均不为空。
()A:对B:错答案:B4.设一条单链表的头指针变量为head且该链表没有头结点,则其判空条件是()。
A:head.next==headB:head!=nullC:head==nullD:head.next==null答案:C5.若一个线性表中最常用的操作是取第i个元素和找第i个元素的前趋元素,则采用()存储方式最节省时间。
A:单循环链表B:双链表C:单链表D:顺序表答案:D第三章测试1.一个栈的输入序列是12345,则栈的输出序列不可能是12345。
()A:错B:对答案:A2.栈和队列的存储方式既可是顺序方式,也可是链接方式。
()A:对B:错答案:A3.队是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构。
()A:错B:对答案:A4.栈和队列的共同点是()。
A:都是先进后出B:都是先进先出C:没有共同点D:只允许在端点处插入和删除元素答案:D5.一个初始输入序列1,2,…,n,出栈序列是p1,p2,…,pn,若p1=4,则p2的可能取值个数为()。
A:nB:n-3C:n-2答案:B第四章测试1.空串的长度为0。
()A:错B:对答案:B2.设串s=“I am a student”,则串长为()。
数据结构习题库1-8章测试题 章节练习带答案
![数据结构习题库1-8章测试题 章节练习带答案](https://img.taocdn.com/s3/m/9886154a26fff705cd170a3a.png)
第一章绪论一.填空题1.数据结构是一门研究非数值计算的程序设计问题中计算机的_____________ 以及它们之间的_________ 和操作等的学科。
2.数据结构包括数据的_____________ 结构、_____________ 结构和运算。
3.数据的物理结构被分为_________、________、__________和___________四种。
4.数据的逻辑结构是指数据元素之间的逻辑关系,根据数据元素之间关系的不同特性,逻辑结构通常有_______________ ,________________ ,________________ 和__________________四类基本结构。
5.一种抽象数据类型包括 ____________和_____________ 两个部分。
6.数据结构是指数据及其相互之间的______________。
当结点之间存在M 对N(M:N)的联系时,称这种结构为____________当结点之间存在1 对N(1:N)的联系时,称这种结构为____________。
7.数据结构被形式地定义为(D, R),其中D是___________ 的有限集合,R是D上的有限集合。
8. 数据的基本单位是________,它在计算机中是作为一个整体来处理的。
9.算法的特性有________,___________ ,____________ ,_______________ 和__________ 等五种特性。
10.通常从四个方面评价算法的质量:_________、_________、_________和_________。
11.算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为________。
12.算法的效率可分为______________ 效率和__________________ 效率。
13.算法的时间复杂度为(3n3+2000n log2n+90)/n2,其数量级表示为________。
数据结构(天津大学)智慧树知到答案章节测试2023年
![数据结构(天津大学)智慧树知到答案章节测试2023年](https://img.taocdn.com/s3/m/74e9f2ff0408763231126edb6f1aff00bed570de.png)
第一章测试1.数据的存储结构是指()A:存储在外存中的数据B:数据在计算机中的顺序存储方式C:数据的逻辑结构在计算机中的表示D:数据所占的存储空间量答案:C2.算法的空间复杂度是指()A:算法执行过程中所需要的存储空间B:算法程序所占的存储空间C:算法程序中的指令条数D:算法程序的长度答案:A3.下列叙述中正确的是()A:一个逻辑数据结构可以有多种存储结构,各种存储结构不影响数据处理的效率B:一个逻辑数据结构只能有一种存储结构C:数据的逻辑结构属于线性结构,存储结构属于非线性结构D:一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率答案:D4.程序执行的效率与数据的存储结构密切相关。
A:对B:错答案:A5.算法计算量的大小称为计算的()A:现实性B:复杂性C:规模D:效率答案:B6.算法的优劣与算法描述语言无关,但与所用计算机有关。
A:对B:错答案:B7.抽象数据类型可通过固有的数据类型来表示和实现。
A:错B:对答案:B8.算法是指令的有限序列。
A:错B:对答案:B9.数据的不可分割的最小单位是数据元素。
A:对B:错答案:B第二章测试1.下述哪个是顺序存储结构的优点?()A:删除运算方便B:存储密度大C:插入运算方便D:可方便的用于各种逻辑结构的存储表示答案:B2.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。
A:循环链表B:双向链表C:顺序表D:静态链表答案:C3.设线性表有n个元素,以下操作中在顺序表上实现比在链表上实现效率更高是()A:顺序输出这n个元素B:交换第1个与第2个元素的值C:输出第i(1≤i≤n)个元素的值D:输出与给定值x相等的元素在线性表中的序号答案:C4.在n个结点的线性表的顺序实现中,算法的时间复杂度为O(1)的操作是()。
A:访问第i个结点和求第i个结点的直接前驱B:在第i个结点后插入一个新结点C:以上都不对D:删除第i个结点答案:A5.循环链表H尾结点p的特点是()。
数据结构智慧树知到答案章节测试2023年上海电力大学
![数据结构智慧树知到答案章节测试2023年上海电力大学](https://img.taocdn.com/s3/m/d179cde73086bceb19e8b8f67c1cfad6195fe9bf.png)
第一章测试1.数据结构中,与所使用的计算机无关的是数据的( ) 结构。
A:存储B:逻辑C:物理D:物理和存储答案:B2.从逻辑上可以把数据结构分为()两大类。
A:顺序结构、链式结构B:线性结构、非线性结构C:初等结构、构造型结构D:动态结构、静态结构答案:B3.算法分析的目的是()A:分析算法的效率以求改进B:找出数据结构的合理性C:分析算法的易懂性和文档性D:研究算法中的输入和输出的关系答案:A4.一个”好”的算法应达到的目标有( )。
A:高时间效率和低存储率B:正确性C:可读性D:健壮性答案:ABCD5.健壮的算法不会因非法的输入数据而出现莫名其妙的状态。
A:错B:对答案:B6.数据的逻辑结构和数据的存储结构是相同的。
A:错B:对答案:A7.算法的实现依赖于数据的逻辑结构。
A:错B:对答案:A8.算法是对解题方法和步骤的描述。
A:对B:错答案:A9.链式存储结构所占存储空间()。
A:分两部分,一部分存放结点的值,另一个部分存放表示结点间关系的地址。
B:只有一部分,存储表示结点间关系的地址。
C:只有一部分,存放结点的值。
D:分两部分,一部分存放结点的值,另一部分存放结点所占存储单元值。
答案:A10.下列时间复杂度中最坏的是()。
A:O( logn)B:O(n2)C:O(n)D:O(1)答案:B第二章测试1.在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是:A:将n个结点从小到大排序B:访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)C:在第i个结点后插入一个新结点(1≤i≤n)D:删除第i个结点(1≤i≤n)答案:B2.链式存储结构的最大优点是A:存储密度高B:便于进行插入和删除操作C:便于随机存取D:无需预分配空间答案:B3.假设在顺序表{a0,a1,……,an-1}中,每一个数据元素所占的存储单元的数目为4,且第0个数据元素的存储地址为100,则第7个数据元素的存储地址是A:106B:128C:124D:107答案:B4.在一个单链表中的p和q两个结点之间插入一个新结点,假设新结点为s,则修改链的java语句序列是A:s.next=p;p.next=q;B:p.next=q;q.next=s;C:s.next=q;p.next=s;D:q.next=p;p.next=s;答案:C5.顺序存储方式的优点是存储密度大,且插入、删除运算效率高A:错B:对答案:A6.在单链表中,增加一个头结点的目的是为了A:方便运算的实现B:使单链表至少有一个结点C:标识表结点中首结点的位置D:说明单链表是线性表的链式存储答案:A7.一维数组第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是A:108B:110C:120D:100答案:A8.链表的删除算法很简单,因为当删除链中某个结点后,计算机会自动地将后续的各个单元向前移动A:错B:对答案:A9.链表的每个结点中都恰好包含一个指针A:对B:错答案:B10.顺序存储方式只能用于存储线性结构A:对B:错答案:B第三章测试1.若将整数1、2、3、4依次进栈,则不可能得到的出栈序列是A:1234B:4321C:1324D:1423答案:D2.在顺序栈中,若栈顶指针top指向栈顶元素的下一个存储单元,且顺序栈的最大容量是maxSize,则顺序栈的判空条件是A:top==maxSize-1B:top==-1C:top==maxSizeD:top==0答案:D3.在循环顺序队列中,假设以少用一个存储单元的方法来区分队列判满和判空的条件,front和rear分别为队首和队尾指针,front指向队首元素,rear 指向队尾元素的下一个存储单元,队列的最大存储容量为maxSize,则队列的判满条件是A:front==rear+1B:front==(rear+1)% maxSizeC:front!=rearD:front==rear答案:B4.在链栈中,进行出栈操作时A:需要判断栈是否为空B:无需对栈作任何差别C:需要判断栈是否满D:需要判断栈元素的类型答案:A5.栈和队列是一种非线性数据结构A:错B:对答案:A6.在循环顺序队列中,假设以少用一个存储单元的方法来区分队列判满和判空的条件,front和rear分别为队首和队尾指针,它们分别指向队首元素和队尾元素的下一个存储单元,队列的最大存储容量为maxSize,则队列的判空条件是A:front==(rear+1)% maxSizeB:front==rear+1C:front!=rearD:front==rear答案:D7.循环顺序队列是将顺序队列的存储区域看成是一个首尾相连的环,首尾相连的状态是通过数学上的哪种运算实现的?A:求余B:求和C:减运算D:除运算答案:A8.设数组Data[0..m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队操作的语句为A:front=(front+1)% mB:front=front+1C:front=(front+1)%(m+1)D:rear=(rear+1)%m答案:C9.假定利用数组a[n]顺序存储一个栈,用top表示栈顶指针,top==-1表示栈空,并已知栈未满,当元素x进栈时所执行的操作为A:a[top–]=xB:a[++top]=xC:a[–top]=xD:a[top++]=x答案:B10.在不带表头结点的链栈中,若栈顶指针top直接指向栈顶元素,则将一个新结点p入栈时修改链的两条对应语句为A:top=p;p.next=top;B:p.next=top;top=p;C:p=top;top.next=p.next;D:top.next=p;p=top;答案:B第四章测试1.下面关于串的叙述中,哪一个是不正确的?( )A:串既可以采用顺序存储,也可以采用链式存储B:空串是由空格构成的串C:模式匹配是串的一种重要运算D:串是字符的有限序列答案:B2.串的长度是指( )A:串中包含的不同字符个数B:串中除空格以外的字符个数C:串中包含的不同字母个数D:串中包含的字符个数答案:D3.设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为( )A:联接B:求子串C:求串长D:模式匹配答案:D4.设主串的长度为n,模式串的长度为m,则串匹配的KMP算法时间复杂度是( )A:O(n×m)B:O(n)C:O(m)D:O(n + m)答案:D5.串也是一种线性表,只不过( )A:数据元素均为字符B:数据元素是子串C:表长受到限制D:数据元素数据类型不受限制答案:A6.一个串的任意连续字符组成的子序列称为串的子串,该串称为主串。
数据结构章节练习题及答案8
![数据结构章节练习题及答案8](https://img.taocdn.com/s3/m/ef332be9fc4ffe473268ab4a.png)
第8章查找算法1. 请简述查找的作用。
查找的作用是根据给定值从一个数据集合中搜索某个元素。
若某个元素的关键字值与给定值相等,则查找成功;否则查找失败。
2. 请简述静态查找和动态查找的含义。
静态查找只根据给定值在数据集合中按关键字查找匹配元素、访问匹配元素的属性,而不对数据集合进行插入元素、删除元素等操作;而动态查找可能会在查找过程中向数据集合中插入一个新元素或从数据集合中删除一个已有元素。
3. 请简述各种查找算法的适用范围。
各种查找算法的适用范围:(a)顺序查找虽然查找效率最低,但其对待查找数据集合的存储结构无特别要求,在对数据集合进行增、删、改等操作时效率较高,因此,根据那些不需要经常作查找操作的关键字进行查找时,一般采用顺序查找算法。
若经常作查找操作,则应使用效率较高的其他查找算法。
(b)折半查找和分块查找主要适用于数据集合增、删、改等操作较少的情况;二叉排序树查找则适用于数据集合变化较频繁的情况。
(c)哈希查找虽然在理论上具有最短的平均查找长度,但它占用的存储空间较多,且在实际中只有哈希函数构造得好才能达到常量级的平均查找长度。
而要想构造出好的哈希函数,必须以大量数据为基础,因此,哈希查找主要适用于数据分布已知的情况。
4. 请简述顺序查找对待查找数据集合的要求及顺序查找的具体步骤。
顺序查找是一种最简单、直观的查找算法,适用于采用任何存储结构的数据集合,其具体步骤为:(a)按预先规定的顺序依次将数据集合中每个元素的关键字与给定值进行比较,若某个元素的关键字与给定值相同,则查找成功;(b)若遍历所有元素后,仍没有找到关键字与给定值相同的元素,则查找失败。
5. 请简述折半查找对待查找数据集合的要求及折半查找的具体步骤。
折半查找,又称二分查找,它要求数据集合采用顺序表存储结构,且数据集合中的元素是按关键字大小有序排列的。
假设数据集合的元素按关键字递增排列,折半查找算法的具体步骤为:(a)对于包含n个元素的递增数据集合R={R[1], R[2], …, R[n]}(R[i]≤R[i+1]),根据给定元素K进行折半查找,初始化待查找数据集合的下标起始位置low=1和结束位置high=n。
数据结构(查找)练习题与答案
![数据结构(查找)练习题与答案](https://img.taocdn.com/s3/m/2f10a00e960590c69ec376f5.png)
1、静态查找表和动态查找表的区别是()。
A.所包含的数据元素的类型不同B.施加其上的操作不同C.它们的逻辑结构相同D.以上都不对正确答案:B解析: B、若在查找的同时对表做修改操作(如插入和删除),则相应的查找表称之为动态查找表。
若在查找中不涉及表的修改操作,则相应的查找表称之为静态查找表。
2、顺序查找法适合于存储结构为()的线性表。
A.索引存储B.压缩存储C.顺序存储或链式存储D.哈希存储正确答案:C解析: C、顺序查找可以从前向后或从后向前依次查找,既适合于顺序存储结构也适合于链式存储结构。
3、采用顺序查找方法查找长度为n的顺序表时,在等概率时成功查找的平均查找长度为()。
A.(n-1)/2B.nC.n/2D.(n+1)/2正确答案:D解析: D、顺序查找时,元素ai需i次比较,成功查找的平均查找长度=(1+2+…+n)/n=(n+1)/2。
4、采用顺序查找方法查找长度为n的顺序表时,在等概率时不成功查找的平均查找长度为()。
A.(n-1)/2B.nC.n/2D.(n+1)/2正确答案:B解析: B、当查找的元素不在线性表中时,均需要n次元素之间的比较。
5、适合于折半查找的数据组织方式是()。
A.以链表存储的有序线性表B.以顺序表存储的有序线性表C.以链表存储的线性表D.以顺序表存储的线性表正确答案:B解析: B、折半查找的数据必须是有序的。
另外,折半查找中需要确定查找区间,这要求存储结构最好具有随机存取特性,而顺序表满足这个特性。
6、采用折半查找方法查找长度为n的线性表,当n很大时,在等概率时不成功查找的平均查找长度为()。
A. O(nlog2n)B. O(n2)C. O(n)D. O(log2n)正确答案:D解析: D、采用折半查找时,若n很大,对应的判定树可以看成是一棵满二叉树,失败节点(外部节点)集中在最下一层,落在每个失败节点时比较的次都均为log2n。
7、设有100个元素的有序表,采用折半查找方法,在等概率时成功时最大的比较次数是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第9章查找自测卷姓名班级
一、填空题(每空1分,共10分)
1. 在数据的存放无规律而言的线性表中进行检索的最佳方法是。
2. 线性有序表(a1,a2,a3,…,a256)是从小到大排列的,对一个给定的值k,用二分法检索表中与k相等的元素,在查找不成功的情况下,最多需要检索次。
设有100个结点,用二分法查找时,最大比较次数是。
3. 假设在有序线性表a[20]上进行折半查找,则比较一次查找成功的结点数为1;比较两次查找成功的结
点数为;比较四次查找成功的结点数为;平均查找长度为。
4.折半查找有序表(4,6,12,20,28,38,50,70,88,100),若查找表中元素20,它将依次与表中元素比较大小。
5. 在各种查找方法中,平均查找长度与结点个数n无关的查找方法是。
6. 散列法存储的基本思想是由决定数据的存储地址。
7. 有一个表长为m的散列表,初始状态为空,现将n(n<m)个不同的关键码插入到散列表中,解决冲突的方法是用线性探测法。
如果这n个关键码的散列地址都相同,则探测的总次数是。
二、单项选择题(每小题1分,共27分)
()1.在表长为n的链表中进行线性查找,它的平均查找长度为
A. ASL=n; B. ASL=(n+1)/2;
C. ASL=n+1; D. ASL≈log2(n+1)-1
()2.折半查找有序表(4,6,10,12,20,30,50,70,88,100)。
若查找表中元素58,则它将依次与表中比较大小,查找结果是失败。
A.20,70,30,50 B.30,88,70,50 C.20,50 D.30,88,50
()3.对22个记录的有序表作折半查找,当查找失败时,至少需要比较次关键字。
A.3 B.4 C.5 D.6
()4. 链表适用于查找
A.顺序B.二分法C.顺序,也能二分法D.随机
6.要进行线性查找,则线性表 A ;要进行二分查找,则线性表 B ;要进行散列查找,则线性表C 。
某顺序存储的表格,其中有90000个元素,已按关键项的值的上升顺序排列。
现假定对各个元素进行查找的概率是相同的,并且各个元素的关键项的值皆不相同。
当用顺序查找法查找时,平均比较次数约为D ,最大比较次数为 E 。
供选择的答案:
A~C:①必须以顺序方式存储②必须以链表方式存储③必须以散列方式存储
④既可以以顺序方式,也可以以链表方式存储
⑤必须以顺序方式存储且数据元素已按值递增或递减的次序排好
⑥必须以链表方式存储且数据元素已按值递增或递减的次序排好
D,E:①25000 ②30000 ③45000 ④90000
答案:A= B= C= D=E=
7. 数据结构反映了数据元素之间的结构关系。
链表是一种 A ,它对于数据元素的插入和删除
B 。
通常查找线性表数据元素的方法有
C 和
D 两种方法,其中 C 是一种只适合于顺序存储结构但
E 的方法;而 D 是一种对顺序和链式存储结构均适用的方法。
供选择的答案:
A:①顺序存储线性表②非顺序存储非线性表③顺序存储非线性表④非顺序存储线性表
B:①不需要移动结点,不需改变结点指针②不需要移动结点,只需改变结点指针
③只需移动结点,不需改变结点指针④既需移动结点,又需改变结点指针
C:①顺序查找②循环查找③条件查找④二分法查找
D:①顺序查找②随机查找③二分法查找④分块查找
E:①效率较低的线性查找②效率较低的非线性查找③效率较高的非线性查找④效率较高的线性查找答案:A=B=C=D=E=
8. 在二叉排序树中,每个结点的关键码值A , B 一棵二叉排序,即可得到排序序列。
同一个结点集合,可用不同的二叉排序树表示,人们把平均检索长度最短的二叉排序树称作最佳二叉排序,最佳二叉排序树在结构上的特点是 C 。
供选择的答案
A:①比左子树所有结点的关键码值大,比右子树所有结点的关键码值小
②比左子树所有结点的关键码值小,比右子树所有结点的关键码值大
③比左右子树的所有结点的关键码值都大
④与左子树所有结点的关键码值和右子树所有结点的关键码值无必然的大小关系
B: ①前序遍历②中序(对称)遍历③后序遍历④层次遍历
C:①除最下二层可以不满外,其余都是充满的②除最下一层可以不满外,其余都是充满的
③每个结点的左右子树的高度之差的绝对值不大于1 ④最下层的叶子必须在最左边
答案:A=B=C=
9. 散列法存储的基本思想是根据 A 来决定 B ,碰撞(冲突)指的是 C ,处理碰撞的两类主要方法是 D 。
供选择的答案
A,B:①存储地址②元素的符号③元素个数④关键码值
⑤非码属性⑥平均检索长度⑦负载因子⑧散列表空间
C: ①两个元素具有相同序号②两个元素的关键码值不同,而非码属性相同
③不同关键码值对应到相同的存储地址④负载因子过大⑤数据元素过多
D:①线性探查法和双散列函数法②建溢出区法和不建溢出区法
③除余法和折叠法④拉链法和开地址法
答案:A=B=C=D=
10. 考虑具有如下性质的二叉树:除叶子结点外,每个结点的值都大于其左子树上的一切结点的值。
并小于等于其右子树上的一切结点的值。
现把9个数1,2,3,…,8,9填入下图所示的二叉树的9个结点中,并使之具有上述性质。
此时,n1的值是A ,n2的值是 B ,n9的值是 C 。
现欲把10放入此树并使该树保持前述性质,增加的一个结点可以放在 D 或 E 。
供选择的答案
A~C:①1 ②2 ③3 ④4 ⑤5 ⑥6
⑦7 ⑧8 ⑨9
D~E:①n7下面②n8下面③n9下面
④n6下面⑤n1与n2之间⑥n2与n4之间
⑦n6与n9之间⑧n3与n6之间
答案:A=B=C=
D=E=
三、简答题(每小题4分,共16分)
1. 对分(折半)查找适不适合链表结构的序列,为什么?用二分查找的查找速度必然比线性查找的速度快,这种说法对吗?
2. 假定对有序表:(3,4,5,7,24,30,42,54,63,72,87,95)进行折半查找,试回答下列问题:
(1)画出描述折半查找过程的判定树;
(2)若查找元素54,需依次与哪些元素比较?
(3)若查找元素90,需依次与哪些元素比较?
(4)假定每个元素的查找概率相等,求查找成功时的平均查找长度。
3. 用比较两个元素大小的方法在一个给定的序列中查找某个元素的时间复杂度下限是什么? 如果要求时间复杂度更小,你采用什么方法?此方法的时间复杂度是多少?
4. 设哈希(Hash)表的地址范围为0~17,哈希函数为:H(K)=K MOD 16。
K为关键字,用线性探测法再散列法处理冲突,输入关键字序列:
(10,24,32,17,31,30,46,47,40,63,49)
造出Hash表,试回答下列问题:
(1)画出哈希表的示意图;
(2)若查找关键字63,需要依次与哪些关键字进行比较?
(3)若查找关键字60,需要依次与哪些关键字比较?
(4)假定每个关键字的查找概率相等,求查找成功时的平均查找长度。
四、分析题(每小题6分,共24分)
1. 【严题集9.3②】画出对长度为10的有序表进行折半查找的判定树,并求其等概率时查找成功的平均查找长度。
2. 在一棵空的二叉查找树中依次插入关键字序列为12,7,17,11,16,2,13,9,21,4,请画出所得到的二叉查找树。
3.【严题集9.9③】已知如下所示长度为12的表:
(Jan, Feb, Mar, Apr, May, June, July, Aug, Sep, Oct, Nov, Dec)
(1)试按表中元素的顺序依次插入一棵初始为空的二叉排序树,画出插入完成之后的二叉排序树,并求其
在等概率的情况下查找成功的平均查找长度。
(2)若对表中元素先进行排序构成有序表,求在等概率的情况下对此有序表进行折半查找时查找成功的平
均查找长度。
(3)按表中元素顺序构造一棵平衡二叉排序树,并求其在等概率的情况下查找成功的平均查找长度。
4. 选取散列函数H(key)=(3*key)%11,用线性探测法处理冲突,对下列关键码序列构造一个散列地址空间为0~10,表长为11的散列表,{22,41,53,08,46,30,01,31,66}。