数据结构题集与答案
数据结构试题集(包含答案-完整版)
![数据结构试题集(包含答案-完整版)](https://img.taocdn.com/s3/m/b0c041b0cd22bcd126fff705cc17552707225e38.png)
数据结构试题集(包含答案-完整版)数据结构试题集(包含答案-完整版)1. 单选题1) 数据结构是一种()。
a) 存储结构b) 算法c) 数据模型d) 网络答案:c) 数据模型解析:数据结构是一种用于组织和存储数据的方式,描述了数据之间的关系以及对数据的操作。
2) 以下哪种数据结构可以通过索引直接访问元素?a) 链表b) 队列c) 栈d) 数组答案:d) 数组解析:数组是一种线性数据结构,可以通过索引直接访问指定位置的元素。
2. 多选题1) 哪些数据结构属于非线性结构?()a) 队列b) 树c) 栈d) 图答案:b) 树d) 图解析:线性结构中的元素存在一对一的关系,非线性结构中的元素存在一对多或多对多的关系,树和图属于非线性结构。
2) 下列哪些操作可以在栈上进行?()a) 入栈b) 出栈c) 查找d) 删除答案:a) 入栈b) 出栈解析:栈是一种后进先出(LIFO)的数据结构,只能在栈顶进行插入和删除操作。
3. 简答题1) 请简要介绍线性表和非线性表。
答案:线性表是数据元素的一个有限序列,元素之间存在一对一的关系。
非线性表是指元素之间存在一对多或多对多的关系,如树和图。
2) 请解释什么是时间复杂度和空间复杂度。
答案:时间复杂度是衡量算法执行效率的度量,表示算法的运行时间随输入规模增长的速度。
空间复杂度是指算法执行过程中所需的存储空间随输入规模增长的速度。
4. 编程题题目:实现一个栈,包含push、pop和getMin三个操作,要求时间复杂度为O(1)。
答案:class MinStack:def __init__(self):self.stack = []self.min_stack = []def push(self, x):self.stack.append(x)if not self.min_stack or x <= self.min_stack[-1]:self.min_stack.append(x)def pop(self):if self.stack.pop() == self.min_stack[-1]:self.min_stack.pop()def getMin(self):return self.min_stack[-1]解析:在栈的基础上,使用一个辅助栈min_stack来记录当前栈中的最小值。
数据结构习题集和答案
![数据结构习题集和答案](https://img.taocdn.com/s3/m/1448466d7e21af45b307a810.png)
第1章绪论1、填空题1.常见的数据结构有集合,_线性__结构,__树形___结构,__图形__结构等四种。
2.常见的存储结构有__顺序存储_______结构,__链式存储____结构等两种。
3.数据的基本单位是_数据元素___,它在计算机中是作为一个整体来处理的。
4.数据结构中的结构是指数据间的逻辑关系,常见的结构可分为两大类,__线性结构____和__非线性结构___。
2、选择题1. 算法的计算量的大小称为计算的(B)。
A.效率 B. 复杂性 C. 现实性 D. 难度2. 算法的时间复杂度取决于(C)A.问题的规模 B. 待处理数据的初态 C. A和B D. 以上都不对3.计算机算法指的是(1)(c),它必须具备(2)(B)这三个特性。
(1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法(2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性C. 确定性、有穷性、稳定性D. 易读性、稳定性、安全性4. 下面关于算法说法错误的是(D)A.算法最终必须由计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的3、应用题1、给出以下算法的时间复杂度.void fun(int n){int i=1,k=100;while(i<n){k=k+1;i=i+2;}}时间复杂度为____O(n)_____。
2、给出以下算法的时间复杂度.void fun2(int n){int i=1,k=100;while(i<n){i=i*10;k=k+1;}}时间复杂度为____O(log n)___________。
第2章线性表1、填空题1. 线性表按照存储结构不同主要有两种实现方式,一种是__顺序_表,另一种是___链___表。
2.顺序表采用__随机___访问机制对数据元素进行访问。
3.若在单链表结点p的后面插入一个新的结点s,则其操作序列为:①____s->next=p->next_____________;②____p->next=s___________________;4.在单向链表中,若要删除某个结点p,一般要找到__p的前趋__结点,才能实现该操作。
数据结构试题集(8套卷子+答案)
![数据结构试题集(8套卷子+答案)](https://img.taocdn.com/s3/m/eedb77c3bb4cf7ec4afed0f5.png)
《数据结构》试卷一一、填空题:(共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,试画出该二叉树形状,并写出它的后序遍历序列。
数据结构题集
![数据结构题集](https://img.taocdn.com/s3/m/6a1fd7e24693daef5ef73dc3.png)
a. ABCD
b. DCBA
c. ACDB
d. DABC
反馈
correct feedback
正确答案是:DABC
正确
此次提交得分:1.00/1.00。
题目19
正确
获得1.00分中的1.00分
标记题目
题干
将递归算法转变成对应非递归算法时,需要使用( )保存中间结果。
选择一项:
a.二叉树
b.队列
反馈
正确的答案是“对”。
正确
此次提交得分:1.00/1.00。
题目26
正确
获得1.00分中的1.00分
标记题目
题干
已知一个栈的进栈序列是ABC,出栈序列是CBA,经过的栈操作是___。
选择一项:
a. push,pop,push,pop,push,pop
b. push,push,pop,pop,push,pop
选择一项:
a. b,c,a,e,f,d
b. a,f,e,d,c,b
c. d,c,e,b,f,a
d. c,b,d,a,e,f
反馈
correct feedback
正确答案是:a,f,e,d,c,b
正确
此次提交得分:1.00/1.00。
题目3
正确
获得1.00分中的1.00分
标记题目
题干
假设栈初始为空,将中缀表达式a/b+(c*d-e*f)/g转换为等价的后缀表达式的过程中,当扫描到f时,栈中的元素依次是()。
反馈
correct feedback
正确答案是:3 4 6 5 2 1
正确
此次提交得分:1.00/1.00。
题目12
数据结构课程课后习题集答案解析
![数据结构课程课后习题集答案解析](https://img.taocdn.com/s3/m/2cc05adf02d276a201292e54.png)
《数据结构简明教程》练习题及参考答案练习题11. 单项选择题(1)线性结构中数据元素之间是()关系。
A.一对多B.多对多C.多对一D.一对一答:D(2)数据结构中与所使用的计算机无关的是数据的()结构。
A.存储B.物理C.逻辑D.物理和存储答:C(3)算法分析的目的是()。
A.找出数据结构的合理性B.研究算法中的输入和输出的关系C.分析算法的效率以求改进D.分析算法的易懂性和文档性答:C(4)算法分析的两个主要方面是()。
A.空间复杂性和时间复杂性B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性答:A(5)计算机算法指的是()。
A.计算方法B. 排序方法C.求解问题的有限运算序列D.调度方法答:C(6)计算机算法必须具备输入、输出和()等5个特性。
A.可行性、可移植性和可扩充性B.可行性、确定性和有穷性C.确定性、有穷性和稳定性D.易读性、稳定性和安全性答:B2. 填空题(1)数据结构包括数据的①、数据的②和数据的③这三个方面的内容。
答:①逻辑结构②存储结构③运算(2)数据结构按逻辑结构可分为两大类,它们分别是①和②。
答:①线性结构②非线性结构(3)数据结构被形式地定义为(D,R),其中D是①的有限集合,R是D上的②有限集合。
答:①数据元素②关系数据结构简明教程(4)在线性结构中,第一个结点 ① 前驱结点,其余每个结点有且只有1个前驱结点;最后一个结点 ② 后继结点,其余每个结点有且只有1个后继结点。
答:①没有 ②没有 (5)在树形结构中,树根结点没有 ① 结点,其余每个结点有且只有 ② 个前驱结点;叶子结点没有 ③ 结点,其余每个结点的后继结点数可以是 ④ 。
答:①前驱 ②1 ③后继 ④任意多个(6)在图形结构中,每个结点的前驱结点数和后继结点数可以是( )。
答:任意多个(7)数据的存储结构主要有四种,它们分别是 ① 、 ② 、 ③ 和 ④ 存储结构。
答:①顺序 ②链式 ③索引 ④哈希(8)一个算法的效率可分为 ① 效率和 ② 效率。
数据结构综合试题及答案
![数据结构综合试题及答案](https://img.taocdn.com/s3/m/842cbe93fd0a79563d1e7212.png)
一、单选题(每题 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进制表示。
( C )A.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个记录的文件进行快速排序,所需要的辅助存储空间大致为( C )A. 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的元素有( D )个,A.1 B.2 C.3 D.410.设有6个结点的无向图,该图至少应有( A )条边才能确保是一个连通图。
A.5B.6C.7D.8二、填空题(每空1分,共10分)1.一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为____O(n)____。
数据结构习题集及答案
![数据结构习题集及答案](https://img.taocdn.com/s3/m/6a9ebd2a4b73f242336c5fe0.png)
第一章一、填空题1 数据元素是数据的基本单位,..数据项.......是具有独立含义的最小标识单位。
3 数据之间的关系(逻辑结构)有四种集合、线性结构、树形结构、网状结构或图状结构,可分为....................... ....、...................两大类。
4 数据的存储结构包括..顺序存储结构.....................、..链式存储结构..........................二、问答题1.什么是数据结构?什么是数据类型?答:数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及他们之间的关系和操作等的学科。
数据类型是一个值的集合和定义在这个值集上的一组操作的总称。
2.叙述算法的定义与特性。
答:算法是对待定问题求解步骤的一种描述,他是指令的有限序列,其中每一条指令表示一个或多个操作。
一个算法具有以下5个重要特性:1)、有穷性 2)、确定性3)、可行性 4)、输入 5)、输出3. 叙述算法的时间复杂度。
答:算法中基本操作重复执行的次数是问题规模n的某个函数f(n),算法的时量度,记作T(n)=O(f(n))他表示随着问题规模n的增大,算法执行时间增长率和f(n)的增长率相同,称作算法的渐进时间复杂度,简称时间复杂度。
三、判断题(在各题后填写“√”或“×”)1. 线性结构只能用顺序结构来存放,非线性结构只能用非顺序结构来存放。
(×)2.下列几种数量级从小到大的排列顺序为:O(1) 、O(logn)、O(n) 、O(nlogn) 、O(n2) 、O(n3 ) 、O(2n)。
(√)四、1.计算机执行下面的语句时,语句s的执行频度(重复执行的次数)为 _______ 。
FOR(i=l;i<n-l;i++)FOR(j=n;j>=i;j--)s;2.有下列运行时间函数:(1)T1 (n)=1000; (2)T2(n)=n2+1000n; (3)T3(n)=3n3+100n2+n+1;分别写出相应的大O表示的运算时间。
数据结构习题集(包含全部答案)
![数据结构习题集(包含全部答案)](https://img.taocdn.com/s3/m/7b56fa8d76eeaeaad0f3300c.png)
数据结构习题集(包含全部答案)数据结构习题集(自编)第一章绪论一、选择题1.数据结构是一门研究非数值计算的程序设计问题中的操作对象以及它们之间的()和运算的学科。
A.结构B.关系 C.运算 D.算法2.在数据结构中,从逻辑上可以把数据结构分成()。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.逻辑结构和存储结构3.线性表的逻辑顺序和存储顺序总是一致的,这种说法()。
A.正确B.不正确 C.无法确定 D.以上答案都不对4.算法分析的目的是()。
A.找出算法的合理性 B.研究算法的输人与输出关系C.分析算法的有效性以求改进 D.分析算法的易懂性5. 算法的时间复杂度取决于()A.问题的规模B待处理数据的初态 C. A和B6.一个算法应该是()。
A.程序B.问题求解步骤的描述C.要满足五个基本特性 D.A和C.7. 下面关于算法说法错误的是()A.算法最终必须由计算机程序实现B.为解决某问题的算法与为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的8.以下与数据的存储结构无关的术语是()。
A.循环队列 B. 链表 C. 哈希表 D. 栈9.在下面的程序段中,对x的赋值语句的频度为()for(i=0;i<n;i++)for(j=0;j<n;j++)x=x+1;nA. 2n B.n C.n2 D.log210.以下数据结构中,()是非线性数据结构A.树 B.字符串 C.队列 D.栈11. 下列数据中,()是线性数据结构。
A.哈夫曼树 B.有向无环图 C. 二叉排序树 D. 栈12.以下属于逻辑结构的是()。
A.顺序表 B. 哈希表 C.有序表 D. 单链表二、填空题1、_______是信息的载体,是对客观事物的符号表示,它能够被计算机识别、存储、加工和处理,________是对能够有效的输人到计算机中并且能够被计算机处理的符号的总称。
数据结构_习题集
![数据结构_习题集](https://img.taocdn.com/s3/m/f4dfb436e87101f69e3195ce.png)
习 题 3 一、选择题
1在栈顶一端可进行的全部操作是( C)。 A 插入 B 删除 C插入和删除 2 栈的特点是(B )。 A 先进先出 B 后进先出 3 顺序栈是空栈的条件是( A)。 A top==0 B top==1 C top== -1 C后进后出 D进栈 D不进一个栈,top表示栈顶指针,已知栈未满, 则x入栈时所执行的操作是( D)。 A a[--top]=x; B a[top--]=x C a[++top]=x D a[top++]=x 5 一个栈的入栈序列是a,b,c,d,e,则不可能的出栈序列是( B)。 A edcda B dceab C decba D abcde 6 经过下列栈的运算后EmptyStack(s)的值是(C )。 InitStack(s);Push(s,a);Push(s,b);Pop(s,x);Pop(s,x) ?????????? Aa Bb C1 D0
数据结构习题册 基 础 篇
习 题 1 一、选择题
1 计算机算法必须具备输入、输出、( B)等5个特性。 A 可行性、可移植性和可扩展性 B 可行性、确定性和有穷性 C 确定性、有穷性和稳定性 D 易读性、安全性和稳定性 2 在数据结构中,从逻辑上可以把数据结构分为(D) A 动态结构和静态结构 B 紧凑结构和非紧凑结构 C 内容结构和外部结构 D 线性结构和非线性结构 3 下面程序段的时间复杂性的量级为( D) For (i=1;i<=n;i++) For(j=1;j<=I;j++) For(k=1;k<=j;k++) x=x+1; A O(1) B O(n) C O(n2) D O(n3) 4 在数据结构中,与所使用的计算机无关的是数据的(A )结构 A 逻辑 B 存储 C 逻辑和存储 D 物理 5 数据结构在计算机中的表示是指(C ) A 数据的逻辑结构 B 数据结构 C 数据的存储结构 D 数据元素之间 的关系 6 下面(B )的时间复杂性最好,即执行时间最短。 A O(n) B O(logn) C O(nlogn) D O(n2) 7 下面程序段的时间复杂性的量级为(D )。 Int fun(int n){ I=1,s=1;
数据结构题集及答案
![数据结构题集及答案](https://img.taocdn.com/s3/m/a5c243a564ce0508763231126edb6f1aff00719c.png)
数据结构题集及答案判断题1.数据的逻辑结构与数据元素本⾝的内容和形式⽆关。
(√)2.⼀个数据结构是由⼀个逻辑结构和这个逻辑结构上的⼀个基本运算集构成的整体。
(√)3.数据元素是数据的最⼩单位。
(√)4.数据的逻辑结构和数据的存储结构是相同的。
(×)5.程序和算法原则上是没有区别的,所以在讨论数据结构时可以通⽤。
(×)6.从逻辑关系上讲,数据结构主要分为线性结构和⾮线性结构。
(√)7.数据的存储结构是数据的逻辑结构的存储映像。
(×)8.数据的物理结构是指数据在计算机内实际的存储形式。
(√)9.数据的逻辑结构是依赖于计算机的。
(×)10.算法是对解题⽅法和的描述步骤。
(√)填空题:1.数据有逻辑结构和存储结构两种结构。
2.数据逻辑结构除了集合以外,还包括线性结构、树形结构和图形结构。
3.数据结构按逻辑结构可分为两⼤类,它们是线性结构和⾮线性结构。
4.树形结构和图形结构合称为⾮线性结构。
5.在树形结构中,除了树根结点以外,其余每个结点只有 1 个前驱结点。
6.在图形结构中,每个结点的前驱结点数和后继结点数可以任意多个。
7.数据的存储结构⼜叫物理结构。
8.数据的存储结构形式包括顺序存储、链式存储、索引存储和散列存储。
9.线性结构中的元素之间存在⼀对⼀的关系。
10.树形结构中的元素之间存在⼀对多的关系。
11.图形结构的元素之间存在多对多的关系。
12.数据结构主要研究数据的逻辑结构、存储结构和算法(或运算)3个⽅⾯的内容。
13.数据结构被定义为(D,R),其中D是数据的有限集合,R是D上的关系的有限集合。
14.算法是⼀个有穷指令的集合。
15.算法效率的度量可以分为事先估算和事后统计法。
16.⼀个算法的时间复杂性是算法输⼊规模的函数。
17.算法的空间复杂度是指该算法所耗费的存储空间,它是该算法求解问题规模n的函数。
18.若⼀个算法中的语句频度之和为T(n)=6n+3nlog2n,则算法的时间复杂度为O (nlog2n )。
数据结构18习题集(含答案)
![数据结构18习题集(含答案)](https://img.taocdn.com/s3/m/03513238c5da50e2524d7f28.png)
数据结构习题集一、选择题1.下面关于串的叙述中,哪一个是不正确的?( B )A.串是字符的有限序列B.空串是由空格构成的串C.模式匹配是串的一种重要运算D.串既可以采用顺序存储,也可以采用链式存储2.设无向图的顶点个数为n,则该图最多有(B)条边。
A.n-1 B.n(n-1)/2 C.n(n+1)/2 D.03.以下数据结构中,( A )是非线性数据结构。
A.树B.字符串C.队列D.栈4.下面关于线性表的叙述中,错误的是哪一个?(B )A.线性表采用顺序存储,必须占用一片连续的存储单元。
B.线性表采用顺序存储,便于进行插入和删除操作。
C.线性表采用链接存储,不必占用一片连续的存储单元。
D.线性表采用链接存储,便于插入和删除操作。
5.假设以数组A[m]存放循环队列的元素,其头尾指针分别为front和rear,则当前队列中的元素个数为(A )。
A.(rear-front+m)%m B.rear-front+1C.(front-rear+m)%m D.(rear-front)%m6.在单链表指针为p的结点之后插入指针为s的结点,正确的操作是(B )。
A.p->next=s; s->next=p->next; B.s->next=p->next; p->next=s;C.p->next=s; p->next=s->next; D.p->next=s->next; p->next=s;7.设栈的输入序列是1,2,3,4,则(D )不可能是其出栈序列。
A.1,2,4,3 B.2,1,3,4 C.1,4,3,2 D.4,3,1,2,8.栈和队都是(C )A.顺序存储的线性结构B.链式存储的非线性结构C.限制存取点的线性结构D.限制存取点的非线性结构9.从逻辑上可以把数据结构分为( C )两大类。
A.动态结构、静态结构B.顺序结构、链式结构C.线性结构、非线性结构D.初等结构、构造型结构10.下列四个序列中,哪一个是堆( C )。
数据结构作业及答案
![数据结构作业及答案](https://img.taocdn.com/s3/m/a1771606da38376baf1faee7.png)
第一章绪论一、选择题1.数据结构是一门研究非数值计算的程序设计问题中计算机的1以及它们之间的2和运算等的学科。
1 A.数据元素 B.计算方法 C.逻辑存储 D.数据映像2 A.结构 B.关系 C.运算 D.算法2.数据结构被形式地定义为(K, R),其中K是1的有限集,R是K上的2有限集。
1 A.算法 B.数据元素 C.数据操作 D.逻辑结构2 A.操作 B.映像 C.存储 D.关系3.在数据结构中,从逻辑上可以把数据结构分成。
A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构4.线性结构的顺序存储结构是一种1的存储结构,线性表的链式存储结构是一种2的存储结构。
A.随机存取 B.顺序存取 C.索引存取 D.散列存取5.算法分析的目的是1,算法分析的两个主要方面其一是指2,其二是指正确性和简单性。
1 A.找出数据结构的合理性 B.研究算法中的输入和输出的关系C.分析算法的效率以求改进D.分析算法的易懂性和文档性2 A.空间复杂度和时间复杂度 B.研究算法中的输入和输出的关系C.可读性和文档性D.数据复杂性和程序复杂性k6.计算机算法指的是1,它必须具备输入、输出和2等5个特性。
1 A.计算方法 B.排序方法 C.解决问题的有限运算序列 D.调度方法2 A.可执行性、可移植性和可扩充性 B.可行性、确定性和有穷性C.确定性、有穷性和稳定性D.易读性、稳定性和安全性7.线性表的逻辑顺序与存储顺序总是一致的,这种说法。
A.正确 B.不正确8线性表若采用链式存储结构时,要求内存中可用存储单元的地址。
A.必须连续的B.部分地址必须连续的C.一定是不续的D连续不连续都可以9.以下的叙述中,正确的是。
A.线性表的存储结构优于链式存储结构 B.二维数组是其数据元素为线性表的线性表C.栈的操作方式是先进先出D.队列的操作方式是先进后出10.每种数据结构都具备三个基本运算:插入、删除和查找,这种说法。
数据结构综合习题集(含答案)
![数据结构综合习题集(含答案)](https://img.taocdn.com/s3/m/1e85f21abb1aa8114431b90d6c85ec3a87c28b36.png)
... 数据结构习题集一、选择题一、选择题1.数据结构中所定义的数据元素,是用于表示数据的.数据结构中所定义的数据元素,是用于表示数据的。
( C ) A.最小单位最小单位 B.最大单位 C.基本单位 D.不可分割的单位不可分割的单位2.从逻辑上可以把数据结构分为.从逻辑上可以把数据结构分为( C ) A.动态结构、静态结构动态结构、静态结构 B.顺序结构、链式结构顺序结构、链式结构C.线性结构、非线性结构线性结构、非线性结构D.初等结构、构造型结构初等结构、构造型结构3.当待排序序列中记录数较少或基本有序时,最适合的排序方法为(A )A.直接插入排序法B.快速排序法快速排序法C.堆排序法D.归并排序法归并排序法4.关于串的的叙述,不正确的是( B) A.串是字符的有限序列串是字符的有限序列 B.空串是由空格构成的串空串是由空格构成的串C.替换是串的一种重要运算替换是串的一种重要运算D.串既可以采用顺序存储,也可以采用链式存储串既可以采用顺序存储,也可以采用链式存储5.带表头结点链队列的队头和队尾指针分别为front 和rear ,则判断队空的条件为(A )A.front==rearB.front!=NULLC.rear!=NULLD.front==NULL 6.若构造一棵具有n 个结点的二叉排序树,最坏的情况下其深度不会超过(B )A.n/2B.nC.(n+1)/2D.n+1 7.将两个各有n 个元素的有序表合并成一个有序表,其最少的比较次数为(A )A.nB.2n-1C.2nD.n 2 8.设顺序表有19个元素,第一个元素的地址为200,且每个元素占3个字节,则第14个元素的存储地址为(B )A.236B.239C.242D.245 9.一个栈的入栈序列是a,b,c,d,e ,则栈的输出序列不可能是(A )A.dceabB.decbaC.edcbaD.abcde 10.元素大小为1个单元,容量为n 个单元的非空顺序栈中,以地址高端为栈底,以top 作为栈顶指针,则出栈处理后,top 的值应修改为(D )A.top=topB.top=n-1C.top=top-1D.top=top+1 11.设有一个10阶的对称矩阵A ,采用压缩存储方式以行序为主序存储,a 00为第一个元素,其存储地址为0,每个元素占有1个存储地址空间,则a 45的地址为(的地址为( B )A.13B.35C.17D.36 12.栈和队列( C ) A.共同之处在于二者都是先进先出的特殊的线性表共同之处在于二者都是先进先出的特殊的线性表B.共同之处在于二者都是先进后出的特殊的线性表共同之处在于二者都是先进后出的特殊的线性表C.共同之处在于二者都只允许在顶端执行删除操作共同之处在于二者都只允许在顶端执行删除操作D.没有共同之处没有共同之处13.含有n 个结点的二叉树用二叉链表表示时,空指针域个数为(C )A.n-1B.nC.n+1D.n+2 14.对一棵有100个结点的完全二叉树按层序编号,则编号为49的结点,它的左孩子的编号为(号为( B )A.99B.98C.97D.50 15.在一个图中,所有顶点的度数之和与图的边数的比是( C)A.1∶2B.1∶1C.2∶1D.4∶1 16.在一个具有n 个顶点的无向图中,要连通全部顶点至少需要的边数为(A )A.n-1B.nC.n+1D.n/2 17.在一个具有n 个顶点的无向图中,每个顶点度的最大值为( B )A.nB.n-1C.n+1D.2(n-1) 18.若采用邻接表存储结构,则图的广度优先搜索类似于二叉树的(D )A.先序遍历B.中序遍历中序遍历C.后序遍历D.层次遍历层次遍历19.对线性表进行二分查找时,要求线性表必须( C)A.以顺序方式存储以顺序方式存储B.以链式方式存储以链式方式存储C.以顺序方式存储,且结点按关键字有序排列以顺序方式存储,且结点按关键字有序排列D.以链接方式存储,且结点按关键字有序排列以链接方式存储,且结点按关键字有序排列20.二分查找算法的时间复杂度是(.二分查找算法的时间复杂度是( D )A.O(n 2)B.O(nlog 2n)C.O(n)D.O(log 2n) 21.采用排序算法对n 个元素进行排序,其排序趟数肯定为n-1趟的排序方法是(趟的排序方法是( C )A.插入和快速插入和快速B.冒泡和快速冒泡和快速C.选择和插入选择和插入D.选择和冒泡选择和冒泡22. 闭散列表中由于散列到同一个地址而引起的“堆积”现象,是( B)A.由同义词之间发生冲突引起的由同义词之间发生冲突引起的B.由非同义词之间发生冲突引起的由非同义词之间发生冲突引起的C.由同义词之间或非同义词之间发生冲突引起的由同义词之间或非同义词之间发生冲突引起的D.由散列表“溢出”引起的引起的 23.在对查找表的查找过程中,若被查找的数据元素不存在,则把该数据元素插入到集合中。
经典数据结构习题集含答案
![经典数据结构习题集含答案](https://img.taocdn.com/s3/m/2d864b1ef705cc175427093d.png)
线性表1.下列有关线性表的叙述中,正确的是(A)。
A)线性表中元素之间的关系是线性关系B)线性表中至少有一个元素C)线性表中的任一元素有且仅有一个直接前趋D)线性表中的任一元素有且仅有一个直接后继2.下述哪一条是顺序存储结构的优点?(A)A)存储密度大B)插入方便C)删除方便D)可方便地用于各种逻辑结构的存储表示3.在一个长度为n的顺序表中,在第i个元素(1<=i<=n)之前插入一个新元素时需向后移动(D)个元素。
A)1 B)n-i C)n-i-1 D)n-i+14.如果某线性表中最常用的操作是取第i个元素和找第i个元素的前驱,那么采用(A)存储方式最节省时间。
A)顺序表B)单链表C)双链表D)循环链表5.对顺序存储的线性表,设其长度为n,且在任何位置上插入或删除操作都是等概率的。
则插入一个元素时平均要移动表中的(A)个元素。
A)n/2 B)(n+1)/2 C)(n-1)/2 D)n6.下述哪一条是顺序存储结构的缺点?(C)A)存储密度太大B)随机存取C)一般要估计最大的需要空间D)只能应用于少数几种逻辑结构的存储表示7.在单链表中,增加头结点的目的是(C)。
A)使单链表至少有一个结点B)标志表中首结点的位置C)方便运算的实现D)说明单链表是线性表的链式存储表示8.单链表不具有的特点是(A)。
A)可随机访问任一元素B)插入和删除不需要移动元素C)不必事先估计存储空间D)所需空间和线性表长度成正比9.循环链表的主要优点是(D)。
A)不再需要头指针了B)已知某个结点的位置后,能够容易找到他的直接前趋C)在进行插入、删除运算时,能更好的保证链表不断开D)从表中的任意结点出发都能扫描到整个链表10.链表对于数据元素的插入与删除是(B)。
A)不需移动结点,不需改变结点指针B)不需移动结点,只需改变结点指针C)只需移动结点,不需改变结点指针D)既需移动结点,又需改变结点指针11.在一个单链表中,已知q所指结点是p所指结点的前驱结点,若要在q 和p 所指结点之间插入s所指的结点,则执行(B)。
数据结构题集答案
![数据结构题集答案](https://img.taocdn.com/s3/m/bd66b74dfd0a79563d1e729e.png)
数据结构题集第一章绪论一、单选题1.在数据结构中,从逻辑上可以把数据结构分成【C 】。
A.动态结构和静态结构B.紧凑结构和非紧凑结构C。
线性结构和非线性结构D。
内部结构和外部结构2。
数据结构在计算机内存中的表示是指【A 】。
A。
数据的存储结构B。
数据结构C.数据结构的逻辑结构D。
数据元素之间的关系3。
【A 】是数据的最小单位,【B 】是数据的基本单位。
A.数据项B.数据元素C.信息项D.表元素4. 计算机所处理数据一般具有某种内在联系,这是指【B 】.A.数据与数据之间存在某种关系B。
数据元素与数据元素之间存在某种关系C.元素内部存在某种结构D。
数据项与数据项之间存在某种关系5.算法分析的目的是【C 】.A.找出数据结构的合理性B。
研究输入和输出的关系C.分析算法的效率以求改进D.分析算法的易懂性6。
在存储数据时,不仅要考虑存储各数据元素的值,而且还要存储【C 】。
A。
数据处理的方法 B.数据元素的类型C。
数据元素之间的关系D。
数据的存储方法7。
算法分析的主要任务是分析【D 】。
A.算法是否具有较好的可读性B.算法中是否存储语法错误和逻辑错误C。
算法的功能是否符合设计要求D。
算法的执行时间与问题规模之间的关系。
8.数据的运算【A 】。
A.效率与采用何种存储结构有关B.是根据存储结构来定义的C。
有算术运算和关系运算两大类D.必须用程序设计语言来描述9。
算法的计算量的大小称为算法的【B 】.A.效率B.时间复杂度C.现实性D。
难度10.连续存储分配时,存储单元的地址【A 】.A.一定连续B。
一定不连续C。
不一定连续 D.部分连续,部分不连续二、判断题1.数据元素是数据结构的最小单位【。
×】.2。
数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的存储结构【×.】.3。
数据的逻辑结构指数据元素的各数据项之间的逻辑关系【×。
】。
4。
算法的优劣与算法的描述语言无关,但与使用的计算机有关【.×】。
数据结构试题库集及答案
![数据结构试题库集及答案](https://img.taocdn.com/s3/m/8c07763548d7c1c708a145b2.png)
数据结构试题库及答案第一章概论一、选择题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、下面程序段的时间复杂度是()。
i=s=0;while(s<n){i++;s+=i;}A. O(n)B. O(n2)C. O(log2n)D. O(n3)11、抽象数据类型的三个组成部分分别为()。
A. 数据对象、数据关系和基本操作B. 数据元素、逻辑结构和存储结构C. 数据项、数据元素和数据类型D. 数据元素、数据结构和数据类型12、通常从正确性、易读性、健壮性、高效性等4个方面评价算法的质量,以下解释错误的是()。
数据结构1800例题与答案之集合
![数据结构1800例题与答案之集合](https://img.taocdn.com/s3/m/ab18211eb8f67c1cfbd6b8ec.png)
数据结构1800例题与答案之集合第九章集合一、选择题1.假设查找每个记录的概率均等,那么在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为( )。
【北京航空航天大学 2000 一、8 〔2分〕】A. (n-1)/2 B. n/2 C. (n+1)/2 D. n2. 对N个元素的表做顺序查找时,假设查找每个元素的概率相同,那么平均查找长度为( ) 【南京理工大学1998一、7〔2分〕】A.〔N+1〕/2 B. N/2 C. N D. [〔1+N〕*N ]/23.顺序查找法适用于查找顺序存储或链式存储的线性表,平均比拟次数为〔〔1〕〕,二分法查找只适用于查找顺序存储的有序表,平均比拟次数为〔〔2〕〕。
在此假定N为线性表中结点数,且每次查找都是成功的。
【长沙铁道学院 1997四、3 (4分)】A.N+1B.2log2NC.logND.N/2E.Nlog2NF.N2 4. 下面关于二分查找的表达正确的选项是 ( ) 【南京理工大学 1996 一、3 〔2分〕】A. 表必须有序,表可以顺序方式存储,也可以链表方式存储 C. 表必须有序,而且只能从小到大排列B. 表必须有序且表中数据必须是整型,实型或字符型 D. 表必须有序,且表只能以顺序方式存储5. 对线性表进行二分查找时,要求线性表必须〔〕【燕山大学 2001 一、5 〔2分〕】A.以顺序方式存储B.以顺序方式存储,且数据元素有序C.以链接方式存储D.以链接方式存储,且数据元素有序 6.适用于折半查找的表的存储方式及元素排列要求为( ) 【南京理工大学 1997 一、6 〔2分〕】A.链接方式存储,元素无序 B.链接方式存储,元素有序C.顺序方式存储,元素无序 D.顺序方式存储,元素有序 7. 用二分〔对半〕查找表的元素的速度比用顺序法( ) 【南京理工大学 1998 一、11 〔2分〕】A.必然快 B. 必然慢 C. 相等 D. 不能确定8.当在一个有序的顺序存储表上查找一个数据时,即可用折半查找,也可用顺序查找,但前者比后者的查找速度( )A.必定快 B.不一定 C. 在大局部情况下要快 D. 取决于表递增还是递减【南京理工大学 1997 一、7 〔2分〕】 9. 具有12个关键字的有序表,折半查找的平均查找长度〔〕【中山大学 1998 二、10 〔2分〕】A. 3.1B. 4C. 2.5D. 5 10. 折半查找的时间复杂性为〔〕【中山大学 1999一、15】2A. O〔n〕B. O〔n〕C. O〔nlogn〕D. O〔logn〕11.当采用分快查找时,数据的组织方式为 ( ) 【南京理工大学 1996 一、7 〔2分〕】A.数据分成假设干块,每块内数据有序B.数据分成假设干块,每块内数据不必有序,但块间必须有序,每块内最大〔或最小〕的数据组成索引块C. 数据分成假设干块,每块内数据有序,每块内最大〔或最小〕的数据组成索引块D. 数据分成假设干块,每块〔除最后一块外〕中数据个数需相同12. 二叉查找树的查找效率与二叉树的( 〔1〕)有关, 在 (〔2〕)时其查找效率最低【武汉交通科技大学1996 一、2(4分)】(1): A. 高度 B. 结点的多少 C. 树型 D. 结点的位置 (2): A. 结点太多 B. 完全二叉树 C. 呈单枝树 D. 结点太复杂。
数据结构习题集和答案
![数据结构习题集和答案](https://img.taocdn.com/s3/m/f17ca46ff111f18582d05a1b.png)
第1章绪论1、填空题1.常见的数据结构有集合,_线性__结构,__树形___结构,__图形__结构等四种。
2.常见的存储结构有__顺序存储_______结构,__链式存储____结构等两种。
3.数据的基本单位是_数据元素___,它在计算机中是作为一个整体来处理的。
4.数据结构中的结构是指数据间的逻辑关系,常见的结构可分为两大类,__线性结构____和__非线性结构___。
2、选择题1. 算法的计算量的大小称为计算的(B)。
A.效率 B. 复杂性 C. 现实性D. 难度2. 算法的时间复杂度取决于(C)A.问题的规模 B. 待处理数据的初态 C. A和B D. 以上都不对3.计算机算法指的是(1)(c),它必须具备(2)(B)这三个特性。
(1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法(2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性C. 确定性、有穷性、稳定性D. 易读性、稳定性、安全性4. 下面关于算法说法错误的是(D)A.算法最终必须由计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的3、应用题1、给出以下算法的时间复杂度.void fun(int n){int i=1,k=100;while(i<n){k=k+1;i=i+2;}}时间复杂度为____O(n)_____。
2、给出以下算法的时间复杂度.void fun2(int n){int i=1,k=100;while(i<n){i=i*10;k=k+1;}}时间复杂度为____O(log n)___________。
第2章线性表1、填空题1. 线性表按照存储结构不同主要有两种实现方式,一种是__顺序_表,另一种是___链___表。
2.顺序表采用__随机___访问机制对数据元素进行访问。
3.若在单链表结点p的后面插入一个新的结点s,则其操作序列为:①____s->next=p->next_____________;②____p->next=s___________________;4.在单向链表中,若要删除某个结点p,一般要找到__p的前趋__结点,才能实现该操作。
《数据结构》试题集及答案
![《数据结构》试题集及答案](https://img.taocdn.com/s3/m/a9523bb3b1717fd5360cba1aa8114431b90d8eee.png)
《数据结构》试题集及答案第⼀部分选择题(30分)⼀、⼀、项选择题(本⼤题共15⼩题,每⼩题2分,共30分)在每⼩题列出的四个选项中只有⼀个选项是符合题⽬要求的,请将正确选项前的字母填在题后的括号内。
1.算法指的是()A .计算机程序B .解决问题的计算⽅法C .排序算法D .解决问题的有限运算序列2.线性表采⽤链式存储时,结点的存储地址()A .必须是不连续的B .连续与否均可C .必须是连续的D .和头结点的存储地址相连续3.将长度为n 的单链表链接在长度为m 的单链表之后的算法的时间复杂度为()A .O (1)B .O (n )C .O (m )D .O (m+n )4.由两个栈共享⼀个向量空间的好处是:()A .减少存取时间,降低下溢发⽣的机率B .节省存储空间,降低上溢发⽣的机率C .减少存取时间,降低上溢发⽣的机率D .节省存储空间,降低下溢发⽣的机率5.设数组data[m]作为循环队列SQ 的存储空间,front 为队头指针,rear 为队尾指针,则执⾏出队操作后其头指针front 值为()A .front=front+1B .front=(front+1)%(m-1)C .front=(front-1)%mD .front=(front+1)%m6.如下陈述中正确的是()A .串是⼀种特殊的线性表B .串的长度必须⼤于零C .串中元素只能是字母D .空串就是空⽩串A .O (n 3)B .O (n )C .O (n 2)D .O (n 3)8.⼀个⾮空⼴义表的表头()A .不可能是⼦表B .只能是⼦表C .只能是原⼦D .可以是⼦表或原⼦9.假设以带⾏表的三元组表表⽰稀疏矩阵,则和下列⾏表0 2 3 3 5对应的稀疏矩阵是()A.08067000000050400000--B.08067000504000000300--C. 0806 0000 0200 5040 0000 --D.-10.在⼀棵度为3的树中,度为3的结点个数为2,度为2 的结点个数为1,则度为0的结点个数为( )A.4 B.5 C.6 D.711.在含n个顶点和e条边的⽆向图的邻接矩阵中,零元素的个数为( ) A.e B.2e C.n2-e D.n2-2e12.假设⼀个有n个顶点和e条弧的有向图⽤邻接表表⽰,则删除与某个顶点v i 相关的所有弧的时间复杂度是( )A.O(n) B.O(e) C.O(n+e) D.O(n*e)13.⽤某种排序⽅法对关键字序列(25,84,21,47,15,27,68,35,20)进⾏排序时,序列的变化情况如下:20,15,21,25,47,27,68,35,8415,20,21,25,35,27,47,68,8415,20,21,25,27,35,47,68,84则所采⽤的排序⽅法是()A.选择排序B.希尔排序C.归并排序D.快速排序14.适于对动态查找表进⾏⾼效率查找的组织结构是()A.有序表B.分块有序表C.三叉排序树D.线性链表15.不定长⽂件是指()A.⽂件的长度不固定B.记录的长度不固定C.字段的长度不固定D.关键字项的长度不固定第⼆部分⾮选择题(共70分)17.在⼀个带头结点的单循环链表中,p指向尾结点的直接前驱,则指向头结点的指针head可⽤p表⽰为head= 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
判断题1.数据的逻辑结构与数据元素本身的容和形式无关。
(√)2.一个数据结构是由一个逻辑结构和这个逻辑结构上的一个基本运算集构成的整体。
(√)3.数据元素是数据的最小单位。
(√)4.数据的逻辑结构和数据的存储结构是相同的。
(×)5.程序和算法原则上是没有区别的,所以在讨论数据结构时可以通用。
(×)6.从逻辑关系上讲,数据结构主要分为线性结构和非线性结构。
(√)7.数据的存储结构是数据的逻辑结构的存储映像。
(×)8.数据的物理结构是指数据在计算机实际的存储形式。
(√)9.数据的逻辑结构是依赖于计算机的。
(×)10.算法是对解题方法和的描述步骤。
(√)填空题:1.数据有逻辑结构和存储结构两种结构。
2.数据逻辑结构除了集合以外,还包括线性结构、树形结构和图形结构。
3.数据结构按逻辑结构可分为两大类,它们是线性结构和非线性结构。
4.树形结构和图形结构合称为非线性结构。
5.在树形结构中,除了树根结点以外,其余每个结点只有 1 个前驱结点。
6.在图形结构中,每个结点的前驱结点数和后继结点数可以任意多个。
7.数据的存储结构又叫物理结构。
8.数据的存储结构形式包括顺序存储、链式存储、索引存储和散列存储。
9.线性结构中的元素之间存在一对一的关系。
10.树形结构中的元素之间存在一对多的关系。
11.图形结构的元素之间存在多对多的关系。
12.数据结构主要研究数据的逻辑结构、存储结构和算法(或运算)3个方面的容。
13.数据结构被定义为(D,R),其中D是数据的有限集合,R是D上的关系的有限集合。
14.算法是一个有穷指令的集合。
15.算法效率的度量可以分为事先估算和事后统计法。
16.一个算法的时间复杂性是算法输入规模的函数。
17.算法的空间复杂度是指该算法所耗费的存储空间,它是该算法求解问题规模n的函数。
18.若一个算法中的语句频度之和为T(n)=6n+3nlog2n,则算法的时间复杂度为O(nlog2n )。
若一个算法中的语句频度之和为T(n)=3n+nlog2n+n2,则算法的时间复杂度为 ___O(n*n)_______ 。
数据结构是一门研究非数值计算的程序设计总是中计算机的操作对象,以及它们之间的关系和运算的学科。
19.串的两种最基本的存储方式是顺序存储方式链式存储方式。
20.两个串相等的充分必要条件是、长度相等对应位置的字符相同。
21.空串是零个字符,其长度等于零。
22.空格串是由一个或多个空格字符组成的串,其长度等于其包含的空格个数。
23.设s=”I□AM□A□TEACHER”(□表示空格),其长度是14。
24.已知二维数组A[m][n]采用行序为主方式存储,每个元素占k个存储单元,并且第一个元素的存储地址是Loc(A[0][0]),则A[i][j]的地址是LOC (A[0][0])+(n*i+j)*k 。
25.二维数组A[10][20]采用列序为主方式存储,每个元素占一个存储单元,并且A[0][0]的存储地址是200,则A[6][12]的地址是200+(12*10+6)= 326 。
26.二维数组A[10,…,20][5,…,10]采用行序为主方式存储,每个元素占4个存储单元,并且A[10][5]的存储地址是1000,则A[8][9]的地址是_1000+((18-10)*6 +(9-5))*4 = 1208。
通常从四个方面评价算法的质量:正确性、易读性、健壮性和高效率。
27.中序遍历二叉排序树得到的序列是有序序列(填有序或无序)。
28.设某棵二叉树中度数为0的结点数为N0,度数为1的结点数为N1,则该二叉树中共有 2 N0+ N1个空指针域。
29.假设为循环队列分配的向量空间为Q[20](下标从0开始),若队列的长度和队头指针值分别为13和17,则当前队尾指针的值为10。
30.设一棵完全二叉树中有500个结点,则该二叉树的深度为9;若用二叉链表作为该完全二叉树的存储结构,则共有501 个空指针域。
31.数据结构被定义为(D,R),其中D是数据的有限集合,R是D上的关系的有限集合。
32.数据有逻辑结构和存储两种结构。
33.串的两种最基本的存储方式是顺序存储和存储。
34.若一个算法中的语句频度之和为T(n)=3n+nlog2n+n2,则算法的时间复杂度为O(n2)。
35.数据结构主要研究数据的逻辑结构、存储结构和算法3个方面的容。
36.算法的空间复杂度是指该算法所耗费的存储空间,它是该算法求解问题规模n的函数。
37.数据结构是一门研究非数值计算的程序设计总是中计算机的操作对象,以及它们之间的关系和运算的学科。
选择题:1.数据结构通常是研究数据的(A)及它们之间的相互关系。
A.存储结构和逻辑结构B.存储和抽象C.联系和抽象D.联系与逻辑2.在逻辑上可以把数据结构分成(C)。
A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.部结构和外部结构3.数据在计算机中存储器表示时,物理地址和逻辑地址相同并且是连续的,称之为(C)。
A.存储结构B.逻辑结构C.顺序存储结构D.链式存储结构4.非线性结构中的每个结点(D)。
A.无直接前趋结点B.无直接后继结点C.只有一个直接前趋和一个直接后继结点D.可能有多个直接前趋和多个直接后继结点5.链式存储结构所占存储空间(A)。
A.分两部分,一部分存储结点的值,另一部分存放表示结点间关系的指针B.只有一部分,存放结点的值C.只有一部分,存储表示结点间关系的指针D.分两部分,一部分存放结点的值,另一部分存放结点所占单元数6.算法的计算量大小称为算法的(C)。
A.现实性B.难度C.时间复杂性D.效率7.数据的基本单位是(B)。
A.数据结构B.数据元素C.数据项D.文件8.每个结点只含有一个数据元素,所有存储结点相继存放在一个连续的存储空间里。
这种存储结构称为(A)结构。
A.顺序存储B.链式存储C.索引存储D.散列存储9.每一个存储结点不仅含有一个数据元素,还包含一组指针,该存储方式是(B)存储方式。
A.顺序B.链式C.索引D.散列10.以下任何两个结点之间都没有逻辑关系的是(D)。
A.图形结构B.线性结构C.树形结构D.集合11.在数据结构中,与所使用的计算机无关的是(C)。
A.物理结构B.存储结构C.逻辑结构D.逻辑和存储结构12.下列4种基本逻辑结构中,数据元素之间关系最弱的是(A)。
A.集合B.线性结构C.树形结构D.图形结构13.与数据元素本身的形式、容、相对位置、个数无关的是数据的(A)。
A.逻辑结构B.存储结构C.逻辑实现D.存储实现14.每一个存储结点只含有一个数据元素,存储结点存放在连续的存储空间,另外有一组指明结点位置的表,该存储方式是(C)存储方式。
A.顺序B.链式C.索引D.散列15.算法能正确的实现预定功能的特性称为算法的(A)。
A.正确性B.易读性C.健壮性D.高效性16.算法在发生非法操作时可以作出相应处理的特性称为算法的(C)。
A.正确性B.易读性C.健壮性D.高效性17.下列时间复杂度中最坏的是(D)。
A.O(1) B.O(n) C.O(log2n) D.O(n2)18.下列算法的时间复杂度是(D)for(i=0;i<n;i++)for(j=0;j<n;j++)C[i][j]=i+j;A.O(1) B.O(n) C.O(log2n) D.O(n2)19.算法分析的两个主要方面是(A)。
A.空间复杂性和时间复杂性B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性20.计算机算法必须具备输入、输出和(C)。
A.计算方法B.排序方法C.解决问题的有限运算步骤D.程序设计方法21.如下图所示的4棵二叉树,(C)不是完全二叉树。
22.如下图所示的4棵二叉树,(B)是平衡二叉树。
23.在线索化二叉树中,t所指结点没有左子树的充要条件是()。
A.B.C.D.24.二叉树按某种顺序线索化后,任一结点均有指向其前趋和后继的线索,这种说法(B)。
A.正确B.错误C.不确定D.不存在25.二叉树的先序遍历序列中,任意一个结点均处在其孩子结点的前面,这种说法(A)。
A.正确B.错误C.不确定D.不存在26.由于二叉树中每个结点的度最大为2,所以二叉树是一种特殊的树,这种说法(A)。
A.正确B.错误C.不确定D.不存在27.设高度为h的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少为(B)。
A.2h B.2h-1C.2h+1 D.h+128.如右图所示二叉树的中序遍历序列是(B)。
A.abcdgef B.dfebagcC.dbaefcg D.defbagc29.已知某二叉树的后序遍历序列是dabec,中序遍历序列是debac,它的先序遍历序列是(A)。
A.cedba B.cdbae C.cabed D.cabde 30.设a和b为一棵二叉树上的两个结点,在中序遍历时,a在b前的条件是(D)。
A.a是b的左孩子B.b是a的右孩子C.a是b左子树上结点或b是a右子树上结点D.以上三项均可31.假定在一棵二叉树中,双分支结点数为15,单分支结点数为30,则叶子结点数为(C)个。
A. 45 B.15 C.16 D.3132.某二叉树的先序遍历序列是abdgcefh,中序遍历序列是dgbaechf,则其后序遍历序列是(A)。
A.gdbehfca B.abcdefgh C.gdbaefch D.ghbcdefa 33.按照二叉树的定义,具有3个结点的二叉树有(D)种。
A.2 B.3 C.4 D.534.树的基本遍历策略可分为先根遍历和后根遍历;二叉树的遍历策略分为先序、中序和后序遍历。
这里把由树转化得到的二叉树叫做这棵树对应的二叉树。
以下结论()是正确的。
A.树的先根遍历序列与其对应的二叉树的先序遍历序列相同B.树的后根遍历序列与其对应的二叉树的后序遍历序列相同C.树的先根遍历序列与其对应的二叉树的中序遍历序列相同D.以上都不对35.空串与空格串是相同的,这种说法(B)。
A.正确B.错误C.依据情况而定D.不规36.串是一种特殊的线性表,其特殊性体现在(D)。
A.可以顺序存储B.数据元素是一个字符C.可以存储D.数据元素可以是多个字符37.设有两个串p和q,求q在p中首次出现的位置的运算称做(B)。
A.连接B.模式匹配C.求子串D.求串长38.设串s1=”ABCDEFG”,s2=”PQRST”,函数con(x,y)返回x和y串的连接,subs(s,i,j)返回串s的从序号i的字符开始的j个字符组成的子串,len(s)返回串s的长度,则con(subs(s1,2,len(s2)),subs(s1,len(s2),2))的结果是(D)。