数据结构补考复习题

合集下载

《数据结构》复习题题库

《数据结构》复习题题库

一、单项选择题(本大题共71小题,每小题2分,共142分)1、一个对象序列的排序码为{46,79,56,38,40,84},采用快速排序以位于最左位置的对象为基准而得到的第一次划分结果为()。

()A.{38,46,79,56,40,84}B.{38,79,56,46,40,84}C.{40,38,46,56,79,84}D.{38,46,56,79,40,84}标准答案:C2、广义表((a),a)的表头是()。

()A.aB.bC.(a)D.((a))标准答案:C3、数组A中,每个元素A的长度为3个字节,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,存放该数组至少需要的单元数是()。

()A.80B.100C.240D.270标准答案:C4、在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行()。

()A.HL=p;p->next=HL;B.p->next=HL;HL=p;C.p->next=HL;p=HL;D.p->next=HL->next;HL->next=p;标准答案:B5、一个具有n个顶点的无向完全图的边数为()。

()A.(n+1)/2B.n(n-1)/2C.n(n-1)D.n(n+1)标准答案:B6、如果待排序序列中两个数据元素具有相同的值,在排序后它们的位置发生颠倒,则称该排序是不稳定的。

下列选项中,()就是不稳定的排序方法。

()A.起泡排序B.归并排序C.直接插入法排序D.简单选择排序标准答案:D7、按照二叉树的定义,具有3个结点的二叉树有()种。

()A.3B.4C.5D.6标准答案:C8、设有1000个元素,用二分法查找时,最大比较次数是()。

()A.1B.7C.10D.25标准答案:C9、树适合用来表示()。

()A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据标准答案:C10、设有两个串p和q,求p在q中首次出现的位置的运算称作()。

数据结构复习题及答案5篇

数据结构复习题及答案5篇

数据结构复习题及答案5篇第一篇:数据结构复习题及答案、数据结构复习题及答案中南大学现代远程教育课程考试(专科)复习题及参考答案数据结构一、判断题:1.数组是一种复杂的数据结构,数组元素之间的关系既不是线性的也不是树形的。

()2.链式存储在插人和删除时需要保持物理存储空间的顺序分配,不需要保持数据元素之间的逻辑顺序。

()3.在只有度为0和度为k的结点的k叉树中,设度为0的结点有n0个,度为k的结点有nk个,则有n0=nk+1。

()4.折半搜索只适用于有序表,包括有序的顺序表和有序的链表。

()5.如果两个串含有相同的字符,则这两个串相等。

()6.数组可以看成线性结构的一种推广,因此可以对它进行插入、删除等运算。

()7.在用循环单链表表示的链式队列中,可以不设队头指针,仅在链尾设置队尾指针。

()8.通常递归的算法简单、易懂、容易编写,而且执行的效率也高。

()9.一个广义表的表尾总是一个广义表。

()10.当从一个小根堆(最小堆)中删除一个元素时,需要把堆尾元素填补到堆顶位置,然后再按条件把它逐层向下调整,直到调整到合适位置为止。

()11.对于一棵具有n个结点,其高度为h的二叉树,进行任一种次序遍历的时间复杂度为O(h)。

()12.存储图的邻接矩阵中,邻接矩阵的大小不但与图的顶点个数有关,而且与图的边数也有关。

()13.直接选择排序是一种稳定的排序方法。

()14.闭散列法通常比开散列法时间效率更高。

()15.有n个结点的不同的二叉树有n!棵。

()16.直接选择排序是一种不稳定的排序方法。

()17.在2048个互不相同的关键码中选择最小的5个关键码,用堆排序比用锦标赛排序更快。

()18.当3阶B_树中有255个关键码时,其最大高度(包括失败结点层)不超过8。

()19.一棵3阶B_树是平衡的3路搜索树,反之,一棵平衡的3路搜索树是3阶非B_树。

()20.在用散列表存储关键码集合时,可以用双散列法寻找下一个空桶。

数据结构复习题及参考答案

数据结构复习题及参考答案

数据结构复习题及参考答案《数据结构》课程复习资料一、填空题:1.设需要对5个不同的记录关键字进行排序,则至少需要比较________次,至多需要比较__________次。

2.设二叉排序树的高度为h,则在该树中查找关键字key最多需要比较_________次。

3.设在长度为20的有序表中进行二分查找,则比较一次查找成功的结点数有_________个,比较两次查找成功有结点数有_________个。

4.数据结构从逻辑上划分为三种基本类型:___________、__________和___________。

5.在一个具有n个顶点的无向完全图中,包含有________条边,在一个具有n个顶点的有向完全图中,包含有________条边。

6.向一棵B_树插入元素的过程中,若最终引起树根结点的分裂,则新树比原树的高度___________。

7.在堆排序的过程中,对任一分支结点进行筛运算的时间复杂度为________,整个堆排序过程的时间复杂度为________。

8.在快速排序、堆排序、归并排序中,_________排序是稳定的。

9.在有n个叶子结点的哈夫曼树中,总结点数是_______。

10.一棵树T采用二叉链表存储,如果树T中某结点为叶子结点,则在二叉链表BT中所对应的结点一定_______。

11.3.已知数组A[10][10]为对称矩阵,其中每个元素占5个单元。

现将其下三角部分按行优先次序存储在起始地址为1000的连续的内存单元中,则元素A[5,6]对应的地址是_______。

12.在有n个结点的无向图中,其边数最多为_______。

13.取出广义表A=(x,(a,b,c,d))中原子x的函数是_______。

14.对矩阵采用压缩存储是为了___ ____。

15.带头结点的双循环链表L为空表的条件是_______。

16.设线性表中元素的类型是实型,其首地址为1024,则线性表中第6个元素的存储位置是。

数据结构复习题及答案

数据结构复习题及答案

数据结构复习题及答案一、选择题1. 在数据结构中,以下哪种数据结构允许在任何位置进行插入和删除操作?A. 栈B. 队列C. 链表D. 数组答案:C2. 以下哪个选项是二叉搜索树的特性?A. 所有左子树的节点值小于根节点值B. 所有右子树的节点值大于根节点值C. 所有左子树的节点值大于根节点值D. 所有右子树的节点值小于根节点值答案:A3. 在图的遍历中,深度优先搜索(DFS)使用的是哪种数据结构?A. 栈B. 队列C. 链表D. 数组答案:A二、填空题1. 在一个有n个节点的完全二叉树中,如果节点按层次从上到下、从左到右编号为1, 2, 3, ..., n,则第i个节点的左孩子节点的编号为____。

答案:2i2. 哈希表解决冲突的一种方法是使用链地址法,其中每个哈希表项是一个____。

答案:链表3. 在图的表示方法中,邻接矩阵适合表示____图,邻接表适合表示____图。

答案:稠密;稀疏三、简答题1. 描述什么是递归,并给出一个简单的递归算法的例子。

答案:递归是一种在算法中调用自身的方法,用于解决可以分解为相似子问题的问题。

一个简单的递归算法例子是计算阶乘:n! = n * (n-1)!,其中基本情况是0! = 1。

2. 解释什么是图的广度优先搜索(BFS)算法,并说明其在哪些情况下适用。

答案:广度优先搜索(BFS)是一种遍历或搜索树或图的算法,它从根节点开始,逐层遍历节点。

BFS适用于寻找最短路径或在层次结构中按层次顺序访问节点的情况。

四、编程题1. 给定一个单链表,请编写一个函数来反转该链表。

答案:(此处省略具体代码实现,只提供解题思路)要反转一个单链表,可以创建一个新的链表头节点,然后遍历原链表,将每个节点的next指针指向前一个节点,直到链表末尾。

最后,将新链表的头节点设置为原链表的最后一个节点的前驱节点。

数据结构补考试题

数据结构补考试题

一. 填空题(请将答案写在下方的空格中,每题4分,共32分)1.下列是两个n ×n 的矩阵相乘的算法,求下列算法中@区域的时间频度为①,整个算法的时间复杂度为②。

•void Mult_matrix( int c[][], int a[][], int b[][],int n){for (i=1; i<=n; ++i)for (j=1; j<=n; ++j){c[i,j] = 0;for (k=1; k<=n; ++k)@ c[i,j] += a[i,k]*b[k,j];}}2.已知n阶三对角矩阵B,则B中的非零元素的个数为③,现采用以行序为主序的方式将B压缩存储到一个一维数组A[ ]中,则B中任意一个非零元素b ij与A[k]之间的对应关系为④。

3.已知S1=‘GUANGXI_GUANGDONG’,S2=’XI’,则函数INDEX(S1,S2)的运行结果为⑤。

4.已知一棵二叉树的前序扫描序列和中序扫描序列分别为ABCDEFGHIJ,BCDAFEHJIG,则该二叉树的后序序列为⑥。

5.下列是在线性链表中由指针q指出的链结点后面插入一个数据信息item的链结点的算法,在空格处输入代码,实现程序的功能。

Void INSERTERLINK(LinkList&list,LinkList q,ElemType item){ LinkList p;p=( LinkList)malloc(sizeof(LNode));p->data=item;if(list==NULL){ list=p;p->link=NULL;}Else{ ⑦;⑧;}}二. 简答题(按照要求完成下列各题)1.已知一元多项式f(x)=4x9-5x4+7x2-1 ,请写出用一维数组表示f(x)(选用较为节省空间的方法)。

(10分)2.已知K=(6,11,6,23,18,13,19,5),构造一棵二叉排序树。

数据结构复习题整理(答案)

数据结构复习题整理(答案)

数据结构复习题整理(答案)一、单选题1)下列操作系统中,交互性最强的是( )A、批处理系统B、分时系统C、实时系统D、网络操作系统2)在虚分页存储管理系统中,凡未装入过的页面都应从()调入内存A、交换区B、文件区C、系统区D、页面缓冲区3)某系统N个进程共享6台打印机,每个进程需要2台,则N的最大值不超过()时,系统一定不死锁。

A、3B、4C、5D、64)二叉树共有几种基本形态( C )A、3B、4C、5D、65)不带头结点的单链表头指针为head,判断该链表为空的条件是( A )A、head==NULL B、head->next==NULLC、head !=NULLD、head->next !=NULL6)树可以用集合{(x, y)| 结点x是结点y的双亲}表示,如果T={(b,d),(a,b),(c,e),(c,g),(c,f),(a,c),(e,h)},则树T的叶子结点的个数是(d )A、1B、2C、3D、47)下列哪种数据结构中,元素之间的关系是多对多关系( d)A、线性表B、树C、森林D、无向图8)P、V操作是()A、两条低级通信原语B、两条高级通信原语C、两组不同的机器指令D、两条系统调用命令9)下列进程状态转换,不可能发生的是()A、执行->就绪B、阻塞->执行C、阻塞->就绪D、执行->阻塞二、算法题1头插法建立单链表具体算法:LinkList CreatListF(void){//头插法建立单链表DataType ch;LinkList head;ListNode *s;head=NULL;printf("请输入链表各结点的数据(字符型):\n");while((ch=getchar())!='\n'){s=(ListNode *)malloc(sizeof(ListNode ));if(s==NULL){printf("申请存储空间失败!");return head;}s->data=ch; //输入的数据写入结点数据域s->next=head; //将新结点*s插入链表的前面head=s; //头指针指向新结点}return head;}2链表的删除具体算法:int DeleteList(LinkList head,int i){//链表的删除ListNode *p,*r;p=GetNode(head,i-1); //找到第i-1个结点if(!p ||!p->next) //!p与p==NULL等价,!p->next与p->next ==NULL等价{printf("未找到第%d个结点或第d%个结点不存在。

(完整版)数据结构复习题(附答案)

(完整版)数据结构复习题(附答案)

(完整版)数据结构复习题(附答案)⼀、算法设计题(每题15分,共60分)答题要求:①⽤⾃然语⾔说明所采⽤算法的思想;②给出每个算法所需的数据结构定义,并做必要说明;③写出对应的算法程序,并做必要的注释。

1、有⼀个带头结点的单链表,每个结点包括两个域,⼀个是整型域info,另⼀个是指向下⼀个结点的指针域next。

假设单链表已建⽴,设计算法删除单链表中所有重复出现的结点,使得info域相等的结点只保留⼀个。

3、约瑟夫环问题(Josephus问题)是指编号为1、2、…,n的n(n>0)个⼈按顺时针⽅向围坐成⼀圈,现从第s个⼈开始按顺时针⽅向报数,数到第m个⼈出列,然后从出列的下⼀个⼈重新开始报数,数到第m的⼈⼜出列,…,如此重复直到所有的⼈全部出列为⽌。

现要求采⽤循环链表结构设计⼀个算法,模拟此过程。

4、编程实现单链表的就地逆置。

23.在数组 A[1..n]中有n个数据,试建⽴⼀个带有头结点的循环链表,头指针为h,要求链中数据从⼩到⼤排列,重复的数据在链中只保存⼀个.5、设计⼀个尽可能的⾼效算法输出单链表的倒数第K个元素。

3、假设以I和O分别表⽰⼊栈和出栈操作。

栈的初态和终态均为空,⼊栈和出栈的操作序列可表⽰为仅由I和O组成的序列,称可以操作的序列为合法序列,否则称为⾮法序列。

(15分)(1)下⾯所⽰的序列中哪些是合法的?A. IOIIOIOOB. IOOIOIIOC. IIIOIOIOD. IIIOOIOO(2)通过对(1)的分析,写出⼀个算法,判定所给的操作序列是否合法。

若合法,返回true,否则返回false(假定被判定的操作序列已存⼊⼀维数组中)。

5、设从键盘输⼊⼀整数的序列:a1, a2, a3,…,an,试编写算法实现:⽤栈结构存储输⼊的整数,当ai≠-1时,将ai进栈;当ai=-1时,输出栈顶整数并出栈。

算法应对异常情况(⼊栈满等)给出相应的信息。

设有⼀个背包可以放⼊的物品重量为S,现有n件物品,重量分别为W1,W2,...,W n。

数据结构复习题

数据结构复习题

数据结构补考复习题一、单选题(每小题4分,共60分)1.计算机算法必须具备输入.输出.( B )等5个特性。

A.可行性.可移植性和可扩展性B.可行性.确定性和有穷性C.确定性.有穷性和稳定性D.易读性.安全性和稳定性2.树形结构是数据元素之间存在一种(D )。

A.一对一关系B.多对多关系C.多对一关系D.一对多关系3.若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素算法的时间复杂度( C )。

A.O(log2n)B.O(1)C.O(n)D.O(n2)4.链表不具有的特点是( A )。

A.可随机访问任一元素B.插入删除不需要移动元素C.不必事先估计存储空间D.所需空间与线性表长度成正比5.栈的操作特点是( C )。

A.随机存取B.顺序存取C.先进后出D.先进先出6.队列的删除操作是在( B )。

A.队尾B.队头C.队列任意位置D.队头元素后7.下列表示方法中,( A )不常用来存储稀疏矩阵。

A.索引表B.三元组C.带行指针向量的链接存储D.十字链表8.广义表C=(a,(b,c,d)) 的长度是( A )。

A.2B.3C.4D.59.在一颗非空二叉树中,叶子节点的总数比度为2的节点总数多( C )个。

A.-1B.0C.1D.210.除第一层外,满二叉树中每一层结点个数是上一层结点个数的( C )。

A.1/2倍B.1倍C.2倍D.3倍二、选择题(每小题4分,共40分)1.数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的( B )和运算的学科。

A.结构B.关系C.运算D.算法2.为了描述n个人之间的同学关系,可用( C )结构表示。

A.线性表B.树C.图D.队列3.在一个长度为n的顺序表中,在第i个元素之前插入一个新元素时,需向后移动( B )个元素。

A.n-iB.n-i+1C.n-i-1D.i4.从表中任一结点出发,都能扫描整个表的是( C )。

A.单链表B.顺序表C.循环链表D.静态链表5.队列的操作特点是( D )。

数据结构题库及答案详解

数据结构题库及答案详解

数据结构题库及答案详解一、选择题1. 在数据结构中,线性结构的特点是什么?A. 结构中存在唯一的开始结点和终端结点B. 结构中所有结点的前驱和后继都存在C. 结构中所有结点都只有一个直接前驱和一个直接后继D. 结构中存在多个开始结点和终端结点答案:C2. 栈是一种特殊的线性表,其特点是:A. 先进先出B. 先进后出C. 可以同时在两端进行插入和删除操作D. 只能在一端进行插入和删除操作答案:D3. 在二叉树的遍历算法中,先序遍历的顺序是:A. 先访问根结点,然后遍历左子树,最后遍历右子树B. 先遍历左子树,然后访问根结点,最后遍历右子树C. 先遍历右子树,然后访问根结点,最后遍历左子树D. 先遍历左右子树,最后访问根结点答案:A二、填空题4. 在图的遍历中,______算法可以避免重复访问同一顶点。

5. 哈希表的冲突可以通过______方法来解决。

答案:4. 深度优先搜索(DFS)5. 链地址法或开放地址法三、简答题6. 简述排序算法中的快速排序算法的基本原理。

答案:快速排序算法是一种分治算法,它通过选择一个元素作为“基准”,然后将数组分为两个子数组,一个包含小于基准的元素,另一个包含大于基准的元素。

然后对这两个子数组递归地应用快速排序算法。

7. 解释什么是递归,并给出一个递归函数的例子。

答案:递归是一种在函数中调用自身的编程技术。

递归函数必须有一个明确的终止条件,以避免无限递归。

例如,计算阶乘的递归函数如下:```int factorial(int n) {if (n == 0) return 1; // 终止条件return n * factorial(n - 1); // 递归调用}```四、编程题8. 编写一个函数,实现单链表的反转。

答案:```c// 假设ListNode是链表节点的定义ListNode* reverseList(ListNode* head) {ListNode* prev = NULL;ListNode* curr = head;ListNode* next = NULL;while (curr != NULL) {next = curr->next; // 保存下一个节点curr->next = prev; // 反转指针prev = curr; // 移动prevcurr = next; // 移动curr}return prev; // 新的头节点}```9. 给定一个整数数组,请实现一个函数来找到数组中的最长连续子序列的长度。

数据结构试题及答案(10套)

数据结构试题及答案(10套)

数据结构试题及答案(10套)数据结构试题及答案(10套)根据您的需求,我为您准备了10套数据结构试题及答案。

每套试题包含以下几个部分:选择题、填空题、编程题及答案解析。

下面是试题的具体内容:第一套试题:选择题:1. 在数据结构中,什么是栈?A. 先进先出(FIFO)的数据结构B. 后进先出(LIFO)的数据结构C. 随机访问的数据结构D. 无序排列的数据结构2. 以下哪种操作与队列的特性不相符?A. 入队操作B. 出队操作C. 查找操作D. 获取队首元素填空题:1. ______ 是一种动态集合,支持插入、删除和查找等操作。

2. 在二叉搜索树中,中序遍历的结果是________。

编程题:实现一个栈的数据结构,并包含以下操作:- push(x):将元素 x 压入栈中- pop():删除栈顶的元素并返回该元素- top():获取栈顶元素的值- empty():检查栈是否为空答案解析:选择题:B、C填空题:1. 集合 2. 升序序列编程题:略第二套试题:选择题:1. 以下哪个数据结构是一种广度优先搜索的应用?A. 栈B. 队列C. 堆D. 链表2. 在链表中,如果要删除一个节点,只给出该节点的指针,那么需要通过什么方式完成删除操作?A. 直接删除该节点B. 指向该节点的前一个节点的指针C. 指向该节点的后一个节点的指针D. 无法完成删除操作填空题:1. 树是一种________的数据结构。

2. 二叉树每个节点最多有______个子节点。

编程题:实现一个队列的数据结构,并包含以下操作:- enqueue(x):将元素 x 入队- dequeue():删除队首的元素并返回该元素- peek():获取队首元素的值- is_empty():检查队列是否为空答案解析:选择题:B、B填空题:1. 分层组织 2. 2编程题:略(以下部分省略)通过以上的题目,您可以对数据结构的知识点进行综合练习和复习。

每套试题包含了不同难度和类型的题目,能够帮助您全面了解和掌握数据结构的概念和操作。

河北东方学院2021 —2022 学年第一学期期末《数据结构》补考试卷

河北东方学院2021 —2022 学年第一学期期末《数据结构》补考试卷

河北东方学院2021 —2022 学年第一学期期末《数据结构》补考试卷一、选择题(共 15小题,每小题 2 分,共30分)1.某算法的时间复杂度为O(n^2),表明该算法的()。

[单选题] *A.问题规模是n^2B.执行时间等于n^2C.执行时间与n^2成正比(正确答案)D.问题规模与n^2成正比2.在一个单链表中,删除p结点(非尾结点)之后的一个结点的操作是()。

[单选题] *A.p->next=pB.p->next->next=p->nextC.p->next->next=pD.p->next=p->next->next(正确答案)3.设计算法要求算法能够提供异常处理,对不合理的数据进行检查,这属于算法设计的()目标。

[单选题] *A.正确性B.可读性C.可使用性D.健壮性(正确答案)4.在下列排序方法中,关键字比较的次数与记录的初始排列次序无关的是()。

[单选题] *A.希尔排序B.冒泡排序C.直接插入排序D.简单选择排序(正确答案)5.在一棵3叉树中度为3的结点数为两个,度为2的结点数为一个,度为1的结点数为两个,则度为0的结点数为()个。

[单选题] *A.4B.5C.6(正确答案)D.76.若无向图G(V,E)中含有17个顶点,则保证图G在任何情况下,都是连通的需要的边数最少是()。

[单选题] *A.6B.15C.16(正确答案)D.217.在以下排序方法中,()是稳定的排序方法。

[单选题] *A.简单选择排序B.折半插入排序(正确答案)C.希尔排序D.快速排序8.一棵完全二叉树有1001个结点,其叶子结点的个数是()。

[单选题] *B.501(正确答案)C.254D.5059.经过以下栈运算后StackEmpty(s)的值为()。

InitStack(s);Push(s,a);Push(s,b);Pop(s,x);Pop(s,y) [单选题] *A.aB.bC.1(正确答案)D.010.已知一棵3阶B-树中有2047个关键字,则树的最大高度是()。

数据结构复习题及答案

数据结构复习题及答案

数据结构复习题及答案数据结构习题一、名词解释1.数据、数据元素、数据项、数据结构、数据的逻辑结构、数据物理结构、顺序存储、链式存储、算法、时间复杂度、空间复杂度。

2.线性表、顺序表、单链表、双向链表、循环链表、双向循环链表、三个概念的区别:头指针、头结点、首元结点(第1个元素结点)。

3.栈(顺序栈、链栈)、队列(顺序队、链队)、循环队列、递归、稀疏矩阵、三元组。

4.树、叶子结点、结点的度、树的度、树的高(深)度、二叉树、遍历、满二叉树、完全二叉树、哈夫曼树、WPL、哈夫曼编码。

5.图(有向、无向)、网、边、弧、度、入度、出度、完全图(有向、无向)、(强)连通图(分量)、(最小)生成树、邻接矩阵、邻接表、DFS、BFS。

6.查找表、关键字、静态查找、动态查找、ASL、顺序查找、折半查找、分块查找、二叉排序树。

7、排序、内(外)排序、稳定性、插入(直接、希尔),交换(起泡、快速),选择(直接、堆),2路归并。

一、填空题1.数据结构是研究数据的_逻辑结构__和___物理结构__,并在这种结构上定义相关的运算,设计实现这些运算的算法,分析算法的效率。

算法的效率包括时间和空间两个方面,分别称为___时间复杂度____和__空间复杂度___。

2.数据的基本单元是__数据元素__,数据的最小单元是__数据项_。

3.算法是对特定问题求解___步骤___的一种描述,是指令的有限序列。

4.一个算法的时间复杂度为(3n3+2n—7),其数量级表示为O(n3)_。

5.一个算法具有5个特性:确定性、可行性、有穷性、输入和输出。

6.算法机能的阐发和怀抱,能够从算法的工夫庞大度和空间庞大度来评判算法的好坏。

7.数据的逻辑布局包孕调集布局、线性布局、树形布局和图型布局四品种型。

8.数据布局在计较机中的表示称为数据的物理布局,它能够采用__按次存储___或__链式存储_两种存储方法。

9.线性表有两种存储布局,划分为按次存储和链式存储。

带答案的数据结构补充习题

带答案的数据结构补充习题

补充习题第一章——第五章一、单选或填空题1. 下列程序段中S语句的执行频度为。

for(i=0;i<n;i++ )for(j=0;j<i;j++ )S;2. 下列算法的时间复杂度是()。

for(i=0;i<n;i++ )c[i]=i;3. 算法的时间复杂度可表示为O(1)、线性阶、平方阶O(n2)、对数阶O(logn)和指数阶O(2n)等。

4 以下关于数据结构的基本概念中,叙述正确的是A) 数据元素是数据不可分割的最小单位。

B) 数据是数据对象的子集。

C) 数据元素之间的关系在计算机中可用顺序映像和非顺序映像两种不同的方法表示。

D) 数据结构在计算机中的表示又称为逻辑结构。

5. 在数据结构中,数据的逻辑结构包括()。

线性结构和非线性结构B) 逻辑结构和物理结构顺序结构和链式结构D) 虚拟结构和抽象结构6. 在数据结构中,数据的存储结构包括。

线性结构和非线性结构B) 逻辑结构和物理结构C) 顺序结构和链式结构D) 虚拟结构和抽象结构7. 线性结构的数据元素之间存在一种( )。

A.一对多关系B.多对多关系C.多对一关系D.一对一关系8. 在长度为n的顺序表中插入一个元素,需要平均移动个元素。

A) n/2 B)nC) n(n-1) D) n(n+1)9. 在有n个元素的顺序表中做插入、删除运算,平均时间复杂度为。

10. 顺序表中逻辑上相邻的元素物理位置相邻,单链表中逻辑上相邻的元素的物理位置相邻。

A)必然、必然B)必然、不一定C)不一定、必然D)不一定、不一定11.相对于顺序存储而言,链式存储的优点是()。

A.随机存取B.节约空间C.增、删操作方便D.节点间关系简单12 以下关于头结点的描述中,叙述错误..的是A) 头结点是对链表首元结点的别称B) 若链表中附设头结点,则头指针一定不为空C) 头结点中不存储链表的数据元素,而是一些诸如表长之类的辅助信息D) 在单链表中附设头结点,插入或删除首元素时不必进行特殊处理13.已知L是无表头结点的单链表,且P所指结点既不是首元结点,也不是尾元结点,则在P之后插入S所指结点,则执行()。

数据结构期末考试复习试题(整理完的)

数据结构期末考试复习试题(整理完的)

数据结构期末考试复习试题(整理完的) 数据结构与算法》复题一、选择题1.数据结构可以从逻辑上分为线性结构和非线性结构。

2.数据结构在计算机内存中的表示是指数据的存储结构。

3.在数据结构中,与所使用的计算机无关的是数据的逻辑结构。

4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储数据元素之间的关系。

5.在决定选取何种存储结构时,一般不考虑各节点的值如何。

6.一些表面上很不相同的数据可以有相同的逻辑结构。

7.算法分析的目的是分析算法的效率以求改进,算法分析的两个主要方面是空间复杂度和时间复杂度。

8.下面程序段的时间复杂度是O(n²)。

s = 0;for (i = 0.i < n。

i++)for (j = 0.j < n。

j++)s += B[i][j];sum = s;9.下面程序段的时间复杂度是O(n*m)。

for (i = 0.i < n。

i++)for (j = 0.j < m。

j++)A[i][j] = 0;10.下面程序段的时间复杂度是O(log3n)。

i = 1;while (i <= n)i = i * 3;11.二维数组是其数据元素为线性表的线性表。

12.通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致。

13.链表不具备的特点是可随机访问任一结点。

14.不带头结点的单链表head为空的判定条件是head == NULL。

15.带头结点的单链表head为空的判定条件是head->next == NULL。

16.若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用带头结点的双循环链表存储方式最节省运算时间。

17.需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是静态链表。

18.非空的循环单链表head的尾结点(由p所指向)满足p->next == head。

数据结构补考复习题

数据结构补考复习题

数据结构补考复习题⼀、单项选择题(共30分,⼀题2分)1.在n 个结点的顺序表中,算法的时间复杂度是O(1)的操作是( A )A.访问第i 个结点(n i ≤≤1)和求第i 个结点的直接前驱(n i ≤≤2)B.在第i 个结点后插⼊⼀个新结点(n i ≤≤1)C.删除第i 个结点(n i ≤≤1)D.将n 个结点从⼩到⼤排序 2.以下与数据的存储结构⽆关的术语是 ( C ) A.顺序队列 B.链表C.有序表 D.链栈 3.栈在(D )中有所应⽤A.递归调⽤B.函数调⽤C.表达式求值D. 3个选项都有4.循环队列存储在数组A[2…m]中,则⼊队时的操作是( D )A.rear=rear+1B.raar=(rear+1)%mC.rear=(rear+1)%(m+1)D.rear=(rear+1)%(m-1)5.在⼀个长度为n 的顺序表中,在第i 个元素(11+≤≤n i )之前插⼊⼀个新元素时需向后移动 ( B )个元素 A.n-i B.n-i+1 C.n-i-1 D.i6.设栈S 和队列Q 的初始状态是空,元素e1,e2,e3,e4,e5,e6依次进⼊栈S ,⼀个元素出栈后即进⼊Q ,若6个元素出队序列是e2,e4,e3,e6,e5,e1,则栈S 的容量⾄少是( B ) A.2 B.3 C.4 D.6 7.串的长度是指( B )A.串中所含不同字母的个数B.串中所含字符的个数C.串中所含不同字符的个数D.串中所含⾮空格字符的个数 8.设⾼度为h 的⼆叉树上⾯只有度为0和度为2的结点,那么此类⼆叉树包含的结点数⾄少为( B ) A.2h B.2h-1 C.h+1 D.2h+19.根据使⽤频率,为5个字符设计的哈夫曼编码不可能是( C )A.111,110,10,01,00B.000,001,010,011,1C.100,11,10,1,0D.001,000,01,11,1010.⼀组记录为(46,79,56,38,40,84),则利⽤堆排序的⽅法建⽴的初始堆是(B )A. 79,46,56,38,40,84B.84,79,56,38,40,46C.84,79,56,46,40,38D.84,56,79,40,46,3811.⼀个栈的进栈序列是1,2,3,4,5,则栈的不可能的输出序列是( C )A.5,4,3,2,1B.2,1,5,4,3C.4,3,1,2,5D.2,3,5,4,112.采⽤线性探测法处理冲突的时候,需要探测多个位置,在查找成功的情况下,所探测的这些位置上的关键字( A ) A.不⼀定都是同义词(地址相同) B.⼀定都是同义词 C.⼀定都不是同义词 D.都相同 13.如果串S=’software’,其⼦串的个数是( B) A.37 B.36 C.8 D.914.设有数组A[i,j],数组的每个元素长度为3字节,i 的值为1~8,j 的值为1~10,数组从内存⾸地址BA 开始顺序存放,当⽤以⾏为主存放时,元素A[5,8]的存储⾸地址为( B ) A. BA+180 B. BA+141 C. BA+222 D. BA+23415.在循环双链表的p 所指结点之后插⼊s 所指结点的操作是( C )A.p→next=s;s→prior=p;p→next→prior=s;s→next=p→nextB. s→prior=p;s→next=p→next;p→next=s;p→next→prior=sC.s→prior=p;s→next=p→next;p→next→prior=s;p→next=sD. p→next=s;p→next→prior=s;s→prior=p;s→next=p→next⼆、填空题(共30分,⼀空2分)1.⼀个算法具有的特性是( 有穷性 ),(可⾏性 ),确定性,输⼊,输出。

数据结构考试复习题及答案 (22)

数据结构考试复习题及答案 (22)

1. 在一个二叉树中,遍历方式下(前序、中序、后序)根节点出现次数均等,则该二叉树为()A. 空树B. 只有一个节点的树C. 任意树的度为2的子树D. 任意一颗合法的二叉树答案:D解析:在二叉树的遍历过程中,如果遍历方式下根节点出现次数均等,则说明该二叉树是一颗合法的二叉树。

2. 在一个单链表中,要删除某个节点,需要先找到该节点的下一个节点,然后再修改指针,这种删除方法称为()A. 快拆B. 慢拆C. 插入删除D. 普通删除答案:D解析:在单链表中删除节点需要先找到该节点的下一个节点,然后再修改指针,这种删除方法称为普通删除。

二、填空题3. 在一个二叉树中,如果某个节点的左子树上的所有节点值都大于根节点的值,右子树上的所有节点值都小于根节点的值,则该节点的值为()。

答案:可能最大值或可能最小值解析:根据二叉树的性质,如果某个节点的左子树上的所有节点值都大于根节点的值,右子树上的所有节点值都小于根节点的值,则该节点的值为可能最大值或可能最小值。

4. 简述二叉树的遍历方法及其优缺点。

答案:二叉树的遍历方法包括前序遍历、中序遍历和后序遍历。

这些方法都有各自的优缺点。

前序遍历可以按照“根-左-右”的顺序访问所有节点,易于理解和实现;中序遍历可以按照“左-根-右”的顺序访问所有节点,适用于需要优先处理左子树的情况;后序遍历可以按照“左-右-根”的顺序访问所有节点,但可能无法处理右子树的最后两个节点。

同时,这些方法也存在一些缺点,例如无法访问某个特定节点的前驱和后继节点,需要在实现中进行权衡。

四、应用题5. 编写一个函数,实现二叉树的先序和中序遍历。

请使用Python编写代码并解释代码中关键部分的功能。

答案:代码如下:```pythonclass TreeNode:def __init__(self, val=0, left=None, right=None):self.val = valself.left = leftself.right = rightdef preorder_traversal(root):if root is None:return []return [root.val] + preorder_traversal(root.left) + preorder_traversal(root.right)def inorder_traversal(root):if root is None:return []return inorder_traversal(root.left) + [root.val] + inorder_traversal(root.right)```在先序遍历中,我们首先访问根节点,然后递归地遍历左子树和右子树。

数据结构补考题

数据结构补考题

一、判断题,正确在括号内打√,错误打×。

()1. AOV网的拓扑序列是唯一的。

()2. 一个有向图的邻接表和逆邻接表中的结点个数一定相等。

()3. 空串与空格串是相同的。

()4. 稀疏矩阵压缩存储后,必会失去随机存取的功能。

()5. 二叉排序树的充要条件是任一结点的值均大于其左孩子的值,小于其右孩子的值。

()6. 如果某排序算法是不稳定的,则该排序方法没有实际应用价值。

()7. 由二叉树的中序表示和前序表示可以导出其的后序表示。

()8. 顺序存储结构只能用来存放线性结构;链式存储结构只能用来存放非线性结构。

()9.在栈满的情况下不能做进栈操作,否则将产生“上溢”。

()10.在循环队列(少用一个元素空间)中front 指向对头元素位置,rear 指向队尾元素的后一位置,则队满的条件是front= =rear。

() 11.在单链表中,头结点是必不可少的。

()1 2.如果一个二叉树中没有度为1的结点,则必为满二叉树。

() 13. 循环单链表的结点结构与单链表的结点结构完全相同,只是结点间的连接方式不同。

() 14. 顺序存储结构只能用来存放线性结构;链式存储结构只能用来存放非线性结构。

( )1 5. 在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和。

( ) 16. 二叉树是树的特殊情形。

() 17. 从逻辑关系上讲,数据结构主要分为两大类:线性结构和非线性结构。

() 18. 连通分量是无向图中的极小连通子图。

() 19. 拓扑排序是指结点的值是有序排列。

() 20. 在高级语言(如C语言)中,指针类型是原子类型。

二、选择题。

1. 已知一维数组A采用顺序存储结构,每个元素占用4个存储单元,第九个元素的地址是144,则第一个元素的地址为()。

A、108B、180C、176D、1122. 若一个栈的输入序列是1,2,3,……,n,输出序列的第一个元素是n,则第i个输出元素是()。

A、不确定B、n-iC、n-i-1D、n-i+13. 在解决计算机主机与打印机之间速度不匹配问题时,通常设置一个打印缓冲区,该缓冲区应该是一个()结构。

十套数据结构试题及答案

十套数据结构试题及答案

数据构造试卷〔一〕一、单项选择题〔每题 2 分,共20分〕1.栈和队列的共同特点是( a )。

A.只允许在端点处插入和删除元素B.都是先进后出C.都是先进先出D.没有共同点2.用链接方式存储的队列,在进展插入运算时( d ).A. 仅修改头指针B. 头、尾指针都要修改C. 仅修改尾指针D.头、尾指针可能都要修改3.以下数据构造中哪一个是非线性构造?( d )A. 队列B. 栈C. 线性表D. 二叉树4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。

cA.688 B.678 C.692 D.6965.树最适合用来表示( c )。

A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6.二叉树的第k层的结点数最多为( d ).A.2k-1 B.2K+1 C.2K-1 D. 2k-17.假设有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进展二分查找,那么查找A[3]的比拟序列的下标依次为( c d)A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,38.对n个记录的文件进展快速排序,所需要的辅助存储空间大致为 cA. O〔1〕B. O〔n〕C. O〔1og2n〕D. O〔n2〕9.对于线性表〔7,34,55,25,64,46,20,10〕进展散列存储时,假设选用H〔K〕=K %9作为散列函数,那么散列地址为1的元素有〔 c d〕个,A.1 B.2 C.3 D.410.设有6个结点的无向图,该图至少应有( a )条边才能确保是一个连通图。

二、填空题〔每空1分,共26分〕1.通常从四个方面评价算法的质量:____时间正确性_____、____占用内存_易读性____、____复杂度__强壮性___和_____准确度_ 高效率___。

数据结构-复习题-答案

数据结构-复习题-答案

数据结构-复习题-答案一、选择题1. 数据结构是指()。

A. 一组数据的存储结构B. 一组数据的算法C. 一组数据的完整性D. 一组数据的遍历方式答案:A2. 数组是一种()数据结构。

A. 线性B. 非线性C. 树形D. 图形答案:A3. 链表是一种()数据结构。

A. 线性B. 非线性D. 图形答案:A4. 栈是一种()数据结构。

A. 线性B. 非线性C. 树形D. 图形答案:A5. 队列是一种()数据结构。

A. 线性B. 非线性C. 树形D. 图形答案:A6. 树是一种()数据结构。

A. 线性C. 树形D. 图形答案:B7. 图是一种()数据结构。

A. 线性B. 非线性C. 树形D. 图形答案:D8. 哈希表是一种()数据结构。

A. 线性B. 非线性C. 树形D. 图形答案:A9. 排序算法中,选择排序的时间复杂度是()。

B. O(logn)C. O(n)D. O(n^2)答案:D10. 排序算法中,快速排序的时间复杂度是()。

A. O(1)B. O(logn)C. O(n)D. O(n^2)答案:D二、填空题1. 在数组中,下标表示()。

答案:元素在数组中的位置2. 链表的结构中,节点包含()。

答案:数据元素和指向下一个节点的指针3. 树的根节点位于()。

答案:最顶层4. 图的节点间的关系可以用()表示。

答案:边5. 哈希表通过()进行快速的数据查找。

答案:哈希函数三、简答题1. 数据结构是什么,它的作用是什么?答:数据结构是一种组织和存储数据的方式,它的作用是使数据能够高效地进行操作和处理。

通过选择合适的数据结构,我们可以提高算法的效率,减少资源的浪费。

2. 数组和链表的区别是什么?答:数组是一种连续存储的数据结构,它的元素在内存中占用连续的空间。

链表则是一种离散存储的数据结构,它的元素在内存中可以分布在任意的位置。

数组的插入和删除操作比较耗时,而链表则可以快速进行插入和删除操作。

3. 栈和队列的特点及各自的应用场景是什么?答:栈是一种后进先出(LIFO)的数据结构,常用于实现递归调用、表达式求值等场景。

数据结构复习题与答案

数据结构复习题与答案

数据结构复习题与答案一、单项选择题(每题2分,共20分)1. 在数据结构中,线性结构和非线性结构的区别在于()。

A. 是否有子结构B. 是否有顺序C. 是否有头指针D. 是否有根节点答案:A2. 栈的基本操作中,不允许的操作是()。

A. 入栈B. 出栈C. 读栈顶元素D. 获取栈大小答案:D3. 在二叉树中,度为2的节点的最大子树数量是()。

A. 2B. 3C. 4D. 5答案:C4. 哈希表解决冲突的方法不包括()。

A. 分离链接法B. 开放寻址法C. 链地址法D. 二分查找法答案:D5. 在图的遍历中,深度优先搜索(DFS)使用的是()。

A. 栈B. 队列C. 链表D. 数组答案:A6. 快速排序算法的时间复杂度在最坏情况下是()。

A. O(n)B. O(nlogn)C. O(n^2)D. O(2^n)答案:C7. 归并排序算法的时间复杂度是()。

A. O(n)B. O(nlogn)C. O(n^2)D. O(2^n)答案:B8. 一个有n个顶点的无向图中,最多有多少条边()。

A. nB. n(n-1)/2C. n^2D. 2n答案:B9. 以下哪个排序算法是不稳定的()。

A. 冒泡排序B. 快速排序C. 归并排序D. 堆排序答案:B10. 在数据库中,索引通常使用哪种数据结构来实现()。

A. 链表B. 树C. 栈D. 队列答案:B二、填空题(每题2分,共20分)1. 在数据结构中,一个算法的时间复杂度通常用______来表示。

答案:大O符号2. 线性表的顺序存储结构,其特点是使用______连续的存储单元。

答案:一片3. 一个完全二叉树,如果它的深度为5,那么它最多有______个节点。

答案:314. 散列表中,如果装载因子过大,可能会导致______。

答案:冲突增多5. 在图的表示方法中,邻接矩阵适合表示______图。

答案:稠密6. 动态查找表中,二分查找法要求被查找的数据元素必须是______的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、单项选择题(共30分,一题2分)
1.在n 个结点的顺序表中,算法的时间复杂度是O(1)的操作是( A )
A.访问第i 个结点(n i ≤≤1)和求第i 个结点的直接前驱(n i ≤≤2)
B.在第i 个结点后插入一个新结点(n i ≤≤1)
C.删除第i 个结点(n i ≤≤1)
D.将n 个结点从小到大排序 2.以下与数据的存储结构无关的术语是 ( C ) A.顺序队列 B.链表C.有序表 D.链栈 3.栈在(D )中有所应用
A.递归调用
B.函数调用
C.表达式求值
D. 3个选项都有
4.循环队列存储在数组A[2…m]中,则入队时的操作是( D )
A.rear=rear+1
B.raar=(rear+1)%m
C.rear=(rear+1)%(m+1)
D.rear=(rear+1)%(m-1)
5.在一个长度为n 的顺序表中,在第i 个元素(11+≤≤n i )之前插入一个新元素时需向后移动 ( B )个元素 A.n-i B.n-i+1 C.n-i-1 D.i
6.设栈S 和队列Q 的初始状态是空,元素e1,e2,e3,e4,e5,e6依次进入栈S ,一个元素出栈后即进入Q ,若6个元素出队序列是e2,e4,e3,e6,e5,e1,则栈S 的容量至少是( B ) A.2 B.3 C.4 D.6 7.串的长度是指( B )
A.串中所含不同字母的个数
B.串中所含字符的个数
C.串中所含不同字符的个数
D.串中所含非空格字符的个数 8.设高度为h 的二叉树上面只有度为0和度为2的结点,那么此类二叉树包含的结点数至少为( B ) A.2h B.2h-1 C.h+1 D.2h+1
9.根据使用频率,为5个字符设计的哈夫曼编码不可能是( C )
A.111,110,10,01,00
B.000,001,010,011,1
C.100,11,10,1,0
D.001,000,01,11,10
10.一组记录为(46,79,56,38,40,84),则利用堆排序的方法建立的初始堆是(B )
A. 79,46,56,38,40,84
B.84,79,56,38,40,46
C.84,79,56,46,40,38
D.84,56,79,40,46,38
11.一个栈的进栈序列是1,2,3,4,5,则栈的不可能的输出序列是( C )
A.5,4,3,2,1
B.2,1,5,4,3
C.4,3,1,2,5
D.2,3,5,4,1
12.采用线性探测法处理冲突的时候,需要探测多个位置,在查找成功的情况下,所探测的这些位置上的关键字( A ) A.不一定都是同义词(地址相同) B.一定都是同义词 C.一定都不是同义词 D.都相同 13.如果串S=’software’,其子串的个数是( B) A.37 B.36 C.8 D.9
14.设有数组A[i,j],数组的每个元素长度为3字节,i 的值为1~8,j 的值为1~10,数组从内存首地址BA 开始顺序存放,当用以行为主存放时,元素A[5,8]的存储首地址为( B ) A. BA+180 B. BA+141 C. BA+222 D. BA+234
15.在循环双链表的p 所指结点之后插入s 所指结点的操作是( C )
A.p→next=s;s→prior=p;p→next→prior=s;s→next=p→next
B. s→prior=p;s→next=p→next;p→next=s;p→next→prior=s
C.s→prior=p;s→next=p→next;p→next→prior=s;p→next=s
D. p→next=s;p→next→prior=s;s→prior=p;s→next=p→next
二、填空题(共30分,一空2分)
1.一个算法具有的特性是( 有穷性 ),(可行性 ),确定性,输入,输出。

2.深度和广度优先遍历类似于二叉树的( 先序遍历 )和(按层次遍历 )。

3.广义表((a,b,c,d))的表头是((a,b,c,d) ) ,表尾是( () ),长度是 ( 1 ),深度是( 2 )。

4. 二叉树有50个叶子结点,则该二叉树的总结点数至少是( 99 ) 。

5.深度是k 的完全二叉树的结点数至少是( 2k-1 ),至少是 ( 2k-1 )。

6.在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的( 1 )倍。

7.顺序查找n 个元素的顺序表,查找成功时,比较关键字次数最多是( n-1 )次,使用监视哨时,如果没有查找到,比较关键字的次数是( n )次。

8. 如果二叉树先序是ABDEGCF,中序是DBGEACF,他的后序是( DGEBFCA )。

三、程序设计题: 1、 设计计算二叉树结点个数的算法
#include"stdio.h" #define max 100
typedef char datatype; typedef struct bnode{ datatype data;
struct bnode *lchild,*rchild; }bnode,*btree;
void visit(datatype a){ putchar(a); }
void preorder(btree t){ if(t){ visit(t->data); preorder(t->lchild); preorder(t->rchild); } }
int count(btree t){ int lcount,rcount;
if(t==NULL) return 0; else{ lcount=count(t->lchild); rcount=count(t->rchild);
return lcount+rcount+1;
}
}
2、计算二叉树的高度
#include"stdio.h"
#define max 100
typedef char datatype;
typedef struct bnode{
datatype data;
struct bnode *lchild,*rchild;
}bnode,*btree;
void visit(datatype a){
putchar(a);
}
void preorder(btree t){
if(t){
visit(t->data);
preorder(t->lchild);
preorder(t->rchild);
}
}
int height(btree t){
int h1,h2;
if(t==NULL) return 0;
else{
h1=height(t->lchild);
h2=height(t->rchild);
if(h1>h2) return h1+1;
else return h2+1;
}
}
3、求解二叉树每层结点个数
#include"stdio.h"
#define max 100
typedef char datatype;
typedef struct bnode{
datatype data;
struct bnode *lchild,*rchild;
}bnode,*btree;
int height(btree t){
int h1,h2;
if(t==NULL) return 0;
else{
h1=height(t->lchild);
h2=height(t->rchild);
if(h1>h2) return h1+1;
else return h2+1;
}
}
void visit(datatype a){
putchar(a);
}
void preorder(btree t){
if(t){
visit(t->data);
preorder(t->lchild);
preorder(t->rchild);
}
}
int evcount(btree t,int l,int num[]){
if(t){
visit(t->data);num[l]++;
evcount(t->lchild,l+1,num);
evcount(t->rchild,l+1,num);
}
}
3.给定了关键字序列(26,25,36,33,20,31,21,45,202,209,42,38,29,44)使用哈希表进行存储。

(1)给出除留余数法的哈希函数。

(2)使用开放地址线性探测法解决冲突,并且画出插入所有关键字后得到的哈希表,并给出冲突的次数。

答:(1)Hash(key)=key%17;
书上149页的线索二叉树,图a细看!!!。

相关文档
最新文档