数据结构练习8
(完整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.每次把待排序的记录划分为左、右两个子序列,其中左序列中记录的关键字均小于等于基准记录的关键字,右序列中记录的关键字均大于基准记录的关键字,则此排序方法叫做( )。
计算机学科专业基础综合数据结构-8_真题-无答案

计算机学科专业基础综合数据结构-8(总分100,考试时间90分钟)单项选择题1. 若对序列(tang,deng,an,wang,shi,bai,fang,liu)采用简单选择排序法按字典顺序进行排序,下面给出的四个序列中,第三趟的结果是______。
A. an,bai,deng,wang,tang,fang,shi,liuB. an,bai,deng,wang,shi,tang,fang,liuC. an,bai,deng,wang,fang,shi,tang,liuD. an,bai,deng,wang,shi,liu,tang,fang2. 每次从排序记录中挑出最小(或最大)的关键字,加入到待排序序列的末尾,则该排序算法是______。
A. 选择排序B. 快速排序C. 冒泡排序D. 插入排序3. 一组记录的序列F={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. 以下排序方法中,不需要进行关键字的比较的是______。
A. 快速排序B. 归并排序C. 基数排序D. 堆排序6. 直接插入排序在最好情况下的时间复杂度为______。
A. O(n)B. O(nlogn)C. O(logn)D. O(n2)7. 设有1000个无序元素,希望用最快的速度挑选出前10个最大的元素,最好选用______法。
A. 冒泡排序B. 快速排序C. 堆排序D. 基数排序8. 下面四种排序算法中,不是稳定排序的是______。
A. 冒泡排序B. 快速排序C. 堆排序D. 基数排序9. 就平均性能而言,目前最好的排序算法是______。
数据结构实验8 查找与排序

注意事项:在磁盘上创建一个目录,专门用于存储数据结构实验的程序。
因为机房机器有还原卡,请同学们将文件夹建立在最后一个盘中,以学号为文件夹名。
实验八查找和排序一、实验目的掌握运用数据结构两种基本运算查找和排序,并能通过其能解决应用问题。
二、实验要求1.掌握本实验的算法。
2.上机将本算法实现。
三、实验内容为宿舍管理人员编写一个宿舍管理查询软件, 程序采用交互工作方式,其流程如下:建立数据文件,数据结构采用线性表,存储方式任选(建议用顺序存储结构),数据元素是结构类型(学号,姓名,性别,房号),元素的值可从键盘上输入,可以在程序中直接初始化。
数据文件按关键字(学号、姓名、房号)进行排序(排序方法任选一种),打印排序结果。
(注意字符串的比较应该用strcmp(str1,str2)函数)查询菜单: (查找方法任选一种)1. 按学号查询2. 按姓名查询3. 按房号查询打印任一查询结果(可以连续操作)。
参考:typedef struct {char sno[10];char sname[2];int sex; //以0表示女,1表示男int roomno;}ElemType;struct SqList{ElemType *elem;int length;};void init(SqList &L){L.elem=(ElemType *)malloc(MAXSIZE*sizeof(ElemType));L.length=0;}void printlist(SqList L){ int i;cout<<" sno name sex roomno\n";for(i=0;i<L.length;i++)cout<<setw(7)<<L.elem[i].sno<<setw(10)<<L.elem[i].sname<<setw(3)<<L.elem[i].sex<<setw(6) <<L.elem[i].roomno<<endl;}。
《数据结构》第八章习题参考答案 (1)

有向图的任意顶点的度=邻接表中顶点所对应边链表中结点个数+逆邻接表中顶点所对应边链表中结点个数;
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
数据结构试题集(8套卷子+答案)

《数据结构》试卷一一、填空题:(共20分)1、当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用存储结构。
2、队列是限制插入只能在表的一端,而删除在表的另一端进行的线性表,其特点是。
3、在一棵二叉树中,度为0的结点个数为n0,度为2的个数为n2,则n0= 。
4、二叉树的前序遍历序列等同于该二叉树所对应森林的遍历序列5、对一棵二叉排序树,若以遍历该树,将得到一个以关键字递增顺序排列的有序序列。
6、三个结点a,b,c组成二叉树,共有种不同的结构。
7、在AVL树中,由于在A结点的右孩子的右子树上插入结点,使A结点的平衡因子由-1变为-2,使其失去平衡,应采用型平衡旋转。
8、图的遍历有两种,它们是。
9、堆排序的时间复杂度为。
10、在含有N个结点的二叉链表中有空链域,通常用这些空链域存储线索,从而得另一种链式存储结构----线索链表。
二、单项选择题(共20分)1、若进栈序列为1,2,3,4,假定进栈和出栈可以穿插进行,则可能的出栈序列是()(A)2,4,1,3(B)3,1,4,2(C)3,4,1,2(D)1,2,3,42、有一棵非空的二叉树,(第0层为根结点),其第i层上最多有多少个结点?()(A)2i(B)21-i(C)21+i(D) i3、设电文中出现的字母为A,B,C,D,E,每个字母在电文中出现的次数分别为9,27,3,5,11,按huffman编码,则字母A编码为()(A)10(B)110(C)1110(D)11114、下面关于数据结构的叙述中,正确的叙述是()(A)顺序存储方式的优点是存储密度大,且插、删除运算效率高(B)链表中每个结点都恰好包含一个指针(C)包含n个结点的二叉排序树的最大检索长度为logn2(D)将一棵树转为二叉树后,根结点无右子树5、程序段:y:=0while n>=(y+1)*(y+1) doy:=y+1enddo的时间复杂度为()(A)O(n) (B)O(n2) (C)O(n2/1) (D)O(1)6、排序方法中,关键码比较的次数与记录的初始排列无关的是( )(A) shell排序 (B) 归并排序 (C) 直接插入排序 (D) 直接选择排序7、数组q[0..n-1]作为一个环行队列,f 为当前队头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数总小于n,则队列中元素个数为( )(A) r-f (B) n+f-r (C) n+r-f (D) (n+r-f) mod n8、为了有效的利用散列查找技术,需要解决的问题是:( )Ⅰ:找一个好的散列函数Ⅱ:设计有效的解决冲突的方法Ⅲ:用整数表示关键码值(A) Ⅰ和Ⅲ (B) Ⅰ和Ⅱ (C) Ⅱ和Ⅲ (D) Ⅰ,Ⅱ和Ⅲ9、引入线索二叉树的目的是()(A) 加快查找结点的前驱或后继的速度(B) 为了能在二叉树中方便的进行插入与删除(C) :为了能方便的找到双亲(D) 使二叉树的遍历结果唯一10、用二分(折半)查找表的元素的速度比用顺序法()(A) 必然快(B) 必然慢(C): 相等(D): 不能确定三、简答题:(共40分)1、已知某二叉树按中序遍历序列为BFDAEGC,按前序遍历序列为ABDFCEG,试画出该二叉树形状,并写出它的后序遍历序列。
大学计算机《数据结构》试卷及答案(八)

大学计算机《数据结构》试卷及答案一、选择题(30分)1.设一维数组中有n个数组元素,则读取第i个数组元素的平均时间复杂度为()。
(A) O(n) (B) O(nlog2n) (C) O(1) (D) O(n2)2.设一棵二叉树的深度为k,则该二叉树中最多有()个结点。
(A) 2k-1 (B) 2k(C) 2k-1(D) 2k-13.设某无向图中有n个顶点e条边,则该无向图中所有顶点的入度之和为()。
(A) n (B) e (C) 2n (D) 2e4.在二叉排序树中插入一个结点的时间复杂度为()。
(A) O(1) (B) O(n) (C) O(log2n) (D) O(n2)5.设某有向图的邻接表中有n个表头结点和m个表结点,则该图中有()条有向边。
(A) n (B) n-1 (C) m (D) m-16.设一组初始记录关键字序列为(345,253,674,924,627),则用基数排序需要进行()趟的分配和回收才能使得初始关键字序列变成有序序列。
(A) 3 (B) 4 (C) 5 (D) 87.设用链表作为栈的存储结构则退栈操作()。
(A) 必须判别栈是否为满(B) 必须判别栈是否为空(C) 判别栈元素的类型(D) 对栈不作任何判别8.下列四种排序中()的空间复杂度最大。
(A) 快速排序(B) 冒泡排序(C) 希尔排序(D) 堆9.设某二叉树中度数为0的结点数为N0,度数为1的结点数为N l,度数为2的结点数为N2,则下列等式成立的是()。
(A) N0=N1+1 (B) N0=N l+N2(C) N0=N2+1 (D) N0=2N1+l10.设有序顺序表中有n个数据元素,则利用二分查找法查找数据元素X的最多比较次数不超过()。
(A) log2n+1 (B) log2n-1 (C) log2n (D) log2(n+1)二、填空题(42分)1.设有n个无序的记录关键字,则直接插入排序的时间复杂度为________,快速排序的平均时间复杂度为_________。
(完整版)数据结构与算法第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.若有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]的过程中⽐较元素的顺序为( )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第八章查找习题9.1 判断题(在你认为正确的题后的括号中打√,否则打X)。
(1)用来惟一区分文件中不同记录的属性或属性组称为主关键字。
( )(2)查找成功与否的关键在于是否按主关键字查找。
( )(3)顺序文件必须用一片地址连续的存储空间来存放。
( )(4)只有在顺序存储结构上才能采用顺序查找方法。
( )(7)只要按值有序排列的线性表采用顺序存储结构就可以采用折半查找方法。
( )(8)建立稠密索引的优点是节省存储空间。
( )(9)分块查找的效率与文件中的记录被分成多少块有关。
( )(10)分块查找过程是首先查找索引表,然后再到相应的块中具体查找记录。
( )(11)B-树和B十树都是用来实现动态索引的。
( )(12)在B-树上可以进行顺序查找。
( 1(13)在B+树上可以进行顺序查找。
/ 1(14)采用散列方法存储线性表,不能存储数据元素之间的关系。
( )(15)在散列文件中进行查找不涉及关键字的比较。
( )(16)散列冲突是指同一个关键字对应了多个不同的散列地址。
( )(17)散列表的负载因子等于存人散列表中的关键字的个数。
( )(18)在散列表的查找过程中,关键字的比较次数与表中关键字的数目直接相关。
( )(19)在利用线性探测法处理冲突的散列表中,散列函数值相同的关键字总是存放在一片地址连续的存储单元中。
(20)在采用链地址法处理冲突的散列表中,散列函数值相同的关键字是链接在同一个链表中的。
( )9.2单项选择题。
(1)衡量查找算法性能好坏的主要标准是。
A.参加比较的关键字值的多少B.被查找的关键字值在关键字序列中的位置C.关键字序列中是否存在被查找关键字值D.关键字值的平均比较次数的多少(2)顺序查找方法的优点之一是—。
·A.对于被查找对象几乎没有限制B.适合排序连续顺序文件的查找C.适合链接顺序文件的查找D.查找时间效率高(3)对线性表采用折半查找,该线性表必须。
A.元素按值有序排列B.采用顺序结构C.元素按值有序排列,并且采用顺序存储结构n元素按值有序排列,并且采用链式存储结构(4)下面的说法中,不正确的是——。
A.折半查找方法不适用于按值有序链接的链表的查找B.折半查找方法适用于按值有序的顺序表的查找C.折半查找方法适用于按关键字值大小有序排列的顺序文件的查找D.折半查找方法适用于排序连续顺序文件的查找(5)在有序表(k1,k2,…,k9,)中采用折半查找方法查找99次,其中,至少有一个元素被比较了99次,该元素是——。
A.K99 B.k50 C.K49 D.k1(6)为了实现分块查找,线性表必须采用——结构。
A.顺序存储B.链式存储C.索引存储D.散列存储(7)只能在顺序存储结构上才能实现的查找方法是法。
A.顺序查找B.树型查找C.折半查找D.散列查找(8)在具有15个记录的排序连续顺序文件上采用折半查找方法查找一个文件中不存在的记录,需要进行——次关键字的比较。
A.0 B.4 C.5 D.15(9)若在100个记录中查找其中任意一个记录,最多只要比较5次,则所采用的查找方法可能是——。
A.折半查找B.树型查找C.分块查找D.散列查找(10)若在n个记录中查找其中任意一个记录至少要比较2次,则所采用的查找方法可能是A.分块查找B‘折半查找C.树型查找D.散列查找(11)折半查找过程可以利用一棵称之为判定树的二叉树来描述。
在长度为12的序列中进行折半查找对应的判定树的根结点的右孩子的值(某元素在序列中的位置)是——。
A.7 B.8 C.9 D.10(12)若在序列中采用折半查找方法进行查找,用来描述该查找过程的判定树的形状与——有关。
A.序列中元素的值B.序列中元素的排列次序C.序列中元素的类型D.序列中元素的个数(13)在某序列中采用折半查找方法查找某个元素,依次被比较过的元素在该序列中的位置只能是——。
A.10,15,12,18,19 B.10,15,12,13,14C.10,15,16,18,19 D.10,15,11,13,14(14)在某序列中采用折半查找方法查找某个元素,依次被比较过的元素在该序列中的位置不可能是——。
A.10,5,7,8,9 B.10,5,2,1C.10,5,6,7,8 D.10,5,7,6(15)将数据元素2,4,6,8,10,12,14,16,18,20依次存放于一个一维数组中,然后采用折半查找方法查找元素12,被比较过的数组元素的下标依次为——。
A.10,16,12 B.10,12,16 C.4,7,5 D.4,5,7(16)索引文件中的索引表具有的特点是————。
A.索引项按关键字值有序,并且由用户提供B.索引项按关键字值有序,并且由系统提供C.索引项按关键字值无序,并且由用户提供D.索引项按关键宇值无序,并且由系统提供(17)m阶B-树中的m是指——。
A.每个结点至少具有m棵子树B.每个结点最多具有m棵子树C.分支结点中包含的关键字的个数D.m阶B-树的深度(18)下面关于B-树和B+树的叙述中,不正确的是——。
A.B-树和B+树都是平衡的多分树B.B-树和B+树都可以用于文件的索引结构D.B—树和B+树都能有效地支持随机检索(19)下面的命题中,不成立的是。
A.m阶B-树中的每一个分支结点的子树的数量都小于或等于m。
B.m阶B-树中的每一个分支结点的子树的数量都大于或等于m/2上取整C.m阶B-树中的任何一个结点的子树的深度都相等。
D.m阶B—树中有k个子树的分支结点包含k—1个关键字。
(20)评价散列函数质量好坏的标准是——。
A.函数是否简单B.计算是否快C.是否是解析式D.函数的取值是否均匀(21)在一个初始状态为空的散列表中依次插入关键字序列(MON,TUE,WED,THU,FRI,SAT,SUN),散列函数为H(key):i%7,其中,i为关键字key的第一个字母在英文字母表中的序号,地址值域为[0:6],采用线性再散列法处理冲突。
(22)在具有n个元素的序列中进行查找,平均查找长度为O(n)的方法是——。
A.顺序查找方法B.散列查找方法C.分块查找方法D.树型查找方法9.3 填空题。
(1)文件的逻辑结构是指——,文件的物理结构是指——。
(2)文件在物理结构中通常有——、——和——三种组织方式。
(3)文件的关键字是——。
(4)文件最基本操作是和。
(5)对线性表采用折半查找方法,该线性表必须采用——存储结构,并且——。
(6)在按值有序的线性表(5,8,11,12,15,20,32,41,57)中采用折半查找法查找20需要进行——次元素间的比较。
(7)具有n个结点的判定树的深度h = ——。
(8)若每个记录的查找概率相等,则在具有n个记录的顺序文件中采用顺序查找法的平均查找长度ASL=——。
(9)在具有n个记录的排序连续顺序文件中采用折半查找法的平均查找长度ASL=?(10)索引文件的索引表中的一个索引项是——之间的对照关系。
(11)索引文件包括——和——两个部分。
(12)索引表的特点是——,并且——。
(13)在索引文件中查找一个记录的过程是先查——,然后——。
(14)具有144项的表分成——块最好,若每块的最佳长度为8,则平均查找长度为——(15)在3阶B-树上,每个分支结点包含的子树的数目最多为——,最少为——。
(16)一棵B+树上通常有两个头指针(即查找的人口指针),其中一个指向——,另一个指向——。
(17)散列函数建立了——之间的对应关系。
(18)设计一个散列表通常应包括三个内容,分别是——、——和——。
(19)一个好的散列函数是指——。
处理冲突的方法通常有——、——和——一O(20)一个待散列存储的线性表为K二(18,25,63,50,42,32,9),散列函数为H(k):k%9,则与元素18发生冲突的元素有——个。
9.4 试叙述索引顺序文件与顺序文件相比较的优缺点,指出一种适用于索引顺序文件的外存设备。
9.5 已知一个长度为12的线性表(Dec,Feb,Nov,Oct,Jul,Sept,Aug,Apr,May,Jun,Jan,Mar)。
(1)按该线性表中元素的顺序构造出一棵二叉排序树;(2)若每个元素的查找概率均等,查找此二叉排序树中任意一个结点的平均查找长度ASL是多少?(3)若对线性表的元素按字典顺序从小到大排列以后,再用折半查找方法,则查找其中任意一个元素的平均查找长度ASL是多少?(4)画出相应的平衡二叉树。
9.6 折半查找过程可以利用一棵判定树来描述。
请画出n‘13时的判定树。
9.7 何谓散列冲突?何谓冲突处理?简要说明冲突处理的过程。
9.8 已知散列函数为H(k)二k%7,并采用线性探测再散列方法处理冲突,所建立的散列表如下所示,请依次将关键字17,27填人表中。
9.9 在初始为空的散列表中依次插入以下关键字序列:Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sept,Oct,Nov,Dec。
散列函数为H(k):i%p,其中,i为关键字的第一个字母在英文字母表中的序号。
请分别画出按以下两种情况构成的散列表:(1)散列地址空间为[0,12],p=13,用线性再散列法处理冲突;(2)散列地址空间为[0,6],p=7,用链地址法处理冲突。
9.10 在散列函数与散列地址范围都分别相同的前提下,采用链地址法处理冲突比采用开放地址法处理冲突的时间效率要高,为什么?9.11 已知有长度为M的散列表HT[0,M-1],散列函数为H(k),并且采用线性探测再散列方法处理冲突。
请写出在该散列表中查找关键字值为key的元素存在与否的算法。
若存在,则给出它在表中的位置,否则给出相应的信息。
9.12 请写出一个从散列文件中删除一个记录的算法。
设所用的散列函数为H(k),处理冲突的方法为线性再散列法。
9.13 请写出一个从散列文件中删除一个记录的算法。
设所用的散列函数为H(k),处理冲突的方法为链地址法。
9.14 已知一长度为n的线性表A和待散列地址空间为[0,m—1),其中m≥n。
若采用除留余数法构造散列函数与步长为根号下N下取整的线性探测再散列法处理冲突,请分别写出建立该散列表和在该散列表上进行查找的算法。
9.15 已知散列函数为H(k)=(3*k)%11,采用线性探测再散列法处理冲突。
对下列关键字值序列构造一个散列地址空间为[0,10]的散列表,并求出ASL。
(22,41,53,8,46,30,1,3l,66)历年考试题11.若用二分查找法取得的中间位置元素键值大于被查找值,说明被查找值位于中间值的前面,下次的查找区间为从原开始位置至()A.该中间位置B.该中间位置-1C.该中间位置+1 D.该中间位置/212.散列文件不能()A.随机存取B.索引存取C.按关键字存取D.直接存取13.若检索顺序文件各个记录的概率相同,设文件占用的页块数为n,则按关键字存取时的平均访问外存次数为()A.n/2 B.nC.n/4 D.log n10.在最坏的情况下,查找成功时二叉排序树的平均查找长度()A.小于顺序表的平均查找长度B.大于顺序表的平均查找长度C.与顺序表的平均查找长度相同D.无法与顺序表的平均查找长度比较11.闭散列表中由于散列到同一个地址而引起的“堆积”现象,是由()A.同义词之间发生冲突引起的B.非同义词之间发生冲突引起的C.同义词之间或非同义词之间发生冲突引起的D.散列表“溢出”引起的12.从外存设备的观点看,存取操作的基本单位是()A.逻辑记录B.数据元素C.文件D.物理记录13.对文件进行检索操作时,每次都要从第一个记录开始的文件是()A.顺序文件B.索引文件C.顺序索引文件D.散列文件5、考虑具有如下性质的二叉树:除叶子结点外,每个结点的值都大于其左子树上的一切结点的值,并小于等于其右子树上的一切结点的值。