《数据结构》课程习题集
数据结构习题库

知识点:01.绪论02.顺序表03.链表04.栈05.链队列06.循环队列07.串08.数组的顺序表示09.稀疏矩阵10.广义表11.二叉树的基本概念12.二叉树遍历、二叉树性质13.树、树与二叉树的转换14.赫夫曼树15.图的定义、图的存储16.图的遍历17.图的生成树18.静态查找(顺序表的查找、有序表的查找)19.动态查找(二叉排序树、平衡树、B树)20.哈希查找21.插入排序(直接插入、折半插入、2路插入、希尔排序)22.选择排序(简单选择、树形选择、堆排序)23.快速排序、归并排序101A1(1).数据的逻辑结构是(A)。
A.数据的组织形式B.数据的存储形式C.数据的表示形式D.数据的实现形式101A1(2).组成数据的基本单位是(C)。
A.数据项B.数据类型C.数据元素D.数据变量101B1(3).与顺序存储结构相比,链式存储结构的存储密度(B)。
A.大B.小C.相同D.以上都不对101B2(4).对于存储同样一组数据元素而言,(D)。
A.顺序存储结构比链接结构多占空间B.在顺序结构中查找元素的速度比在链接结构中查找要快C.与链接结构相比,顺序结构便于安排数据元素D.顺序结构占用整块空间而链接结构不要求整块空间101B2(5).下面程序的时间复杂度为(B)。
x=0;for(i=1;i<n;i++)for(j=i+1;j<=n;j++)x++;A.O(n)B.O(n2)C.O(1)D.O(n)101B2(6).下面程序的时间复杂度为(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)101C2(7).下面程序段的执行次数为(B)。
for(i=0;i<n-1;i++)for(j=0;j>i;j++)state;A.n(n+1)/2 B.(n-1)(n+2)/2C.n(n+1)/2 D.(n-1)(n+2)101D3(8).下面程序的时间复杂度为(A)。
数据结构与算法习题集 习题集

数据结构习题集一、选择题1.在一个长度为n的顺序表中,向第i个元素(1≤i≤n+1)之前插入一个新元素时,需向后移动B个元素。
A. n-1B. n-i+1C. n-i-1D. i2.在一个具有n个单元的顺序栈中,假定以地址低端作为栈底,以top作为栈顶指针,则当做退栈处理时,top变化为C。
A. top不变B. top=-n C. top=top-1 D. top=top+13.向顺序栈中压入元素时,是A。
A. 先存入元素,后移动栈顶指针B.先移动栈顶指针,后存入元素4.在一个顺序存储的循环队列中,队首指针指向队首元素的A。
A. 前一个位置B. 后一个位置C. 队首元素位置D. 队尾元素位置5.若进栈序列为1,2,3,4,进栈过程中可以出栈,则C不可能是一个出栈序列。
A. 3,4,2,1B. 2,4,3,1C. 1,4,2,3D. 3,2,1,46.在具有n个单元的顺序存储的循环队列中,假定front和rear分别为队首指针和队尾指针,则判断队空的条件是C。
A. front= =rear+1B. front+1= =rearC. front= =rearD. front= =07.在具有n个单元的顺序存储的循环队列中,假定front和rear分别为队首指针和队尾指针,则判断队满的条件是D。
A. rear % n= =frontB. (rear-1) % n= =frontC. (rear-1) % n= =rearD. (rear+1) % n= =front8.从一个具有n个节点的单链表中查找其值等于x结点时,在查找成功的情况下,需平均比较D个结点。
A. nB. n/2C. (n-1)/2D. (n+1)/29.在一个单链表中,已知*q结点是*p结点的前驱结点,若在*q和*p之间插入*s结点,则执行C。
A. s->next=p->next; p->next=s;B. p->next=s->next; s->next=p;C. q->next=s; s->next=p;D. p->next=s; s->next=q;10.向一个栈项指针为hs的链栈中插入一个*s结点时,则执行C。
数据结构习题集

习题集一、填空题⑴()是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
⑵()是数据的最小单位,()是讨论数据结构时涉及的最小数据单位。
⑶ 从逻辑关系上讲,数据结构主要分为()、()、()和()。
⑷ 数据的存储结构主要有()和()两种基本方法,不论哪种存储结构,都要存储两方面的内容:()和()。
⑸ 算法具有五个特性,分别是()、()、()、()、()。
⑹ 算法的描述方法通常有()、()和()三种,⑺ 在一般情况下,一个算法的时间复杂度是()的函数。
⑻ 设待处理问题的规模为n,若一个算法的时间复杂度为一个常数,则表示成数量级的形式为(),若为n*logn,则表示成数量级的形式为()。
(9)顺序存储结构的特点是(),链接存储结构的特点是()。
(10) 在顺序表中,等概率情况下,插入和删除一个元素平均需移动()个元素,具体移动元素的个数与()和()有关。
(11) 顺序表中第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的存储地址是()。
(12) 设单链表中指针p 指向结点A,若要删除A的后继结点(假设A存在后继结点),则需修改指针的操作为()。
(13) 单链表中设置头结点的作用是()。
(14) 非空的单循环链表由头指针head指示,则其尾结点(由指针p所指)满足()。
(15)在由尾指针rear指示的单循环链表中,在表尾插入一个结点s的操作序列是();删除开始结点的操作序列为()。
(16) 一个具有n个结点的单链表,在指针p所指结点后插入一个新结点的时间复杂度为();在给定值为x的结点后插入一个新结点的时间复杂度为()。
(17)已知一维数组A采用顺序存储结构,每个元素占用4个存储单元,第9个元素的地址为144,则第一个元素的地址是()。
A 108B 180C 176D 112(18)在长度为n的线性表中查找值为x的数据元素的时间复杂度为:()。
A O(0)B O(1)C O(n)D O(n2)(19)在一个长度为n的顺序表的第i(1≤i≤n+1)个元素之前插入一个元素,需向后移动()个元素,删除第i(1≤i≤n)个元素时,需向前移动()个元素。
数据结构_习题集(含答案)

《数据结构》课程习题集一、单选题1.头结点为L的单循环链表为空的条件是()A、L==NULLB、L->next==NULLC、L->next==LD、L!==NULL2.与线性表的链式存储结构特点不符的是:()A、便于插入、删除运算B、查找操作费时C、需要连续的地址空间D、空间动态分配3.采用邻接表存储的图,其深度优先遍历算法类似于二叉树的()A、先序遍历B、中序遍历C、后序遍历D、按层遍历4.对序列{1,5,7,10,12,15,19},采用折半查找1,需比较()次。
A、1B、2C、3D、45.直接选择排序算法的时间复杂度为()A、O(n)B、O(n2)C、 O(n*log(n))D、 O(1)6.一个栈的入栈序列为1、2、3、4,则栈的不可能的输出序列是()A、1 2 3 4B、4 3 2 1C、4 1 2 3D、3 4 2 17.判定一个顺序栈S为空的条件为()。
A、S.top=0B、S.base=0C、S.top=S.baseD、S.top>S.stacksize8.设有两个串r和t,求r在t中首次出现位置的运算称作()A、求串长B、连接C、模式匹配D、求子串9.按二叉树的定义,具有3个结点的二叉树共有()种形态。
A、3B、4C、5D、610.一个有n个顶点的完全无向图共有()条边。
A、nB、2nC、n*(n-1)D、n*(n-1)/211.对序列{5,7,12,19,20,30},采用折半查找19,需比较()次。
A、1B、2C、3D、412.直接插入排序算法的时间复杂度为:()A、O(n2)B、O(n)C、O(n*log(n))D、O(1)13.在一个长度为n的顺序表中,删除第i个元素(1≤i≤n+1)时,需要从前向后依次前移()个元素。
A、n-iB、n-i+1C、n-i-1D、i14.在稀疏矩阵的带行指针向量的链接存储中,每个行单链表中的结点都具有相同的()。
A、行号B、列号C、元素值D、地址15.在一个循环顺序队列中,队头指针指向队头元素()位置。
数据结构课程课后习题集答案解析

《数据结构简明教程》练习题及参考答案练习题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)一个算法的效率可分为 ① 效率和 ② 效率。
数据结构习题集

数据结构习题集第一章绪论1.1数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的关系和运算等的学科。
1.2 算法分析的目的是分析算法的效率以求该进,算法分析的两个主要方面是空间复杂度和时间复杂度。
1.3 计算机算法指的是解决问题的有限运算序列,它必须具备输入、输出和确定性、有穷性和可行性等5个重要特性。
第二章线性表2.32 下面关于线性表的叙述中,错误的是(B)A. 线性表采用顺序存储必须占用一片连续的存储单元B. 线性表采用顺序存储便于进行插入和删除操作C. 线性表采用链式存储不必占用一片连续的存储单元D. 线性表采用链式存储便于进行插入和删除操作第三章栈与队列一、选择题3.1 栈的特点是先进后出,队列的特点是先进先出。
3.4 判定一个栈ST(最多元素MaxSize)为空的条件是ST->top==-1。
3.8 一个队列的入队序列是1,2,3,4,则出队列的输出序列是1,2,3,4。
3.16一个队列的入队序列是1,2,3,4,则队列的输出序列是1,2,3,4。
3.18 若进栈序列为 1,2,3,4,,进栈过程中可以出栈,则以下不可能的出栈序列是3,1,4,23.1 栈和队列的区别仅在于____。
3.2 通常元素进栈的操作是____。
3.3通常元素退栈的操作是____。
3.4一个栈的输入序列是12345,则栈的输出序列43512是____。
3.5一个栈的输入序列是12345,则栈的输出序列12345是____。
第四章串4.1串是一种特殊的线形表,其特殊性体现在___B_A. 可以顺序存储B. 数据元素是一个字符C. 可以链接存储D. 数据元素可以是多个字符4.2 串的两种最基本的存储方式是顺序和链式。
4.3两个串相等的充分必要条件是:长度相等且对应位置上的字符相等。
4.4 空串是____,其长度等于____.4.5 串的三种机内表示方法是________、________、和___________。
数据结构习题集(包含全部答案)

数据结构习题集(包含全部答案)数据结构习题集(自编)第一章绪论一、选择题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、_______是信息的载体,是对客观事物的符号表示,它能够被计算机识别、存储、加工和处理,________是对能够有效的输人到计算机中并且能够被计算机处理的符号的总称。
数据结构_习题集

习 题 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;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
B.数据元素是一个字符
C.可以链接存储
D.数据元素可以是多个字符
.17.关于空串与空格串,下面说法正确的是( C )。
A.空串与空格串是相同的
B.空串与空格串长度是相同的
C.空格串中存放的都是空格
D.空串中存放的都是 NULL
. 18.图中有关路径的定义是( D )。
A.由顶点和相邻顶点序偶构成的边所形成的序列 B.由不同顶点所形成的
的 结 点 数 为 n3 , 度 为 4 的 结 点 数 为 n4 , 那 么 这 棵 树 总 的 结 点 数 为
n0+n1+n2+n3+n4;又因为树中的每个结点(除了根结点外)都有一个指针指向
它,那么这棵树总的结点数为总的指针数加上 1;
第 3 页 (共 25 页)
总的指针数=1*n1+2*n2+3*n3+4*n4;故有:
序列
第 2 页 (共 25 页)
C.由不同边所形成的序列
D.上述定义都不是
.19.设无向图的顶点个数为 n,则该图最多有( B )条边。
A.n-1
B.n(n-1)/2
C. n(n+1)/2
D.0
E.n2
.20.一个 n 个顶点的连通无向图,其边的个数至少为( A )。
A.n-1 B.n C.n+1 D.nlogn;
.21.某内排序方法的稳定性是指( D )。
A.该排序算法不允许有相同的关键字记录
B.该排序算法允许有相同的关键字记录
C.平均时间为 0(n log n)的排序方法
D.以上都不对
.22.如果只想得到 1000 个元素组成的序列中第 5 个最小元素之前的部分排序的
序列,用( E )方法最快。
A.起泡排序 B.快速排列 C.Shell 排序 D.堆排序 E.简单选择排序
A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串
.6.下述哪一条是顺序存储结构的优点?( A )
A.存储密度大 B.插入运算方便
C.删除运算方便 D.可方便地用于各种逻辑结构的存储表示
.7.下面关于线性表的叙述中,错误的是哪一个?( B )
A.线性表采用顺序存储,必须占用一片连续的存储单元。
B.线性表采用顺序存储,便于进行插入和删除操作。
9,-1,8,20,7,15};则采用的是( C )排序。
A. 选择
B. 快速
C. 希尔
D. 冒泡
.26. 设树 T 的度为 4,其中度为 1,2,3 和 4 的结点个数分别为 4,2,1,1 则
T 中的叶子数为( D )
A.5
B.6
C.7
D.8
解答:
设度为 0 的结点数为 n0,度为 1 的结点数为 n1,度为 2 的结点数为 n2,度为 3
C. 队头、队尾指针都要修改 D. 队头,队尾指针都可能要修改
.15.下面关于串的的叙述中,哪一个是不正确的?( B )
A.串是字符的有限序列
B.空串是由空格构成的串
C.模式匹配是串的一种重要运算 D.串既可以采用特殊性体现在 ( B )
A.可以顺序存储
.23.排序趟数与序列的原始状态有关的排序方法是( C )排序法。
A.插入 B. 选择 C. 冒泡 D. 都不是
.24.下面给出的四种排序方法中,排序过程中的比较次数与排序方法无关的是。
( A)
A.选择排序法 B. 插入排序法 C. 快速排序法 D. 都不是
.25.对序列{15,9,7,8,20,-1,4}进行排序,进行一趟后数据的排列变为{4,
列的是( D )。
A. 5 1 2 3 4
B. 4 5 1 3 2
C. 4 3 1 2 5
D. 3 2 1 5 4
.12. 某堆栈的输入序列为 a, b,c ,d,下面的四个序列中,不可能是它的输出序
列的是( D )。
A. a,c,b,d
B. b, c,d,a C. c, d,b, a
D. d, c,a,b
C.线性表采用链接存储,不必占用一片连续的存储单元。
D.线性表采用链接存储,便于插入和删除操作。
.8.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删
除运算,则利用( A )存储方式最节省时间。
A.顺序表 B.双链表 C.带头结点的双循环链表 D.单循环链表
.9.设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用( C )
解法 1:
《数据结构》课程习题集 第 1 页 (共 25 页)
一、. 选择题
. 1. 算法的计算量的大小称为计算的( B )。
A.效率 B. 复杂性 C. 现实性
D. 难度
.2. 算法的时间复杂度取决于( C).
A.问题的规模
B. 待处理数据的初态
C. A 和 B
D. 难确定
.3. 下面关于算法说法错误的是( D )
1+1*n1+2*n2+3*n3+4*n4=n0+n1+n2+n3+n4;从而有
n0=1+n2+2*n3+3*n4=1+2+2*1+3*1=8;
.27.一棵完全二叉树上有 1001 个结点,其中叶子结点的个数是( E )
A. 250 B. 500 C.254 D.505
E.以上答案都不对
解答:(可以利用 n0=n2+1 来解)
最节省时间。
A. 单链表 B.单循环链表 C. 带尾指针的单循环链表 D.带头结点的双循环链表
第 1 页 (共 25 页)
.10. 链表不具有的特点是( B ).
A.插入、删除不需要移动元素 B.可随机访问任一元素
C.不必事先估计存储空间 D.所需空间与线性长度成正比
.11. 设一个栈的输入序列是 1,2,3,4,5,则下列序列中,是栈的合法输出序
A.算法最终必须由计算机程序实现
B.为解决某问题的算法同为该问题编写的程序含义是相同的
C. 算法的可行性是指指令不能有二义性
D. 以上几个都是错误的
.4.从逻辑上可以把数据结构分为( C )两大类。
A.动态结构、静态结构
B.顺序结构、链式结构
C.线性结构、非线性结构 D.初等结构、构造型结构
.5.以下数据结构中,哪一个是线性结构( D )?
.13. 用链接方式存储的队列,在进行删除运算时( D )。
A. 仅修改头指针
B. 仅修改尾指针
C. 头、尾指针都要修改 D. 头、尾指针可能都要修改
.14. 用不带头结点的单链表存储队列时,其队头指针指向队头结点,其队尾指针指
向队尾结点,则在进行删除操作时( D )。
A.仅修改队头指针
B. 仅修改队尾指针