德州学院数据结构大题
- 格式:pdf
- 大小:86.81 KB
- 文档页数:2
专业 年级(本、专科) 学号______________ 姓 名 ________________密封 线德州学院期末考试试卷( 至 学年第 学期)课程名称: 数据结构 考试对象: 计科、信管本 试卷类型 7 考试时间: 120 分钟 一、选择题(每小题2分,共20分) 1.算法的计算量的大小称为计算的( )。
A .效率 B. 复杂性 C. 现实性 D. 难度2.有六个元素6,5,4,3,2,1 的顺序进栈,问下列哪一个不是合法的出栈序列?( ) A. 543612 B. 453126 C. 346521 D. 2341563.在一个单链表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;4.当利用大小为N的数组顺序存储一个栈时,假定用top==N 表示栈空,则向这个栈插入一个元素后,应执行( )语句修改top 指针.A .top++B .top--C .top=0D .top5.对于顺序存储的队列,存储空间大小为n ,头指针为F ,尾指针为R 。
若在逻辑上看一个环,则队列中元素的个数为( )A .R-FB .n+R-FC .(R-F+1)mod nD .(n+R-F )mod n6.由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为( ). A .24 B .55 C .72 D .53 7.有n 个顶点的完全无向图中,则包含有( )条边. A .n(n-1) B .n(n-1)/2 C .n D .n²8.设i 为n 个结点的完全二叉树结点编号,i=1,2,3...n ;若i ≤(n-1)/2时,结点i 的右孩子为( )A .2iB .2i+1C .2i-1D .i+19.适用于折半查找的表的存储方式及元素排列要求为( )。
数据结构试题一、单选题1、在数据结构的讨论中把数据结构从逻辑上分为(C )A 内部结构与外部结构B 静态结构与动态结构C 线性结构与非线性结构D 紧凑结构与非紧凑结构。
2、采用线性链表表示一个向量时,要求占用的存储空间地址(D )A 必须是连续的B 部分地址必须是连续的C 一定是不连续的D 可连续可不连续3、采用顺序搜索方法查找长度为n的顺序表时,搜索成功的平均搜索长度为( D )。
A nB n/2C (n-1)/2D (n+1)/24、在一个单链表中,若q结点是p结点的前驱结点,若在q与p之间插入结点s,则执行( D )。
A s→link = p→link;p→link = s;B p→link = s; s→link = q;C p→link = s→link;s→link = p;D q→link = s;s→link = p;5、如果想在4092个数据中只需要选择其中最小的5个,采用( C )方法最好。
A 起泡排序B 堆排序C 锦标赛排序D 快速排序6、设有两个串t和p,求p在t中首次出现的位置的运算叫做( B )。
A 求子串B 模式匹配C 串替换D 串连接7、在数组A中,每一个数组元素A[i][j]占用3个存储字,行下标i从1到8,列下标j从1到10。
所有数组元素相继存放于一个连续的存储空间中,则存放该数组至少需要的存储字数是( C )。
A 80B 100C 240D 2708、将一个递归算法改为对应的非递归算法时,通常需要使用( A )。
A 栈B 队列C 循环队列D 优先队列9、一个队列的进队列顺序是1, 2, 3, 4,则出队列顺序为( C )。
10、在循环队列中用数组A[0..m-1] 存放队列元素,其队头和队尾指针分别为front和rear,则当前队列中的元素个数是( D )。
A ( front - rear + 1) % mB ( rear - front + 1) % mC ( front - rear + m) % mD ( rear - front + m) % m11、一个数组元素a[i]与( A )的表示等价。
数据结构考试试题题库一、选择题1. 在数据结构中,线性表是按照什么顺序存储数据的?A. 随机B. 无序C. 有序D. 连续2. 栈(Stack)是一种遵循哪种原则的数据结构?A. 先进先出(FIFO)B. 先进后出(LIFO)C. 后进先出(LILO)D. 随机访问3. 哈希表(Hash Table)的主要优点是什么?A. 存储空间大B. 访问速度快C. 易于排序D. 易于扩展二、简答题1. 请简述数组和链表的区别。
2. 什么是二叉树?请描述二叉树的几种遍历方法。
三、计算题1. 给定一个单链表,编写一个算法来删除链表中的重复元素。
2. 假设有一个数组,其中包含n个元素,编写一个算法来找到数组中的第k小的元素。
四、应用题1. 描述如何使用队列来实现一个打印任务调度系统。
2. 请解释二叉搜索树(BST)的插入操作,并给出相应的算法实现。
五、编程题1. 编写一个C++函数,实现对一个给定的整数数组进行排序。
2. 编写一个Python函数,实现对一个二叉树进行层次遍历。
六、论述题1. 讨论图的两种存储结构:邻接矩阵和邻接表,并比较它们的优缺点。
2. 解释什么是递归,并给出一个使用递归解决实际问题的例子。
结束语数据结构的学习不仅仅是对概念的理解,更重要的是能够将这些概念应用到实际问题的解决中。
通过本题库的练习,希望能够加深你对数据结构的理解和应用能力。
请注意,这只是一个示例题库,实际的考试题库可能会包含更多的题目和不同的题型。
考生应根据具体的课程内容和考试要求来准备。
1简述快速排序算法的基本思想。
2二叉树T的前序遍历序列和中次遍历序列分别是ABCDEFG和CBEDAFG,试画出该二叉树,并写出二叉树的后序遍历序列和层次遍历序列。
3假设字符a,b,c,d,e,f,g,h的使用频度分别是0.15,0.19,0.07,0.08,0.04,0.23,0.13,0.11画出哈夫曼树并写出a,b,c,d,e,f,g,h的Huffman(哈夫曼)编码。
4画出对关键字序列(5,12,20,32,38,45,60,72,90,100)进行折半查找得到判定树,并求出关键字在等概率情况下查找成功的平均查找长度。
5画出二叉树的五种基本形态。
6用序列(46,88,45,39,70,58,101,10,66,34)建立一个二叉排序树,画出建立二叉排序树的过程。
7设哈希(Hash)表的地址范围为0到17,哈希函数为:H(K)=K MOD16。
K关键字,用线性探测法再散列法处理冲突,输入关键字序列:(10,24,32,17,31,30,46,47,40,63,49)构造Hash表,试回答下列问题:(1)(4分)画出哈希表的示意图;(2)(4分)若查找关键字63,需要依次与哪些关键字进行比较?(3)(2分)假定每个关键字的查找概率相等,求查找成功时的平均查找长度。
8已知一组元素的排序码为(36,25,48,12,65,20),写出用直接插入排序法每次向前面有序表插入一个元素后的排列结果。
9已知如下所示长度为10的表(45,12,32,20,75,25,8,50,90,64),按表中元素顺序构造一棵二叉排序树。
并求在等概率情况下查找成功的平均查找长度。
10写出快速排序的思想,并写出下列序列一趟快速排序的结果,(49,38,65,20,76,13,27,80,50)11设一个散列表长度为13,散列函数采用H(key)=key%13,并用线性探测再散列解决冲突,将下列关键码(19、14、23、01、68、20、84、27、55、11、10)散列到表中,求等概率情况下查找成功时的平均查找长度。
数据结构题库及答案详解一、选择题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. 给定一个整数数组,请实现一个函数来找到数组中的最长连续子序列的长度。
数据结构练习题第一部分绪论一、单选题1. 一个数组元素a[i]与________的表示等价。
A、 *(a+i)B、 a+iC、 *a+iD、 &a+i2. 对于两个函数,若函数名相同,但只是____________不同则不是重载函数。
A、参数类型B、参数个数C、函数类型3. 若需要利用形参直接访问实参,则应把形参变量说明为________参数A、指针B、引用C、值4. 下面程序段的时间复杂度为____________。
for(int i=0; i<m; i++)for(int j=0; j<n; j++)a[i][j]=i*j;A、 O(m2)B、 O(n2)C、 O(m*n)D、 O(m+n)5. 执行下面程序段时,执行S语句的次数为____________。
for(int i=1; i<=n; i++)for(int j=1; j<=i; j++)S;A、 n2B、 n2/2C、 n(n+1)D、 n(n+1)/26. 下面算法的时间复杂度为____________。
int f( unsigned int n ) {if ( n==0 || n==1 ) return 1; else return n*f(n-1);}A、 O(1)B、 O(n)C、 O(n2)D、 O(n!)二、填空题1. 数据的逻辑结构被分为__________、_________、__________和__________四种。
2. 数据的存储结构被分为__________、_________、__________和__________四种。
3. 在线性结构、树形结构和图形结构中,前驱和后继结点之间分别存在着________、________和________的联系。
4. 一种抽象数据类型包括__________和__________两个部分。
5. 当一个形参类型的长度较大时,应最好说明为_________,以节省参数值的传输时间和存储参数的空间。
德州学院数学系期末考试试题(A卷)( 2010 至 2011 学年第 1 学期)课程名称:数据结构考试对象:07级本试卷类型:闭卷考试时间: 120分钟一、选择题(每小题2分,共20分)1.算法的计算量的大小称为计算的()。
A.效率 B. 复杂性 C. 现实性 D. 难度2.以下哪一个不是算法的特性()。
.有穷性 B.确定性 C.简洁性 D.可行性3.数据结构的定义为(D,S),其中D是( )的集合。
A 算法 B数据元素 C 数据操作 D 逻辑结构4.在一个单链表中,若p所指结点不是最后结点,在p之后插入s所指结点,则执行( )。
A s->next=p;p->next=s;B s->next=p->next;p->next=s;C s->next=p->next;p=s;D p->next=s;s->next=p;5.栈的数组表示中,top为栈顶指针(指向栈顶元素),栈空的条件是( )。
A top=0B top=maxSizeC top=maxSizeD top=-16.栈和队列的共同点是()。
A.都是先进先出 B.都是先进后出C.只允许在端点处插入和删除元素 D.没有共同点7.具有15个结点的完全二叉树的深度为( )。
A 2B 3C 4D 58.已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历的结果为()。
A.CBEFDA B. FEDCBA C. CBEDFA D.不定9.采用折半查找方法查找长度为n的有序表时,元素的平均查找长度为()。
A O(n2)B O(nlog2n) C O(log2n) D O(n).对二叉排序树进行()遍历,可以得到关键字的有序序列。
A.前序 B.中序 C.后序 D.层次二、填空题(每空2分,共20分)1.根据数据元素之间的关系不同,通常有以下四种结构,、、和图形结构。
2.将一棵树转化为二叉树时,此二叉树的根节点的右子树为。
德州学院数据结构6卷专业年级(本科)学号______________ 姓名 ________________密封线德州学院期末考试试题(至学年第学期)课程名称:数据结构考试对象:电科本试卷类型: 6 考试时间:120分钟一、选择题(本题共10道小题,每道小题3分,共30分)1.设某无向图有n 个顶点,则该无向图的邻接表中有()个表头结点。
A. 2n B. n C. n/2 D. n(n-1)2.设无向图G 中有n 个顶点,则该无向图的最小生成树上有()条边。
A. n B. n-1 C. 2n D. 2n-13.设一组初始记录关键字序列为(60,80,55,40,42,85),则以第一个关键字45为基准而得到的一趟快速排序结果是()。
A. 40,42,60,55,80,85B. 42,45,55,60,85,80C. 42,40,55,60,80,85D. 42,40,60,85,55,80 4.()二叉排序树可以得到一个从小到大的有序序列。
A. 先序遍历B. 中序遍历C. 后序遍历D. 层次遍历5.设按照从上到下、从左到右的顺序从1开始对完全二叉树进行顺序编号,则编号为i 结点的左孩子结点的编号为()。
A. 2i+1 B. 2iC. i/2D. 2i-16.程序段s=i=0;do {i=i+1; s=s+i ;}while(i<=n);的时间复杂度为()。
A. O(n) B. O(nlog 2n) C. O(n 2) D. O(n 3/2)7.设带有头结点的单向循环链表的头指针变量为head ,则其判空条件是()。
A. head==0 B. head->next==0 C. head->next==head D. head!=08.设某棵二叉树的高度为10,则该二叉树上叶子结点最多有()。
A. 20B. 256C. 512D. 10249.设一组初始记录关键字序列为(13,18,24,35,47,50,62,83,90,115,134),则利用二分法查找关键字90需要比较的关键字个数为()。
专业 年级(本科) 学号______________ 姓 名 ________________ 密 封线德州学院期末考试试题( 至 学年第 学期) 课程名称:数据结构 考试对象: 电科本 试卷类型: 1 考试时间: 120分钟 一、选择题(本题共10道小题,每道小题2分,共20分) 1.组成数据的基本单位是( C )。
A. 数据项 B. 数据类型 C. 数据元素 D. 数据变量 2.设数据结构A=(D ,R),其中D={1,2,3,4},R={r},r={<1,2>,<2,3>,<3,4>,<4,1>},则数据结构A 是(C )。
A.线性结构 B. 树型结构 C. 图型结构 D. 集合 3.数组的逻辑结构不同于下列( D )的逻辑结构。
A. 线性表 B. 栈 C. 队列 D. 树 4.二叉树中第i(i ≥1)层上的结点数最多有( C )个。
A. 2i B. 2i C. 2i-1 D. 2i-1 5.设指针变量p 指向单链表结点A ,则删除结点A 的后继结点B 需要的操作为(A )。
A. p->next=p->next->nextB. p=p->nextC. p=p->next->nextD. p->next=p6.设栈S 和队列Q 的初始状态为空,元素E1、E2、E3、E4、E5和E6依次通过栈S ,一个元素出栈后即进入队列Q ,若6个元素出列的顺序为E2、E4、E3、E6、E5和E1,则栈S 的容量至少应该是(C )。
A. 6B. 4C. 3D. 2 7.将10阶对称矩阵压缩存储到一维数组A 中,则数组A 的长度最少为( C )。
A. 100B. 40C. 55D. 808.设结点A 有3个兄弟结点且结点B 为结点A 的双亲结点,则结点B 的度数数为(B )。
A. 3B. 4C. 5D. 19.根据二叉树的定义可知二叉树共有( B )种不同的形态。
数据结构试题库及答案一、选择题1. 在数据结构中,线性结构的特点是:A. 元素之间存在一对一关系B. 元素之间存在一对多关系C. 元素之间存在多对多关系D. 元素之间存在一对一或多对多关系答案:A2. 栈(Stack)是一种特殊的线性表,其特点是:A. 只能在一端进行插入和删除操作B. 可以在两端进行插入和删除操作C. 只能在一端进行插入操作,另一端进行删除操作D. 可以在任意位置进行插入和删除操作答案:A3. 在二叉树中,度为1的节点数目为2,度为0的节点数目也为2,该二叉树的节点总数是:A. 5B. 6C. 7D. 8答案:B二、简答题1. 请简述什么是哈希表,并说明其主要优点。
答案:哈希表是一种通过哈希函数将键映射到表中一个位置来访问记录的数据结构。
其主要优点包括:平均情况下,查找、插入和删除操作的时间复杂度为O(1),即常数时间内完成操作;空间效率高,能够存储大量数据。
2. 描述图的深度优先搜索(DFS)算法的基本思想。
答案:深度优先搜索算法的基本思想是从一个顶点开始,尽可能深地搜索图的分支。
搜索过程中使用一个栈来保存路径上的顶点。
当搜索到一个顶点时,先访问该顶点,然后依次搜索其所有未被访问过的邻接顶点。
如果当前顶点的所有邻接顶点都被访问过,则回溯到上一个顶点,继续搜索其他邻接顶点。
三、应用题1. 给定一个无向图,使用邻接表表示,请编写一个算法找出图中的所有连通分量。
答案:首先,创建一个访问过的顶点集合。
然后,从图中任意一个未被访问的顶点开始,执行深度优先搜索(DFS)。
每次DFS完成后,就找到了一个连通分量。
重复这个过程,直到所有顶点都被访问过,即可找到图中的所有连通分量。
2. 假设有一个数组,需要频繁地进行查找、插入和删除操作,请设计一个适合这种场景的数据结构,并说明其优势。
答案:对于这种场景,可以使用平衡二叉搜索树(如AVL树或红黑树)。
这些数据结构可以保证在最坏情况下,查找、插入和删除操作的时间复杂度为O(log n)。
数据结构考试试题及答案一、选择题(每题2分,共20分)1. 在数据结构中,线性表的顺序存储结构通常使用什么类型的数据结构来实现?A. 栈B. 队列C. 数组D. 链表答案:C2. 下列选项中,哪一个不是二叉树的性质?A. 任意节点的左子树和右子树的深度可能不同B. 任意节点的左子树和右子树的深度相同C. 任意节点的左子树和右子树的节点数可能不同D. 任意节点的左子树和右子树的节点数相同答案:B3. 哈希表的冲突解决方法不包括以下哪种?A. 开放定址法B. 链地址法C. 线性探测法D. 排序法答案:D4. 以下哪种排序算法的时间复杂度最低?A. 冒泡排序B. 快速排序C. 插入排序D. 归并排序答案:B5. 在图的遍历算法中,深度优先搜索(DFS)使用的栈是:A. 系统栈B. 显式栈C. 隐式栈D. 以上都不是答案:B6. 以下哪种数据结构可以有效地实现稀疏矩阵的存储?A. 顺序存储B. 链表C. 散列D. 邻接矩阵答案:C7. 在二叉搜索树中,插入一个新节点后,树的平衡因子可能为:A. -2B. 0C. 2D. 3答案:A8. 堆数据结构中,父节点的值总是大于其子节点的值,这种堆被称为:A. 最小堆B. 最大堆C. 完全二叉树D. 满二叉树答案:B9. 以下哪个算法不是动态查找表的算法?A. 直接查找B. 二分查找C. 斐波那契查找D. 哈希查找答案:A10. 在图的遍历算法中,广度优先搜索(BFS)使用的栈是:A. 系统栈B. 显式栈C. 隐式栈D. 以上都不是答案:C二、填空题(每题2分,共20分)1. 在数据结构中,栈是一种______结构,遵循后进先出(LIFO)的原则。
答案:线性2. 一个具有n个顶点的无向图的边数最多为______。
答案:n*(n-1)/23. 快速排序算法的时间复杂度在最坏情况下为______。
答案:O(n^2)4. 在哈希表中,如果一个关键字的哈希地址已经被占用,则需要进行______。
专业 年级(本科) 学号______________ 姓 名 ________________密 封 线德州学院期末考试试题( 至 学年第 学期)课程名称:数据结构 考试对象: 电科本 试卷类型: 9 考试时间: 120分钟一、选择题(本题共10道小题,每道小题3分,共30分) 1.字符串的长度是指( )。
A. 串中不同字符的个数 B. 串中不同字母的个数 C. 串中所含字符的个数 D. 串中不同数字的个数 2.建立一个长度为n 的有序单链表的时间复杂度为( )A. O(n)B. O(1)C. O(n 2) D. O(log 2n) 3.两个字符串相等的充要条件是( )。
A. 两个字符串的长度相等 B. 两个字符串中对应位置上的字符相等 C. 同时具备(A)和(B)两个条件 D. 以上答案都不对 4.设某散列表的长度为100,散列函数H(k)=k % P ,则P 通常情况下最好选择( )。
A. 99 B. 97 C. 91 D. 935.在二叉排序树中插入一个关键字值的平均时间复杂度为( )。
A. O(n) B. O(1og 2n) C. O(nlog 2n) D. O(n 2)6.设一个顺序有序表A[1:14]中有14个元素,则采用二分法查找元素A[4]的过程中比较元素的顺序为( )。
A. A[1],A[2],A[3],A[4]B. A[1],A[14],A[7],A[4]C. A[7],A[3],A[5],A[4]D. A[7],A[5] ,A[3],A[4] 7.设一棵完全二叉树中有65个结点,则该完全二叉树的深度为( )。
A. 8 B. 7 C. 6 D. 58.设一棵三叉树中有2个度数为1的结点,2个度数为2的结点,2个度数为3的结点,则该三叉链权中有( )个度数为0的结点。
A. 5 B. 6 C. 7 D. 89.设无向图G 中的边的集合E={(a ,b),(a ,e),(a ,c),(b ,e),(e ,d),(d ,f),(f ,c)},则从顶点a 出发进行深度优先遍历可以得到的一种顶点序列为( )。
(完整版)数据结构试题及答案《数据结构》自考复习思考试题○10一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1. 若将数据结构形式定义为二元组(K,R),其中K是数据元素的有限集合,则R是K上( ) A. 操作的有限集合 B. 映象的有限集合C. 类型的有限集合D. 关系的有限集合2. 在长度为n的顺序表中删除第i个元素(1≤i≤n)时,元素移动的次数为( )A. n-i+1B. iC. i+1D. n-i3. 若不带头结点的单链表的头指针为head,则该链表为空的判定条件是( )A. head==NULLB. head->next==NULLC. head!=NULLD. head->next==head4. 引起循环队列队头位置发生变化的操作是( )A. 出队B. 入队C. 取队头元素D. 取队尾元素5. 若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则不.可能出现的出栈序列是( )A. 2,4,3,1,5,6B. 3,2,4,1,6,5C. 4,3,2,1,5,6D. 2,3,5,1,6,46. 字符串通常采用的两种存储方式是( )A. 散列存储和索引存储B. 索引存储和链式存储C. 顺序存储和链式存储D. 散列存储和顺序存储7. 设主串长为n,模式串长为m(m≤n),则在匹配失败情况下,朴素匹配算法进行的无效位移次数为( )A. mB. n-mC. n-m+1D. n8. 二维数组A[12][18]采用列优先的存储方法,若每个元素各占3个存储单元,且第1个元素的地址为150,则元素A[9][7]的地址为( )A. 429B. 432.C. 435D. 4389. 对广义表L=((a,b),(c,d),(e,f))执行操作tail(tail(L))的结果是( )A. (e,f)B. ((e,f))C. (f)D. ( )10. 下列图示的顺序存储结构表示的二叉树是( )11. n个顶点的强连通图中至少含有( )A. n-1条有向边B. n条有向边C. n(n-1)/2条有向边D. n(n-1)条有向边12. 对关键字序列(56,23,78,92,88,67,19,34)进行增量为3的一趟希尔排序的结果为( )A. (19,23,56,34,78,67,88,92)B. (23,56,78,66,88,92,19,34)C. (19,23,34,56,67,78,88,92)D. (19,23,67,56,34,78,92,88)13. 若在9阶B-树中插入关键字引起结点分裂,则该结点在插入前含有的关键字个数为( ) A. 4 B. 5C. 8D. 914. 由同一关键字集合构造的各棵二叉排序树( )A. 其形态不一定相同,但平均查找长度相同B. 其形态不一定相同,平均查找长度也不一定相同C. 其形态均相同,但平均查找长度不一定相同.D. 其形态均相同,平均查找长度也都相同15. ISAM文件和VSAM文件的区别之一是( )A. 前者是索引顺序文件,后者是索引非顺序文件B. 前者只能进行顺序存取,后者只能进行随机存取C. 前者建立静态索引结构,后者建立动态索引结构D. 前者的存储介质是磁盘,后者的存储介质不是磁盘二、填空题(本大题共10小题,每空2分,共20分)16. 数据的逻辑结构在计算机存储器内的表示,称为数据的____________。
数据结构的试题及答案一、选择题(每题2分,共10分)1. 在数据结构中,()是数据元素之间的相互关系的集合。
A. 数据B. 结构C. 存储结构D. 逻辑结构答案:D2. 线性表的顺序存储结构中,存储元素的物理位置是()。
A. 连续的B. 离散的C. 任意的D. 无关的答案:A3. 在二叉树的遍历方法中,先访问根节点,然后遍历左子树,最后遍历右子树的遍历方式是()。
A. 前序遍历B. 中序遍历C. 后序遍历D. 层序遍历答案:A4. 哈希表的冲突解决方法中,()是将所有发生冲突的元素存储在同一个链表中。
A. 线性探测B. 链地址法C. 再散列D. 双散列答案:B5. 在图的遍历算法中,深度优先搜索(DFS)算法使用的辅助数据结构是()。
A. 栈B. 队列C. 链表D. 数组答案:A二、填空题(每题2分,共10分)1. 在数据结构中,算法的时间复杂度通常用()表示。
答案:O(n)2. 一个栈的初始状态为空,依次执行了Push(1), Push(2), Pop(), Push(3), Pop()操作后,栈顶元素是()。
答案:13. 在二叉搜索树中,对于任意节点,其左子树中的所有值都()该节点的值。
答案:小于4. 哈希表的装载因子是表中已填入的元素个数与哈希表的()之比。
答案:总容量5. 图的邻接矩阵表示法中,如果两个顶点之间有边相连,则对应的矩阵元素值为()。
答案:1三、简答题(每题5分,共20分)1. 请简述什么是递归,并给出一个递归算法的例子。
答案:递归是一种算法设计技巧,它允许一个函数直接或间接地调用自身。
递归算法的例子是计算阶乘:n! = n * (n-1)!,其中n! = 1当n=0时。
2. 请解释什么是堆排序,并简述其基本步骤。
答案:堆排序是一种基于堆数据结构的比较排序算法。
基本步骤包括构建最大堆,然后重复移除堆顶元素并调整剩余元素以保持最大堆属性。
3. 请描述什么是图的广度优先搜索(BFS)算法,并给出其算法步骤。
《数据结构》试卷一一、填空题:(共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,试画出该二叉树形状,并写出它的后序遍历序列。
第一章概论一、选择题1、研究数据结构就是研究( D )。
A. 数据的逻辑结构B. 数据的存储结构C. 数据的逻辑结构和存储结构D. 数据的逻辑结构、存储结构及其基本操作2、算法分析的两个主要方面是( A )。
A. 空间复杂度和时间复杂度B. 正确性和简单性C. 可读性和文档性D. 数据复杂性和程序复杂性3、具有线性结构的数据结构是( D )。
A. 图B. 树C. 广义表D. 栈4、计算机中的算法指的是解决某一个问题的有限运算序列,它必须具备输入、输出、( B )等5个特性。
A. 可执行性、可移植性和可扩充性B. 可执行性、有穷性和确定性C. 确定性、有穷性和稳定性D. 易读性、稳定性和确定性5、下面程序段的时间复杂度是( C )。
for(i=0;i<m;i++)for(j=0;j<n;j++)a[i][j]=i*j;A. O(m2)B. O(n2)C. O(m*n)D.O(m+n)6、算法是( D )。
A. 计算机程序B. 解决问题的计算方法C. 排序算法D. 解决问题的有限运算序列7、某算法的语句执行频度为(3n+nlog2n+n2+8),其时间复杂度表示( C )。
A. O(n)B. O(nlog2n)C. O(n2)D. O(log2n)8、下面程序段的时间复杂度为( C )。
i=1;while(i<=n)i=i*3;A. O(n)B. O(3n)C. O(log3n)D. O(n3)9、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的()和运算等的学科。
A. 结构B. 关系C. 运算D. 算法10、下面程序段的时间复杂度是(A )。
i=s=0;while(s<n){i++;s+=i;}A. O(n)B. O(n2)C. O(log2n)D. O(n3)11、抽象数据类型的三个组成部分分别为( A)。
A. 数据对象、数据关系和基本操作B. 数据元素、逻辑结构和存储结构C. 数据项、数据元素和数据类型D. 数据元素、数据结构和数据类型12、通常从正确性、易读性、健壮性、高效性等4个方面评价算法的质量,以下解释错误的是()。
德州学院期末考试试卷(至学年第学期)课程名称:数据结构考试对象:计科、信管本试卷类型 5 考试时间: 120 分钟一、选择题(每小题2分,共20分)1.以下哪一个不是算法的特性()。
A.有穷性 B.确定性 C.简洁性 D.可行性2.设一个栈的输入序列是 1,2,3,4,5,则下列序列中,是栈的合法输出序列的是()。
A. 5 1 2 3 4 B. 4 5 1 3 2 C. 4 3 1 2 5 D.3 2 1 5 43.栈和队列的共同点是()。
A.都是先进先出 B.都是先进后出 C.只允许在端点处插入和删除元素 D.没有共同点4.循环队列存储在数组A[0..m]中,则入队时的操作为()。
A. rear=rear+1 B. rear=(rear+1) mod (m-1)C. rear=(rear+1) mod m D. rear=(rear+1)mod(m+1)5.有n个叶子的哈夫曼树的结点总数为()。
A.不确定 B.2n C.2n+1 D.2n-16.下列哪一种图的邻接矩阵是对称矩阵()。
A.有向图 B.无向图 C.AOV网 D.AOE网7.下列说法不正确的是()。
A.图的遍历是从给定的源点出发每一个顶点仅被访问一次C.图的深度遍历不适用于有向图B.遍历的基本算法有两种:深度遍历和广度遍历D.图的深度遍历是一个递归过程8.设无向图的顶点个数为n,则该图最多有()条边。
A.n-1 B.n(n-1)/2 C. n(n+1)/2 D.n29.对二叉排序树进行()遍历,可以得到关键字的有序序列。
A.前序 B.中序 C.后序 D.层次10.为实现快速排序算法,待排序序列宜采用的存储方式是()。
A. 顺序存储B. 散列存储C. 链式存储D. 索引存储二、判断题(每小题1分,共10分)1.算法可以用不同的语言描述,如果用C 语言或PASCAL语言等高级语言来描述,则算法实际上就是程序了。
()2.线性表只能用顺序存储结构实现。
数据构造试卷〔一〕一、单项选择题〔每题 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)算法执行过程中所需要的存储空间2、下列关于栈的叙述中正确的是:( )A)在栈中只能插入数据 B)在栈中只能删除数据C)栈是先进先出的线性表 D)栈是先进后出的线性表3、在深度为5的满二叉树中,叶子结点的个数为:( )A)32 B)31 C)16 D)154、对建立良好的程序设计风格,下面描述正确的是:( )A)程序应简单、清晰、可读性好 B)符号名的命名要符合语法C)充分考虑程序的执行效率 D)程序的注释可有可无5、下面对对象概念描述错误的是:( )A)任何对象都必须有继承性 B)对象是属性和方法的封装体C)对象间的通讯靠消息传递 D)操作是对象的动态性属性6、下面不属于软件工程的3个要素的是:( )A)工具 B)过程 C)方法 D)环境7、程序流程图(PFD)中的箭头代表的是:( )A)数据流 B)控制流 C)调用关系 D)组成关系8、在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
其中数据独立性最高的阶段是:( ) A)数据库系统 B)文件系统 C)人工管理 D)数据项管理9、用树形结构来表示实体之间联系的模型称为:( )A)关系模型 B)层次模型 C)网状模型 D)数据模型10、关系数据库管理系统能实现的专门关系运算包括:( )A)排序、索引、统计 B)选择、投影、连接C)关联、更新、排序 D)显示、打印、制表11、数据库系统与文件系统的主要区别是:( )A)数据库系统复杂,而文件系统简单B)文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决C)文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件D)文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量12、关系数据库管理系统的3种基本关系运算不包括:( )A)比较 B)选择 C)联接 D)投影13、对于学生关系S(S#,SN,AGE,SEX),写一条规则,把其中的AGE 属性限制在15-30之间,则这条规则属于:( )A)实体完整性规则 B)参照完整性规则C)用户定义的完整性规则 D)不属于以上任何一种规则14、表达式VAL(SUBS("奔腾586",5,1))*Len("visual foxpro")的结果是:( )A)13.00 B)14.00 C)45.00 D)65.00 15、连续执行以下命令之后,最后一条命令的输出结果是:( )SET EXACT OFFX="A "? IIF("A"=X,X-"BCD",X+"BCD")A)A B)BCD C)ABCD D)A BCD16、下面关于过程调用的陈述中,______是错误的。
1简述快速排序算法的基本思想。
2二叉树T的前序遍历序列和中次遍历序列分别是ABCDEFG和CBEDAFG,试画出该二叉树,并写出二叉树的后序遍历序列和层次遍历序列。
3假设字符a,b,c,d,e,f,g,h的使用频度分别是0.15,0.19,0.07,0.08,0.04,0.23,0.13,0.11画出哈夫曼树并写出a,b,c,d,e,f,g,h的Huffman(哈夫曼)编码。
4画出对关键字序列(5,12,20,32,38,45,60,72,90,100)进行折半查找得到判定树,并求出关键字在等概率情况下查找成功的平均查找长度。
5画出二叉树的五种基本形态。
6用序列(46,88,45,39,70,58,101,10,66,34)建立一个二叉排序树,画出建立二叉排序树的过程。
7设哈希(Hash)表的地址范围为0到17,哈希函数为:H(K)=K MOD16。
K关键字,用线性探测法再散列法处理冲突,输入关键字序列:(10,24,32,17,31,30,46,47,40,63,49)构造Hash表,试回答下列问题:
(1)(4分)画出哈希表的示意图;
(2)(4分)若查找关键字63,需要依次与哪些关键字进行比较?
(3)(2分)假定每个关键字的查找概率相等,求查找成功时的平均查找长度。
8已知一组元素的排序码为(36,25,48,12,65,20),写出用直接插入排序法每次向前面有序表插入一个元素后的排列结果。
9已知如下所示长度为10的表(45,12,32,20,75,25,8,50,90,64),按表中元素顺序构造一棵二叉排序树。
并求在等概率情况下查找成功的平均查找长度。
10写出快速排序的思想,并写出下列序列一趟快速排序的结果,(49,38,65,20,76,13,27,80,50)
11设一个散列表长度为13,散列函数采用H(key)=key%13,并用线性探测再散列解决冲突,将下列关键码(19、14、23、01、68、20、84、27、55、11、10)散列到表中,求等概率情况下查找成功时的平均查找长度。
12判断下列序列是否是堆(可以是小堆,也可以是大堆,若不是堆,请将它们调整为堆)。
(1)100,85,98,77,80,60,82,40,20,10,66
(2)100,85,40,77,80,60,66,98,82,10,20
(3)10,20,40,60,66,77,80,82,85,98,100
13试写出循环队列判空和判满的条件(队列最大容量为M)。
14已知长度为l2的表{Jan,Feb,Mar,Apr,May,June,July,Aug,Sep,Oct,Nov,Dec},试按表中元素的次序依次插入一棵初始为空的二叉排序树,大小按字母序,请画出插入之后的二叉排序树,并求在等概率情况下查找成功的平均查找长度。
15设一个散列表包含hashSize=13个表项,其下标从0到12,散列函数采用除留余数法H (key)=key%13,并采用线性探测再散列解决冲突,将下列关键码(10、100、32、45、58、126、3、29、200、400)散列到表中,并求等概率情况下查找成功时的平均查找长度。
16将关键字序列(7、8、30、11、18、9、14)散列存储到散列列表中,散列表的存储空间是一个下标从0开始的一个一维数组,散列函数为:H(key)=(key×3)MOD10,处理冲突采用线性探测再散列法,要求装填(载)因子为0.7。
问题:
(1)请画出所构造的散列表;
(2)分别计算等概率情况下,查找成功和查找不成功的平均查找长度。