《数据结构》习题汇编01 第一章 绪论 试题
《数据结构》期末考试复习题 第1章 绪论
![《数据结构》期末考试复习题 第1章 绪论](https://img.taocdn.com/s3/m/2073cfa80029bd64783e2cae.png)
第1章绪论一、选择题1. 算法的计算量的大小称为计算的()。
【北京邮电大学2000 二、3 (20/8分)】A.效率 B. 复杂性 C. 现实性 D. 难度2. 算法的时间复杂度取决于()【中科院计算所 1998 二、1 (2分)】A.问题的规模 B. 待处理数据的初态 C. A和B3.计算机算法指的是(1),它必须具备(2)这三个特性。
(1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法(2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性C. 确定性、有穷性、稳定性D. 易读性、稳定性、安全性【南京理工大学 1999 一、1(2分)【武汉交通科技大学 1996 一、1( 4分)】4.一个算法应该是()。
【中山大学 1998 二、1(2分)】A.程序 B.问题求解步骤的描述 C.要满足五个基本特性 D.A和C.5. 下面关于算法说法错误的是()【南京理工大学 2000 一、1(1.5分)】A.算法最终必须由计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的6. 下面说法错误的是()【南京理工大学 2000 一、2 (1.5分)】(1)算法原地工作的含义是指不需要任何额外的辅助空间(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界(4)同一个算法,实现语言的级别越高,执行效率就越低A.(1) B.(1),(2) C.(1),(4) D.(3)7.从逻辑上可以把数据结构分为()两大类。
【武汉交通科技大学 1996 一、4(2分)】A.动态结构、静态结构 B.顺序结构、链式结构C.线性结构、非线性结构 D.初等结构、构造型结构8.以下与数据的存储结构无关的术语是()。
【北方交通大学 2000 二、1(2分)】A.循环队列 B. 链表 C. 哈希表 D. 栈9.以下数据结构中,哪一个是线性结构()?【北方交通大学 2001 一、1(2分)】A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串10.以下那一个术语与数据的存储结构无关?()【北方交通大学 2001 一、2(2分)】A.栈 B. 哈希表 C. 线索树 D. 双向链表11.在下面的程序段中,对x的赋值语句的频度为()【北京工商大学 2001 一、10(3分)】FOR i:=1 TO n DOFOR j:=1 TO n DOx:=x+1;A. O(2n) B.O(n) C.O(n2) D.O(log2n)12.程序段 FOR i:=n-1 DOWNTO 1 DOFOR j:=1 TO i DOIF A[j]>A[j+1]THEN A[j]与A[j+1]对换;其中 n为正整数,则最后一行的语句频度在最坏情况下是()A. O(n)B. O(nlogn)C. O(n3)D. O(n2)【南京理工大学1998一、1(2分)】13.以下哪个数据结构不是多型数据类型()【中山大学 1999 一、3(1分)】A.栈 B.广义表 C.有向图 D.字符串14.以下数据结构中,()是非线性数据结构【中山大学 1999 一、4】A.树 B.字符串 C.队 D.栈15. 下列数据中,()是非线性数据结构。
第一章绪论练习题
![第一章绪论练习题](https://img.taocdn.com/s3/m/881364eba1c7aa00b52acb94.png)
第一章绪论练习题一、填空题1.数据结构是一门研究非数值计算的程序设计问题中计算机的______以及它们之间的______和运算等的学科。
2.数据结构被形式地定义为(D,R),其中D是______的有限集合,R是D上的______有限集合。
3.数据结构包括数据的______、数据的______和数据的______这三个方面的内容。
4.数据结构按逻辑结构可分为两大类,它们分别是______和______。
5.线性结构中元素之间存在______关系,树形结构中元素之间存在______关系,图形结构中元素之间存在______关系。
6.在线性结构中,第一个结点______前驱结点,其余每个结点有且只有1个前驱结点;最后一个结点______后继结点,其余每个结点有且只有1个后继结点。
7.在树形结构中,树根结点没有______结点,其余每个结点有且只有______个前驱结点;叶子结点没有______结点,其余每个结点的后继结点数可以______。
8.在图形结构中,每个结点的前驱结点数和后继结点数可以______。
9.数据的存储结构可用四种基本的存储方法表示,它们分别是______。
10.数据的运算最常用的有5种,它们分别是______。
11.一个算法的效率可分为______效率和______效率。
12.计算机专业人员必须完成的两项基本任务是:______和______。
13.数据在计算机存储器中的存在形式称为______。
14.概括地说,数据结构课程的主要内容包括:数据的______、定义在______、数据的______的实现。
此外,该课程还要考虑各种结构和实现方法的______。
15.由一种______结构和一组______构成的整体是实际问题的一种数学模型,这种数学模型的建立、选择和实现是数据结构的核心问题。
16.存储结构是逻辑结构的______实现。
17.数据表示任务是逐步完成的,即数据表示形式的变化过程是______->______->______。
最新版《数据结构》各章习题及答案
![最新版《数据结构》各章习题及答案](https://img.taocdn.com/s3/m/e8ec8488b1717fd5360cba1aa8114431b90d8e6d.png)
最新版《数据结构》各章习题及答案第一章绪论一、选择题1.组成数据的基本单位是()(A)数据项(B)数据类型(C)数据元素(D)数据变量2.数据结构是研究数据的()以及它们之间的相互关系。
(A)理想结构,物理结构(B)理想结构,抽象结构(C)物理结构,逻辑结构(D)抽象结构,逻辑结构3.在数据结构中,从逻辑上可以把数据结构分成()(A)动态结构和静态结构(B)紧凑结构和非紧凑结构(C)线性结构和非线性结构(D)内部结构和外部结构4.数据结构是一门研究非数值计算的程序设计问题中计算机的(①)以及它们之间的(②)和运算等的学科。
① (A)数据元素(B)计算方法(C)逻辑存储(D)数据映像② (A)结构(B)关系(C)运算(D)算法5.算法分析的目的是()。
(A)找出数据结构的合理性(B)研究算法中的输入和输出的关系(C)分析算法的效率以求改进(D)分析算法的易懂性和文档性6.计算机算法指的是(①),它必须具备输入、输出和(②)等5 个特性。
① (A)计算方法(B)排序方法(C)解决问题的有限运算序列(D)调度方法② (A)可执行性、可移植性和可扩充性(B)可行性、确定性和有穷性(C)确定性、有穷性和稳定性(D)易读性、稳定性和安全性二、判断题1.数据的机内表示称为数据的存储结构。
()2.算法就是程序。
()3.数据元素是数据的最小单位。
()4.算法的五个特性为:有穷性、输入、输出、完成性和确定性。
()5.算法的时间复杂度取决于问题的规模和待处理数据的初态。
()三、填空题1.数据逻辑结构包括________、________、_________ 和__________ 四种类型,其中树形结构和图形结构合称为_____ 。
2.在线性结构中,第一个结点____前驱结点,其余每个结点有且只有______ 个前驱结点;最后一个结点______后续结点,其余每个结点有且只有 _______ 个后续结点。
3.在树形结构中,树根结点没有_______ 结点,其余每个结点有且只有_______个前驱结点;叶子结点没有 ________ 结点,其余每个结点的后续结点可以_________。
《数据结构》第一章 绪论 习题
![《数据结构》第一章 绪论 习题](https://img.taocdn.com/s3/m/7fc2dd868bd63186bcebbc4e.png)
《数据结构》第一章绪论习题1-1 什么叫数据?什么叫数据元素?什么叫数据项?1-2 什么叫数据的物理结构?什么叫数据的存储结构?什么叫数据的操作?1-3 数据结构课程主要讨论哪三个方面的问题?1-4 分别画出线性结构、树结构和图结构的逻辑示意图。
1-5 什么叫类型?什么叫数据类型?什么叫抽象数据类型?1-6 怎样利用抽象数据类型设计大型软件?1-7 什么叫算法?算法的5个性质是什么?1-8 根据算法的性质解释算法和程序的区别?1-9 评判算法的优劣有哪几种方法?1-10 什么叫算法的时间复杂度?怎样表示算法的时间复杂度?1-11 设n为已在算法前边定义的整数类型,并已知n为正整数,分析下列各算法中加下划线语句的执行次数,并给出各算法的时间复杂度T(n)。
(1) int i = 1, k = 0;while (i < n-1){k = k + 10 * i; i = i + 1;}(2) int i = 1, k = 0;do{k = k + 10 * i; i = i + 1;}while (i != n);(3) int i = 1, j = 1;while (i <= n && j <= n){i = i + 1; j = j + 1;}(4) int x = n; /* n > 1 */int y = 0;while(x >= (y+1)*(y+1))y++;(5) int i, j, k, x = 0;for (i = 0; i < n; i++)for (j = 0; j < i; j++)for (k = 0; k < j; k++)x = x + 2;1-12 设求解同一个问题有三种算法,三种算法各自的时间复杂度分别为O(n2),O(2n)和O(nlg n),哪种算法最可取?为什么?1-13 按增长率从小到大的顺序排列下列各组函数:(1)2100,(3/2)n,(2/3)n,(4/3)n(2)n,n3/2,n2/3,n!,n n(3)lb n,n×lb n,n lb n,n*1-14 下面是几个典型的时间复杂度函数估值问题:(1)当n为正整数时,n取何值能使2n> n3;(2)说明2n+ n3是O(2n);(3)给出5(n2 + 6) / (n + 3) + 7lg n的O值估计。
数据结构习题(包含全部答案解析)
![数据结构习题(包含全部答案解析)](https://img.taocdn.com/s3/m/2bc74635f78a6529647d537f.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、_______是信息的载体,是对客观事物的符号表示,它能够被计算机识别、存储、加工和处理,________是对能够有效的输人到计算机中并且能够被计算机处理的符号的总称。
(数据、数据)2、数据元素是数据的______,有些情况下也称为元素、结点、顶点、记录等。
数据结构第一章绪论习题
![数据结构第一章绪论习题](https://img.taocdn.com/s3/m/5682ba2f2af90242a895e58a.png)
01绪论【单选题】1. (A)是数据的基本单位。
A、数据元素B、数据对象C、数据项D、数据结构2. (C)是数据的不可分割的最小单位。
A、数据元素B、数据对象C、数据项D、数据结构3. 若采用非顺序映象,则数据元素在内存中占用的存储空间(C)。
A、一定连续B、一定不连续C、可连续可不连续4. 若采用顺序映象,则数据元素在内存中占用的存储空间(A)。
A、一定连续B、一定不连续C、可连续可不连续5. 在数据结构中,从逻辑上可以把数据结构分为(C)A、动态结构和静态结构B、紧凑结构和非紧凑结构C、线性结构和非线性结构D、内部结构和外部结构6. 在树形结构中,数据元素间存在(B)的关系。
A、一对一B、一对多C、多对多D、除同属一个集合外别无关系7. 下列说法中错误的是(B)。
A、数据对象是数据的子集B、数据元素间关系在计算机中的映象即为数据的存储结构C、非顺序映象的特点是借助指示元素存储地址的指针来表示数据元素间逻辑关系D、抽象数据类型指一个数学模型及定义在该模型上的一组操作8. 计算机算法指的是(C)。
A、计算方法B、排序方法C、解决问题的有限运算序列D、调度方法9. 下列不属算法特性的是(D)。
A、有穷性B、确定性C、零或多个输入D、健壮性10.算法分析的目的是(C)。
A、找出数据结构的合理性B、研究算法中的输入和输出的关系C、分析算法的效率以求改进D、分析算法的易读性和文档性11.算法分析的两个主要方面是(A)。
A、空间复杂性和时间复杂性B、正确性和简明性C、可读性和文档性D、数据复杂性和程序复杂性12.算法的计算量的大小称为算法的(A)。
A、效率B、复杂性C、现实性D、难度13.在下面的程序段中,对x的赋值语句的频度为(C)。
for(i=1;i<=n;++i)for(j=1;j<=n;++j)x=x+1;A、2nB、nC、n2D、log2n14.设n为正整数,则如下程序段中最后一行的语句频度在最坏情况下是(D)。
数据结构第1章习题-绪论
![数据结构第1章习题-绪论](https://img.taocdn.com/s3/m/420cd339a45177232f60a27d.png)
第1章绪论一、选择题1. 算法的计算量的大小称为计算的()。
【北京邮电大学2000 二、3 (20/8分)】A.效率 B. 复杂性 C. 现实性 D. 难度2. 算法的时间复杂度取决于()【中科院计算所 1998 二、1 (2分)】A.问题的规模 B. 待处理数据的初态 C. A和B3.计算机算法指的是(1),它必须具备(2)这三个特性。
(1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法(2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性C. 确定性、有穷性、稳定性D. 易读性、稳定性、安全性【南京理工大学 1999 一、1(2分)【武汉交通科技大学 1996 一、1( 4分)】4.一个算法应该是()。
【中山大学 1998 二、1(2分)】A.程序 B.问题求解步骤的描述 C.要满足五个基本特性 D.A和C.5. 下面关于算法说法错误的是()【南京理工大学 2000 一、1(1.5分)】A.算法最终必须由计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的6. 下面说法错误的是()【南京理工大学 2000 一、2 (1.5分)】(1)算法原地工作的含义是指不需要任何额外的辅助空间(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界(4)同一个算法,实现语言的级别越高,执行效率就越低A.(1) B.(1),(2) C.(1),(4) D.(3)7.从逻辑上可以把数据结构分为()两大类。
【武汉交通科技大学 1996 一、4(2分)】A.动态结构、静态结构 B.顺序结构、链式结构C.线性结构、非线性结构 D.初等结构、构造型结构8.以下与数据的存储结构无关的术语是()。
【北方交通大学 2000 二、1(2分)】A.循环队列 B. 链表 C. 哈希表 D. 栈9.以下数据结构中,哪一个是线性结构()?【北方交通大学 2001 一、1(2分)】A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串10.以下那一个术语与数据的存储结构无关?()【北方交通大学 2001 一、2(2分)】A.栈 B. 哈希表 C. 线索树 D. 双向链表13.以下哪个数据结构不是多型数据类型()【中山大学 1999 一、3(1分)】A.栈 B.广义表 C.有向图 D.字符串14.以下数据结构中,()是非线性数据结构【中山大学 1999 一、4】A.树 B.字符串 C.队 D.栈15. 下列数据中,()是非线性数据结构。
数据结构(第二版)习题
![数据结构(第二版)习题](https://img.taocdn.com/s3/m/1f667a0d5022aaea988f0fa2.png)
第一章绪论一、问答题1.什么是数据结构?2.叙述四类基本数据结构的名称与含义。
3.叙述算法的定义与特性。
4.叙述算法的时间复杂度。
5.叙述数据类型的概念。
6. 叙述线性结构与非线性结构的差别。
7.叙述面向对象程序设计语言的特点。
8.在面向对象程序设计中,类的作用是什么?9.叙述参数传递的主要方式及特点。
10.叙述抽象数据类型的概念。
二、判断题(在各题后填写“√”或“×”)1.线性结构只能用顺序结构来存放,非线性结构只能用非顺序结构来存放。
()2.算法就是程序。
()3. 在高级语言(如C或PASCAL)中,指针类型是原子类型。
()三、计算下列程序段中X=X+1的语句频度for(i=1;i<=n;i++)for(j=1;j<=i;j++)for(k=1;k<=j;k++)x=x+1;四、试编写算法,求一元多项式Pn(x)=a0+a1x+a2x2+a3x3+…anxn的值Pn(x0),并确定算法中的每一语句的执行次数和整个算法的时间复杂度,要求时间复杂度尽可能小,规定算法中不能使用求幂函数。
注意:本题中的输入ai(i=0,1,…,n),x和n,输出为Pn(x0)。
通常算法的输入和输出可采用下列两种方式之一:(1)通过参数表中的参数显式传递。
(2)通过全局变量隐式传递。
试讨论这两种方法的优缺点,并在本题算法中以你认为较好的一种方式实现输入和输出。
第二章线性表2.1描述以下三个概念的区别:头指针,头结点,首元素结点。
2.2填空:(1)在顺序表中插入或删除一个元素,需要平均移动____元素,具体移动的元素个数与__插入或删除的位置__有关。
(2)在顺序表中,逻辑上相邻的元素,其物理位置______相邻。
在单链表中,逻辑上相邻的元素,其物理位置______相邻。
(3)在带头结点的非空单链表中,头结点的存储位置由______指示,首元素结点的存储位置由______指示,除首元素结点外,其它任一元素结点的存储位置由____指示。
数据结构练习题(含答案)
![数据结构练习题(含答案)](https://img.taocdn.com/s3/m/47d23f5f48d7c1c708a145ea.png)
B. head->next= =NULL
C. head->next= =head
D. head!=NULL
9. 非空的循环单链表head的尾结点(由p所指向)满足____。
A. p->next= =NULL
B. p= =NULL
C. p->next= =hቤተ መጻሕፍቲ ባይዱad
D. p= =head
10. 在双向循环链表的p所指结点之后插入s所指结点的操作是
C. s->next=p->next; p=s;
C. p->next=s; s-
>next=p;
13.
在一个单链表中,若删除p所指结点的后续结点,则执行
____。
A. p->next= p->next->next; B. p= p->next; p->next=
p->next->next;
C. p->next= p->next;
>right->left=s;
D. s->left=p; s->right=p->right; p->right->left=s;
p->right=s;
11. 在一个单链表中,已知q所指结点是p所指结点的前驱结点,若
在q和p之间插入s结点,则执行____。
A. s->next=p->next; p->next=s; B. p->next=s->next;
且只有
个前驱结点;最后一个结点
后续结点,其余每个结
点有且只有
个后续结点。
3. 在树形结构中,树根结点没有
数据结构网试题
![数据结构网试题](https://img.taocdn.com/s3/m/067177ef9e3143323968931f.png)
数据结构试题第一章绪论一、选择题:1、在数据结构中,从逻辑上可以把数据结构分成()。
A、动态结构和静态结构B、紧凑结构和非紧凑结构C、线性结构和非线性结构D、内部结构和外部结构2、算法分析的两个主要方面是()。
A、空间复杂性和时间复杂性B、正确性和简明性C、可读性和文档性D、数据复杂性和程序复杂性3、以下与数据的存储结构无关的术语是()。
A、循环队列B、链表C、哈希表D、栈4、以下数据结构中,哪一个是线性结构()。
A.广义表B、二叉树C、稀疏矩阵D、串5、在下面的程序段中,对x的赋值语句的频度为()。
FOR i:=1TO n DOFOR j:=1TO n DOx:=x+1;n)A、O(2n)B、O(n)C、O(n2)D、O(log26、以下哪个数据结构不是多型数据类型()。
A、栈B、广义表C、有向图D、字符串7、以下数据结构中,()是非线性数据结构。
A、树B、字符串C、队D、栈8、以下属于逻辑结构的是()。
A、顺序表 B.哈希表C、有序表D、单链表9、下列程序段的时间复杂度为()。
s=0;for(i=1;i<n;i++)for(j=1;j<n;j++)s+=ij;A、O(1)B、O(n)C、O(2n)D、O(n2)10、数据结构是()。
A、一种数据类型B、相互之间存在一种或多种特定关系的数据元素的集合C、一组性质相同的数据元素的集合D、数据的存储结构11、算法分析的目的是()。
A、辨别数据结构的合理性B、评价算法的效率C、研究算法中输入与输出的关系D、鉴别算法的可读性12、下面程序段的时间复杂度为()。
for(int i=0;i<m;i++)for(int j=0;j<n;j++)a[i][j]=ij;A、O(m2)B、O(n2)C、O(mn)D、O(m+n)13、执行下面程序段时,执行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)/214、算法的可读性是指()。
数据结构课后习题(第1章)
![数据结构课后习题(第1章)](https://img.taocdn.com/s3/m/88a405cb2cc58bd63186bdde.png)
【课后习题】第1章绪论2011级计科(网工) 班学号:姓名:一、单项选择(每题2分,共44分)1、下列说法正确的是()。
A. 数据是数据元素的基本单位B.数据元素是数据项中不可分割的最小单位C.数据可由若干个数据元素构成D.数据项可由若干个数据元素构成2、数据元素是数据的基本单位,其内()数据项。
A.只能包括一个B.不包含C.可以包含多个D.可以包含也可以不包含3、数据结构本质上是由()构成。
A、一个有限的数据元素集合及其上关系的有限集;B、一个特定的数据元素集合及其上关系的有限集;C、一个数据元素集合以及定义在该集合之上的一个关系的有限集;D、一个数据元素集合及其上关系的集合。
4、逻辑结构是()关系的整体。
A.数据元素之间逻辑B.数据项之间逻辑C.数据类型之间D.存储结构之间5、一个存储结点存放一个()。
A.数据项B.数据元素C.数据结构D.数据类型6、每个结点只存储一个数据元素,存储结点存放在连续的存储空间,该存储方是()存储方式。
A.顺序B.链式C.索引D.散列7、每个存储结点不仅含有一个数据元素,还包含一组指针,该存储方式是()存储方式。
A.顺序B.链式C.索引D.散列8、每个存储结点只含有一个数据元素,存储结点均匀地存放在连续的存储空间,使用函数值对应结点存储位置,该存储方式是()存储方式。
A.顺序B.链式C.索引D.散列9、下列时间复杂度中最坏的是()。
A.O(1)B.O(m)C.O (1og2n)D.O(n2)10、下列时间复杂度中最好的是()。
A.O(1)B.O(m)C.O(1og2n)D.O(n2)11、记录中的各个数据项的类型()。
A.必须相同B.不必相同C.不能相同D.不确定12、已知一个算法的执行时间大约为8n+5n3,则其复杂度通常用()度量即可。
A、O(5n+2n3);B、O(2n3);C、O(n3);D、O(n+n3)。
13、通常设计一个算法设计时,应考虑使其达到()的目标A、正确、可读、健壮以及高效率和低存储;B、速度快和占用存储空间少;C、正确、速度快和占用存储空间少;D、具有输入和输出。
数据结构各章习题及答案
![数据结构各章习题及答案](https://img.taocdn.com/s3/m/c4e6cae4f90f76c661371a4f.png)
链表,每个结点有价格、数量和链指针三个域。现出库(销售)m 台价格为 h 的电视机,试编写算法修改原链表。 4.某 百 货 公 司 仓 库 中 有 一 批 电 视 机 , 按 其 价 格 从 低 到 高 的 次 序 构 成 一 个 循 环 链表,每个结点有价格、数量和链指针三个域。现新到 m 台价格为 h 的电视 机,试编写算法修改原链表。 5.线 性 表 中 的 元 素 值 按 递 增 有 序 排 列 , 针 对 顺 序 表 和 循 环 链 表 两 种 不 同 的 存 储方式,分别编写 C 函数删除线性表中值介于 a 与 b(a≤b)之间的元素。 6.设 A=(a0,a1,a2,...,an-1),B=(b0,b1,b2,...,bm-1)是两个给定的线性表, 它们的结点个数分别是 n 和 m,且结点值均是整数。 若 n=m,且 ai= bi (0≤i<n ),则 A=B; 若 n<m ,且 ai=bi (0≤i<n ),则 A<B; 若存在一个 j, j<m ,j<n ,且 ai=bi (0≤i<j ), 若 aj<bj,则 A<B, 否则 A>B。 试编写一个比较 A 和 B 的 C 函数,该函数返回 -1 或 0 或 1,分别表示 A<B 或 A=B 或 A>B。 7.试编写算法,删除双向循环链表中第 k 个结点。 8.线 性 表 由 前 后 两 部 分 性 质 不 同 的 元 素 组 成 (a0,a1,...,an-1,b0,b1,...,bm-1),m 和 n 为两部分元素的个数,若线性表分 别 采 用 数 组 和 链 表 两 种 方 式 存 储 ,编 写 算 法 将 两 部 分 元 素 换 位 成 (b0,b1,...,bm-1,a0,a1,...,an-1),分 析 两 种 存 储 方 式 下 算 法 的 时 间 和 空 间 复杂度。 9.用 循 环 链 表 作 线 性 表 (a0,a1,...,an-1)和( b0,b1,...,bm-1)的 存 储 结 构 , 头指针分别为 ah 和 bh,设计 C 函数,把两个线性表合并成形如 ( a0,b0,a1,b1,…)的 线 性 表 ,要 求 不 开 辟 新 的 动 态 空 间 ,利 用 原 来 循 环 链 表 的结点完成合并操作,结构仍为循环链表,头指针为 head,并分析算法的时间 复杂度。 10.试 写 出 将 一 个 线 性 表 分 解 为 两 个 带 有 头 结 点 的 循 环 链 表 ,并 将 两 个 循 环 链 表 的 长 度 放 在 各 自 的 头 结 点 的 数 据 域 中 的 C 函 数 。其 中 ,线 性 表 中 序 号 为 偶 数 的 元 素 分 解 到 第 一 个 循 环 链 表 中 ,序 号 为 奇 数 的 元 素 分 解 到 第 二 个 循 环 链 表 中。
数据结构习题(1-5章)
![数据结构习题(1-5章)](https://img.taocdn.com/s3/m/b4b2f0c389eb172ded63b799.png)
第一章绪论一、填空题1、数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和运算等的学科。
2、数据结构被形式地定义为(D, R),其中D是数据元素的有限集合,R是D上的关系有限集合。
3、数据结构包括数据的逻辑结构、数据的存储结构和数据的运算这三个方面的内容。
4、数据结构按逻辑结构可分为两大类,它们分别是线性结构和非线性结构。
5、线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在多对多关系。
6、在线性结构中,第一个结点没有前驱结点,其余每个结点有且只有1个前驱结点;最后一个结点没有后续结点,其余每个结点有且只有1个后续结点。
7、在树形结构中,树根结点没有前驱结点,其余每个结点有且只有1个前驱结点;叶子结点没有后续结点,其余每个结点的后续结点数可以任意多个。
8、在图形结构中,每个结点的前驱结点数和后续结点数可以任意多个。
9、数据的存储结构可用四种基本的存储方法表示,它们分别是顺序、链式、索引和散列。
10、数据的运算最常用的有5种,它们分别是插入、删除、修改、查找、排序。
11、一个算法的效率可分为时间效率和空间效率。
二、单项选择题(B)1、非线性结构是数据元素之间存在一种:A)一对多关系B)多对多关系C)多对一关系D)一对一关系( C )2、数据结构中,与所使用的计算机无关的是数据的结构;A) 存储B) 物理C) 逻辑D) 物理和存储(C)3、算法分析的目的是:A) 找出数据结构的合理性B) 研究算法中的输入和输出的关系C) 分析算法的效率以求改进D) 分析算法的易懂性和文档性(A)4、算法分析的两个主要方面是:A) 空间复杂性和时间复杂性B) 正确性和简明性C) 可读性和文档性D) 数据复杂性和程序复杂性( C )5、计算机算法指的是:A) 计算方法B) 排序方法C) 解决问题的有限运算序列D) 调度方法(B)6、计算机算法必须具备输入、输出和等5个特性。
《数据结构》(C语言版)第一章绪论习题及答案
![《数据结构》(C语言版)第一章绪论习题及答案](https://img.taocdn.com/s3/m/8f4209df7d1cfad6195f312b3169a4517723e585.png)
《数据结构》(C语言版)第一章绪论习题及答案一、单选题1、______ 是数据的最小单位。
A、数据项B、表元素C、信息项D、数据元素2、以下说法不正确的是______。
A、数据可由若干个数据元素构成B、数据项可由若干个数据元素构成C、数据项是不可分割的最小标识单位D、数据元素是数据的基本单位3、数据结构是指 ______ 的集合以及它们之间的关系。
A、数据B、结构C、数据元素D、计算方法4、计算机所处理的数据一般具备某种内在联系,这是指 ______。
A、数据和数据之间存在某种关系B、元素和元素之间存在某种关系C、元素内部具有某种结构D、数据项和数据项之间存在某种关系5、在数据结构中,与所使用的计算机无关的是数据的 ______ 结构。
A、逻辑B、存储C、逻辑和存储D、物理6、数据的逻辑结构可以分为 ______ 两类。
A、紧凑结构和非紧凑结构B、动态结构和静态结构C、线性结构和非线性结构D、内部结构和外部结构7、数据的逻辑结构是指 ______ 关系的整体。
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、数据结构在计算机内存中的表示是指 ______。
A、数据的逻辑结构B、数据结构C、数据元素之间的关系D、数据的存储结构13、在数据的存储中,一个节点通常存储一个 ______。
A、数据结构B、数据元素C、数据项D、数据类型14、在决定选取任何类型的存储结构时,一般不多考虑 ______。
《数据结构》习题汇编01-第一章-绪论-考试试题.doc
![《数据结构》习题汇编01-第一章-绪论-考试试题.doc](https://img.taocdn.com/s3/m/ee5748c66bd97f192379e93e.png)
《数据结构与算法设计》习题册第一章绪论一、单项选择题1. 数据结构是一门研究非数值计算的程序设计问题中计算机的①以及它们之I'可的②和运 算等的学科。
① A ・数据元素 B.计算方法C.逻辑存储D.数据映象 ② A.结构B.关系C.运算D.算法 2. 数据结构被形式地定义为(K, R ),其中K 是 ① 的有限集,R 是K 上的 ② 有限集。
① A ・算法 B ・数据元素 C ・逻辑结构 D ・数据操作② A.操作 B.存储 C.映象 D.关系3. 在数据结构中,从逻辑上可以把数据结构分成 _______ 。
A. 动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构4・数据结构在计算机内存屮的表示是指 ________ oA.数据的存储结构 B.数据结构 C.数据的逻辑结构 D.数据元素之间的关系5. ________________________________________________ 在数据结构中,与所使用的计算机无关的是数据的 ___________________________________________________ 结构。
A. 逻辑B.存储 C ・逻辑和存储 D.物理6.算法分析的目的是 ① ,算法分析的两个主要方面是 ② 。
7・计算机算法指的是 ① ,它必须具备输入、输出和 ② 等5个特性。
①A ・计算方法B.排序方法C.解决问题的有限运算序列D.调度方法 ②A.可行性、可移植性和可扩充性 C. 确定性、有穷性和稳定性9. _________________________________________ 在决定选取何种存储结构时,一般不考虑 。
A.各结点的值如何 B.结点个数的多少 C. 对数据有哪些运算 D.所用编程语言实现这种结构是否方便① A ・找出数据结构的合理性C ・分析算法的效率以求改进② A .空间复杂度和时间复杂度C.可读性和文档性B. 研究算法中的输入和输出的关系 D.分析算法的易懂性和文档性 B. 正确性和简明性 D.数据复杂性和程序复杂性 B.可行性、确定性和有穷性 D.易读性、稳定性和安全性8. ___________________________ 在以下叙述中,正确的是 __________________ 。
数据结构习题集(2022)
![数据结构习题集(2022)](https://img.taocdn.com/s3/m/87ae1b00bb1aa8114431b90d6c85ec3a87c28bd9.png)
数据结构习题集(2022)第一章绪论1.下面是几种数据的逻辑结构S=(D,R),分别画出对应的数据逻辑结构,并指出它们分别属于何种结构。
D={a,b,c,d,e,f}R={r}(a)r={,,,,}(b)r={,,,,}(c)r={,,,,}2.分析下列程序段的时间复杂度(a)for(i=0;ifor(j=0;jfor(i=0;ifor(j=0;jWhile(i3.在数据结构中,与所使用的计算机无关的是A.存储结构B.物理结构C.物理和存储结构D.逻辑结构4.非线性结构中每个结点A.无直接前驱结点B.只有一个直接前驱和直接后继结点C.无直接后继结点D.可能有多个直接前驱和多个直接后继结点5.可以把数据的逻辑结构划分成A.内部结构和外部结构B.动态结构和静态结构C.紧凑结构和非紧凑结构D.线性结构和非线性结构6.算法的时间复杂度取决于()。
A.问题的规模B.待处理数据的初态C.A和B7.计算机算法指的是(),它必须具备()这三个特性。
(1)A.计算方法B.排序方法C.解决问题的步骤序列D.调度方法(2)A.可执行性、可移植性、可扩充性B.可执行性、确定性、有穷性C.确定性、有穷性、稳定性D.易读性、稳定性、安全性第二章线性表一、单项选择题1.下面关于线性表叙述中,错误的是_(1)_。
(1):A.顺序表必须占用一片地址连续的存储单元B.链表不必占用一片地址连续的存储单元C.顺序表可以随机存取任一元素D.链表可以随机存取任一元素2.在表长为n的单链表中,算法时间复杂度为O(n)的操作是(2)。
(2):A.查找单链表中第i个结点B.在p结点之后插入一个结点C.删除表中第一个结点D.删除p结点的直接后继结点3.单链表的存储密度(3)(3):A.大于1B.等于1C.小于1D.不能确定4.在表长为n的顺序表中,算法的时间复杂度为O(1)的操作是(4)(4):A.在第n个结点之后插入一个结点B.在第i个结点前插入一个新结点C.删除第i个结点D.求表长5.在下列链表中不能从当前结点出发访问到其余各结点的是(5)。
(完整版)数据结构练习题及参考答案
![(完整版)数据结构练习题及参考答案](https://img.taocdn.com/s3/m/9ce3abd92b160b4e777fcf55.png)
数据结构练习题第一部分绪论一、单选题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. 当一个形参类型的长度较大时,应最好说明为_________,以节省参数值的传输时间和存储参数的空间。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据结构与算法设计》习题册第一章绪论一、单项选择题1.数据结构是一门研究非数值计算的程序设计问题中计算机的①以及它们之间的②和运算等的学科。
①A. 数据元素 B. 计算方法 C. 逻辑存储 D. 数据映象②A. 结构 B. 关系 C. 运算 D. 算法2.数据结构被形式地定义为(K,R),其中K是①的有限集,R是K上的②有限集。
①A. 算法 B. 数据元素 C. 逻辑结构 D. 数据操作②A. 操作 B. 存储 C. 映象 D. 关系3.在数据结构中,从逻辑上可以把数据结构分成。
A. 动态结构和静态结构B. 紧凑结构和非紧凑结构C. 线性结构和非线性结构D. 内部结构和外部结构4.数据结构在计算机内存中的表示是指。
A. 数据的存储结构B. 数据结构C. 数据的逻辑结构D. 数据元素之间的关系5.在数据结构中,与所使用的计算机无关的是数据的结构。
A. 逻辑B. 存储C. 逻辑和存储D. 物理6.算法分析的目的是①,算法分析的两个主要方面是②。
①A. 找出数据结构的合理性 B. 研究算法中的输入和输出的关系C. 分析算法的效率以求改进D. 分析算法的易懂性和文档性②A. 空间复杂度和时间复杂度 B. 正确性和简明性C. 可读性和文档性D. 数据复杂性和程序复杂性7.计算机算法指的是①,它必须具备输入、输出和②等5个特性。
①A. 计算方法 B. 排序方法C. 解决问题的有限运算序列D. 调度方法②A. 可行性、可移植性和可扩充性 B. 可行性、确定性和有穷性C. 确定性、有穷性和稳定性D. 易读性、稳定性和安全性8.在以下叙述中,正确的是。
A. 线性表的线性存储结构优于链表存储结构B. 二维数组是其数据元素为线性表的线性表C. 栈的操作方式是先进先出D. 队列的操作方式是先进后出9.在决定选取何种存储结构时,一般不考虑。
A. 各结点的值如何B. 结点个数的多少C. 对数据有哪些运算D. 所用编程语言实现这种结构是否方便10.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储。
A. 数据的处理方法B. 数据元素的类型C. 数据元素之间的关系D. 数据的存储方法11.下面说法错误的是。
(1)算法原地工作的含义是指不需要任何额外的辅助空间(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法(3)所谓时间复杂度是指最坏情况下,估计算法执行时间的一个上界(4)同一个算法,实现语句的级别越高,执行效率越低A. (1)B. (1)、(2)C. (1)、(4)D. (3)12.通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着。
A. 数据元素具有同一特点B. 不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致C. 每个数据元素都一样D. 数据元素所包含的数据项的个数要相等13.以下说法正确的是。
A. 数据元素是数据的最小单位B. 数据项是数据的基本单位C. 数据结构是带结构的各数据项的集合D. 一些表面上很不相同的数据可以有相同的逻辑结构二、填空题1.一个数据结构在计算机中的称为存储结构。
2.数据逻辑结构包括①、②和③三种结构,树形结构和图形结构合称为④。
3.在线性结构中,第一个结点①前驱结点,其余每个结点有且只有②个前驱结点;最后一个结点③后继结点,其余每个结点有且只有④个前驱结点。
4.在树形结构中,树根结点没有①结点,其余每个结点有且只有②个前驱结点;叶子结点没有③结点,其余每个结点的后继结点可以有④个。
5.在图形结构中,每个结点的前驱结点数和后继结点数都可以有个。
6.线性结构中元素之间存在①关系,树形结构中元素之间存在②关系,图形结构中元素之间存在③关系。
7.算法的五个重要特性是、、、输入和输出。
8.算法可以用不同的语言描述,如果用C语言或PASCAL语言等高级语言来描述,则算法实现上就是程序了。
这个断言是(正确的或错误的)。
三、简答题1.设有数据逻辑结构为:B=(K,R) K={k1,k2,...,k9}R={<k1,k3>,<k1,k8>,<k2,k3>,<k2,k4>,<k2,k5>,<k3,k9>,<k5,k6>,<k8,k9>,<k9,k7>,<k4,k7>,<k4,k6>}画出这个逻辑结构的图示,并确定相对关系R,哪些结点是开始结点,哪些结点是终端结点。
2.设有如图1所示的逻辑结构图示,给出它的逻辑结构。
图13.有下列几种用二元组表示的数据结构,画出它们分别对应的逻辑图形表示,并指出它们分别属于何种结构。
(1)A=(K,R),其中:K={a,b,c,d,e,f,g,h} R={r}r={<a,b>,<b,c>,<c,d>,<d,e>,<e,f>,<f,g>,<g,h>}(2)B=(K,R),其中:K={a,b,c,d,e,f,g,h} R={r}r={<d,b>,<d,g>,<d,a>,<b,c>,<g,e>,<g,h>,<e,f>}(3)C=(K,R),其中:K={1,2,3,4,5,6} R={r}r={(1,2),(2,3),(2,4),(3,4),(3,5),(3,6),(4,5),(4,6)}这里的圆括号对表示两结点是双向的。
(4)D=(K,R),其中:K={48,25,64,57,82,36,75} R={r1,r2}r1={<25,36>,<36,48>,<48,57>,<57,64>,<64,75>,<75,82>}r2={<48,25>,<48,64>,<64,57>,<64,82>,<25,36>,<82,75>}4.当你为解决某一问题而选择数据结构时,应从哪些方面考虑?四、算法设计题1.下面程序段的时间复杂度是。
for(i=0;i<n;i++)for(j=0;j<m;j++)A[i][j]=0;2.下面程序段的时间复杂度是。
i=s=0;while(s<n){i++; s+=i;}3.下面程序段的时间复杂度是。
s=0;for(i=0;i<n;i++)for(j=0;j<n;j++)s+=B[i][j];sum=s;4.下面程序段的时间复杂度是。
i=1;while(i<=n)i=i*3;5.有如下递归函数fact(n),分析其时间复杂度。
fact(int n){if(n<=1) return 1;else return (n*fact(n-1));}6.指出下列个算法的时间复杂度。
(1)prime(int n){ //n为一个正整数int i=2;while(n%i!=0&&i<sqrt(n)) i++;if(i*1.0>sqrt(n)) printf(“%d 是一素数\n”,n);else printf(“%d 不是一个素数\n”,n);}(2)sum1(int n){ //n为一个正整数int p=1,sum=0,i;for(i=1;i<=n;i++){p*=i; sum+=p;}return sum;}(3)sum2(int n){ //n为一个正整数int sum=0,i,j;for(i=1;i<=n;i++){p=1;for(j=1;j<=i;j++) p*=j;sum+=p;}return sum;}7.求两个n阶矩阵的乘法C=A×B,其算法如下:#define MAX 100void MaxtrixMult(int n,float a[MAX][MAX], float b[MAX][MAX],float c[MAX][MAX]){int i,j,k;float x;for(i=1;i<=n;i++){for(j=1;j<=n;j++){x=0;for(k=1;k<=n;k++) x+=a[i][k]*b[k][j];c[i][j]+=x;}}}分析该算法的时间复杂度。
8.设n是偶数,试计算运行下列程序段后m的值并给出该程序段的时间复杂度。
m=0;for(i=1;i<=n;i++)for(j=2*i;j<=n;j++)m++;9.给定有m个整数的递增有序数组a[1..m]和有n个整数的递减有序数组b[1..n],试写一个算法,将数组a和b归并为递增有序数组c[1..m+n],要求算法的时间复杂度为O(m+n)。
10.求解盘片为n的汉诺塔问题的算法如下,分析其算法时间复杂度。
void hanoi(int n,char x,char y,char z){if(n==1) printf(“Move disk %d from %c to %c.\n”,n,x,z);else{hanoi(n-1,x,z,y);printf(“Move disk %d from %c to %c.\n”,n,x,z);hanoi(n-1,y,x,z);}}11.分析以下程序段的时间复杂度。
s=0;for(i=0;i<=n;i++)for(j=0;j<=n;j++)for(k=0;k<i+j;k++)s++;。