数据结构key_书面作业1

合集下载

数据结构作业一满分版

数据结构作业一满分版

数据结构作业一满分版.1.在线性表的下列存储结构中,读取元素花费的时间最少的是A.单链表B. 双向链表C.循环链表D.顺序表说明:顺序表总从链表访问快,因为顺序表元素都是按顺序排列在一起的。

而链表的元素是分散的,要访问它的某一个元素,必须先访问它前面的元素。

2.顺序表是线性表的A.链式存储结构B. 顺序存储结构C. 索引存储结构D.散列存储结构说明:顺序存储指在内存中是一个连续的整块,这是定义,没啥说的。

3. 以下关于线性表的说法不正确的是( )。

A、线性表中的数据元素可以是数字、字符、记录等不同类型。

B、线性表中包含的数据元素个数不是任意的。

C、线性表根据存储结构分可以有顺序表、链表、动态表D、存在这样的线性表:表中各结点都没有直接前趋和直接后继说明:A,我认为可以是任何类型(暂时没想出反例)B,这句话不太好理解,估计原题的意思是为了说明:线性表是能得到确切的元素个数。

C,线性表只包括顺序表和链表。

而动态表,没听说过这种说法。

D,线性表为空,好像就符合题意。

4.在顺序表中,只要知道( ),就可在相同时间内求出任一结点的存储地址。

A) 基地址B) 结点大小C) 向量大小D)基地址和结点大小说明:这里任意结点是指给出这个结点的索引(index),则其地址为:base + index * sizeof(node),这里base为基地址,sizeof(node)为结点大小,假设index从0开始计数(C/C++都是从0开始,如果其它语言从1开始,只要将index-1代替index 就可以了)5.在等概率情况下,顺序表的插入操作要移动( )结点。

A) 全部B) 一半C) 三分之一D)四分之一说明:插入和删除操作,平均约要移动全部元素的1/2,在P25,有推导公式,记住结果就行了。

'..6.在( )运算中,使用顺序表比链表好。

A) 插入B) 删除C) 根据序号查找D) 根据元素值查找说明:插入、删除操作都是链表快。

数据结构(本)形考作业1

数据结构(本)形考作业1

数据结构(本)形考作业1一、单项选择题(每小题3分,共60分)题目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设有一个长度为n的顺序表,要在第i个元素之前(也就是插入元素作为新表的第i个元素),插入一个元素,则移动元素个数为()。

A. iB. n-i-1C. n-i+1D. n-i题目10设有一个长度为n的顺序表,要删除第i个元素移动元素的个数为()。

A. n-iB. n-i-1C. n-i+1D. I题目11在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结点,可用语句()。

A. q->next=NULLB. p->next=qC. p->next=q->nextD. p=q->next题目12在一个单链表中p所指结点之后插入一个s所指的结点时,可执行()。

Homework

Homework

《数据结构》书面作业第1章绪论一、选择题1. 下面程序段的时间复杂度为()。

for (i=0;i<n;i++)for (j=0;j<m;j++) a[i][j]=0;A. O(m)B. O(n)C. O(m*n)D. O(m/n)2. 下面程序段的时间复杂度为()。

i=1; K=0;While (i<=n-1){k=k*10*i; i++; }A. O(n)B. O(1)C. O(n+1)D. O(n2)3. 下面程序段的时间复杂度为()。

i=1;do{ j=1;do{ printf(“%d\n”,i*j); j++; }while (j>n)i++;}while (i>n);A. O(n)B. O(1)C. O(n2)D. O(n3)4. 下面程序段的时间复杂度为()。

I=0; S=0;While (s<n) {I++; s=s+I; };A. O(n)B. O(n2)C. O(n1/2)D. O(n3)5. 起泡排序算法在最坏情况下的时间复杂度为()。

A. O(n)B. O(n2)C. O(n3)D. O(n4)6. 设问题的规模为n,分析以下程序段:k=n; m=0; /* n>1 */while (k>=(m+1)*(m-1)) m++;以上程序段的算法时间复杂度是()。

A. O(n)B. O(1)C. O(n1/2)D. O(n2)7. 设问题规模为n,分析以下程序段:a=10; b=100;while (b>0) { a++; b--; }以下程序段的算法时间复杂度是()。

A. O(1)B. O(n)C. O(n2)D. O(n1/2)二、应用题1. 有一种数据结构B1=(D,R),其中:D={1,5,8,12,20,26,34}R={r}r={<1,8>,<8,34>,<34,20>,<20,12>,<12,26>,<26,5>}画出其逻辑结构表示并说明其属于哪一种逻辑结构。

数据结构第一阶段作业

数据结构第一阶段作业

数据结构第一阶段作业数据结构是计算机科学中非常重要的概念,包括各种不同的算法和数据结构,如数组,链表,栈,队列,树,图等。

数据结构对于程序设计的效率和正确性至关重要。

对于第一阶段作业,您可能需要选择一个或多个数据结构,并描述如何使用它们来解决某个问题或实现某种功能。

以下是一些可能的数据结构和它们的应用场景:1. 数组:数组是一种基本的数据结构,可以用于存储一组相同类型的对象。

数组可以在许多编程语言中实现,例如C,Java和Python。

数组通常使用数组声明或下标访问元素,例如int arr[3]或intarr[3][2]。

数组可以用来存储一系列事件或数据,例如股票价格或单词列表。

2. 链表:链表是一种通过节点之间链接来实现数据结构的数据类型。

每个节点包含一个值和一个指向下一个节点的指针。

链表可以使用数组或指向链表头的指针来实现。

链表可以用来实现许多应用程序,例如搜索和排序算法。

3. 栈和队列:栈和队列是另一种常用的数据结构,可以用来存储和检索一系列元素。

栈是一种后进先出的数据结构,而队列是一种先进先出的数据结构。

栈和队列都可以通过数组或指向链表头的指针来实现。

栈和队列通常用于实现一些常用的算法,例如搜索和排序算法。

4. 树和图:树和图是另一种常用的数据结构,可以用来存储具有层次结构的数据。

树和图都可以通过数组或节点指针来实现。

树和图有许多不同的实现,例如AVL树和B树。

树和图通常用于实现一些复杂的应用程序,例如搜索引擎或图形用户界面。

这些只是数据结构的一小部分,但它们足以帮助您理解如何使用它们来解决不同类型的问题。

希望这些信息能帮助您开始您的数据结构学习之旅。

数据结构第一次作业

数据结构第一次作业
【输入形式】
第一行为第一个链表的各结点值,以空格分隔。
第二行为第二个链表的各结点值,以空格分隔。
【输出形式】
合并好的链表,以非降序排列,值与值之间以空格分隔。
【样例输入】
4 7 10 34
1 4 6 29 34 34 52
【样例输出】
1 4 6 7 10 29 34 52
【评分标准】
要使用链表实现,否则不能得分。
3.设n为大于1的正整数,计算机执行下面的语句时,带#语句的执行次数为n。
i=1;
j=0;
while(i+j<=n){
# if(i>j)
j++;
else
i++;
}
4.在具有n个链结点的链表中查找一个链结点的时间复杂度为O(n)。
5.下面程序段的时间复杂度为O(mn)。
for ( i = 0; i < n; i++ )
D.每个链结点有多少个直接后继结点,它就应该设置多少个指针域
8.将长度为m的线性链表链接在长度为n的线性链表之后的过程的时间复杂度若采用大O形式表示,则应该是B。
A.O(m) B.O(n) C.O(m+n) D.O(m-n)
9.在一个单链表中,若要在p所指向的结点之后插入一个新结点,则需要相继修改__个指针域
int time (int n) {
int count=0, x=2;
while ( x < n/2 ) {
x=2x;
count++;
}
return (count);
}
时间复杂度:O(logn)
count值:logn-2

国开作业《数据结构(本)-形考作业》 (1)

国开作业《数据结构(本)-形考作业》 (1)

题目:有一个长度为10的有序表,按折半查找对该表进行查找,在等概率情况下查找成功的平均比较次数为()。

选项A:26/10选项B:29/10选项C:29/9选项D:31/10答案:29/10题目:已知一个有序表为{11,22,33,44,55,66,77,88,99},则顺序查找元素55需要比较()次。

选项A:3选项B:6选项C:5选项D:4答案:5题目:有数据{53,30,37,12,45,24,96},从空二叉树开始逐个插入数据来形成二叉排序树,若希望高度最小,应该选择的序列是()。

选项A:45,24,53,12,37,96,30选项B:37,24,12,30,53,45,96选项C:30,24,12,37,45,96,53选项D:12,24,30,37,45,53,96答案:37,24,12,30,53,45,96题目:对于顺序存储的有序表{5,12,20,26,37,42,46,50,64},若采用折半查找,则查找元素26的比较次数是()。

选项A:5选项B:3选项C:6选项D:4答案:4题目:在所有的排序方法中,关键字比较的次数与记录初始排列秩序无关的是()。

选项A:直接插入排序选项B:希尔排序选项C:冒泡排序选项D:直接选择排序答案:直接选择排序题目:对线性表进行二分查找时,要求线性表必须()。

选项A:以顺序存储方式,且数据元素有序选项B:以链接存储方式选项C:以顺序存储方式选项D:以链接存储方式,且数据元素有序答案:以顺序存储方式,且数据元素有序题目:采用顺序查找方法查找长度为n的线性表时,每个元素的平均查找长度为()。

选项A:(n+1)/2选项B:n/2选项C:(n-1)/2选项D:n答案:(n+1)/2题目:从未排序序列中依次取出元素与已经排好序的序列中的元素作比较。

将其放入已排序序列的正确的位置上,此方法称为()。

选项A:交换排序选项B:归并排序选项C:选择排序选项D:插入排序答案:插入排序题目:依次将每两个相邻的有序表合并成一个有序表的排序方法称为()。

数据结构(本)形考作业1参考答案

数据结构(本)形考作业1参考答案

数据结构(本)形考作业指导作业1参考答案一、单项选择题1.C 2.D 3.B 4.C 5.D 6.C 7.B 8.C 9.A 10.B11.C 12.D 13.C 14.A 15.B 16.C 17.C 18.B 19.B 20.D二、填空题1.n-i+1 2.n-i3.集合线性结构树形结构图状结构4.物理结构存储结构5.线性结构非线性结构6.有穷性确定性可形性有零个或多个输入有一个或多个输出7.图状结构8.树形结构9.线性结构10.n-1 O(n) 11.s->next=p->next; 12.head13.q->next=p->next; 14.p->next=head; 15.单链表16.顺序存储链式存储17.存储结构18.两个直接后继直接前驱尾结点头结点19.头结点的指针指向第一个结点的指针20.链式链表三、问答题1.简述数据的逻辑结构和存储结构的区别与联系,它们如何影响算法的设计与实现?答:若用结点表示某个数据元素,则结点与结点之间的逻辑关系就称为数据的逻辑结构。

数据在计算机中的存储表示称为数据的存储结构。

可见,数据的逻辑结构是反映数据之间的固有关系,而数据的存储结构是数据在计算机中的存储表示。

尽管因采用的存储结构不同,逻辑上相邻的结点,其物理地址未必相同,但可通过结点的内部信息,找到其相邻的结点,从而保留了逻辑结构的特点。

采用的存储结构不同,对数据的操作在灵活性,算法复杂度等方面差别较大。

2.解释顺序存储结构和链式存储结构的特点,并比较顺序存储结构和链式存储结构的优缺点。

答:顺序结构存储时,相邻数据元素的存放地址也相邻,即逻辑结构和存储结构是统一的,,要求内存中存储单元的地址必须是连续的。

优点:一般情况下,存储密度大,存储空间利用率高。

缺点:(1)在做插入和删除操作时,需移动大量元素;(2)由于难以估计,必须预先分配较大的空间,往往使存储空间不能得到充分利用;(3)表的容量难以扩充。

数据结构 第一次作业 测验答案 慕课答案 作业一 UOOC优课 课后练习 深圳大学

数据结构 第一次作业 测验答案 慕课答案 作业一 UOOC优课 课后练习 深圳大学

数据结构第一次作业一、单选题 (共100.00分)1. 已知栈S为空,数据1、2、3、4依次逐个进入栈S,则栈顶数据为()A. 1B. 2C. 3D. 4正确答案:D2. 栈的最大特点是()A. 先进先出B. 后进先出C. 无限递归D. 有限递归正确答案:B3. 队列的最大特点是()A. 先进先出B. 后进先出C. 无限递归D. 有限递归正确答案:A4. 已知栈包含10元素,其中存放在栈底是第1号元素,则第10号元素可以通过()进行访问A. 栈底B. 栈中C. 栈尾D. 栈顶正确答案:D5. 以下结构中,哪一个是属于物理结构()A. 栈B. 队列C. 链队列D. 线性表正确答案:C6. 使用长度为10的数组实现循环队列,则该队列最多存储数据个数为()A. 1B. 9C. 11.D.5正确答案:B7. 已知顺序表包含1000个数据,现在第88号位置插入新的数据,需要移动的数据个数为()A. 88B. 87C. 912D. 913正确答案:D8. 若线性表最常用的操作是存取第i个元素及其后继的值,则最节省操作时间的存储结构是()A. 单链表B. 双链表C. 单循环链表D. 顺序表正确答案:D9. 以下结构中,哪一个是属于物理结构()A. 线性表B. 栈C. 单链表D. 队列正确答案:C10. 已知顺序表包含100个数据,现在要删除第99号位置的数据,需要移动的数据个数为()A. 99B. 100C. 1D. 2正确答案:C已知指针p指向单链表L的某个结点,判断p指向的结点是尾结点的条件是()A. if (p->next>p)B. if (p->next==NULL)D. if (p->data==0)正确答案:B12. 以下描述哪个是正确的()A. 线性表的数据元素的存储位置一定是连续的B. 顺序表的数据元素的存储位置一定是连续的C. 链表的数据元素的存储位置一定不是连续的D. 线性表的数据元素的存储位置一定不是连续的正确答案:B已知顺序表包含100个数据,先在第15号位置插入1个新数据,接着删除第3号位置的数据,需要移动的数据总个数为()A. 18B. 84C. 184D. 188正确答案:C在数据结构概念中,数据的基本单位是()A. 数据段B. 数据项C. 数据表D. 数据元素D在数据结构概念中,结构是描述()A. 数据项的类型B. 数据元素之间的关系C. 数据成员的先后顺序D. 数据对象的取值范围正确答案:B在算法设计中,要求算法便于理解和修改是属于算法要求的()A. 正确性B. 可读性C. 健壮性D. 效率高正确答案:B以下关于算法的描述,哪个是正确的()A. 算法可以没有输入B. 算法可以包含无限个执行步骤C. 算法可以没有输出D. 算法的每个步骤允许带有歧义的正确答案:抽象数据类型ADT通过三方面描述,包括数据关系、数据操作和()A. 数据对象B. 数据来源C. 数据范围D. 数据判断正确答案:A设n为问题规模,以下程序的时间复杂度为()for (i=1; i<=10000; i++) for (j=1; j<=n; j++) a = a + 1;A. O(1)B. O(n)C. O(10000n)D. O(n2)正确答案:B20.设n为问题规模,以下程序的时间复杂度为() for (i=1; i< POW(2, n); i++) //POW(x, y)函数表示x的y次幂a = a+100;A. O(n)B. O(2n)C. O(n!)D. O(2n)正确答案:D。

数据结构作业及答案汇总

数据结构作业及答案汇总

数据结构作业及答案汇总数据结构是计算机科学中的一个重要概念,它涉及到组织和管理数据的方式和方法。

在学习数据结构的过程中,作业和答案总结是帮助我们巩固知识和理解的重要步骤。

本文将对数据结构作业及答案进行汇总,以便帮助读者更好地学习和掌握数据结构知识。

作业一:栈和队列1. 描述栈和队列的基本特点,并给出它们的应用场景。

栈是一种容器,它具有后进先出(LIFO)的特点。

常见的应用场景有程序调用栈、浏览器的前进后退功能等。

队列是一种容器,它具有先进先出(FIFO)的特点。

常见的应用场景有任务调度、消息队列等。

2. 设计一个栈,使其具有查找最小元素的功能。

给出实现代码和分析时间复杂度。

3. 设计一个队列,使其具有查找最大元素的功能。

给出实现代码和分析时间复杂度。

作业二:链表1. 描述链表的基本特点,并给出它的应用场景。

链表是一种数据结构,它由一系列节点组成。

每个节点包含数据和指向下一节点的指针。

常见的应用场景有实现链表、存储大量数据等。

2. 设计一个单向链表,使其具有反转链表的功能。

给出实现代码和分析时间复杂度。

3. 设计一个双向链表,使其具有插入和删除节点的功能。

给出实现代码和分析时间复杂度。

作业三:树1. 描述树的基本特点,并给出它的应用场景。

树是一种非线性数据结构,它由节点和边组成。

常见的应用场景有文件系统、数据库索引等。

2. 设计一个二叉树,实现遍历功能(前序、中序、后序)。

给出实现代码和分析时间复杂度。

3. 设计一个平衡二叉树,使其具有快速查找节点的功能。

给出实现代码和分析时间复杂度。

作业四:图1. 描述图的基本特点,并给出它的应用场景。

图是一种由顶点和边组成的数据结构,边表示顶点之间的关系。

常见的应用场景有社交网络、地图导航等。

2. 设计一个有向图,实现深度优先搜索(DFS)算法。

给出实现代码和分析时间复杂度。

3. 设计一个无向图,实现广度优先搜索(BFS)算法。

给出实现代码和分析时间复杂度。

答案汇总:在本文中,我们对栈、队列、链表、树和图这几个常见的数据结构进行了作业设计和答案汇总。

北语直属14秋《数据结构》作业1满分答案

北语直属14秋《数据结构》作业1满分答案

作业名称:14秋《数据结构》作业1 出卷人:SA
作业总分:100 通过分数:60
起止时间:2015-1-21 10:20:21 至2015-1-22 9:11:26
学员姓名:学员成绩:100
标准题总分:100 标准题得分:100
详细信息:
题号:1 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:4.17 内容:
将长度为n的单链表链接在长度为m的单链表之后的算法的时间复杂度为___。

A、O(1)
B、O(n)
C、O(m)
D、O(m+n)
标准答案:C
学员答案:C
本题得分:4.17
题号:2 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:4.17 内容:
栈和队列的共同特点是___。

A、只允许在端点处插入和删除元素
B、都是先进后出
C、都是先进先出
D、没有共同点
标准答案:A
学员答案:A
本题得分:4.17
题号:3 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:4.17 内容:
图形:
A、(A)
B、(B)
C、(C)
D、(D)
标准答案:A
学员答案:A
本题得分:4.17。

1-6章作业

1-6章作业

第1章绪论【书面作业】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>}②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>}③C=(K,R),其中K={a,b,c,d,e,f}R={r}r={<a,b>,<b,c>,<b,d>,<c,d>,<c,e>,<c,f>,<d,e>,<d,f>}2、求下面程序段的时间复杂度①for (i=0;i<n; i++) ②i=s=0;③s=0;for(j=0;j<m; j++) while(s<n) for(i=0;i<n;i++)a[i][j]=0; { i++; for(j=0;j<n; j++)s+=i;} s+=b[i][j];④x=n; y=0;while ( (x>=(y+1)*(y+1) )y=y+1;【上机作业】1.熟悉VC++编程环境2.TRIPLET算法实现(看懂程序)3. 已知输入x, y, z三个不相等的整数,实现三个数从小到大顺序的输出,其中x 中存放最小数,y中存放次小数。

要求使用引用参数来实现。

4. 测试算法的运行时间在此,我们通过一个比较两个算法执行效率的程序例子,掌握测试算法运行时间的基本方法。

这里涉及到C语言中标准的函数库sys/timeb。

国家开放大学《数据结构(本)》形考作业1-4参考答案

国家开放大学《数据结构(本)》形考作业1-4参考答案

国家开放大学《数据结构(本)》形考作业1-4参考答案形考作业1一、单项选择题(每小题3分,共60分)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.设有一个长度为n的顺序表,要在第i个元素之前(也就是插入元素作为新表的第i个元素),插入一个元素,则移动元素个数为()。

A. n-i+1B. n-i-1C. n-iD. i10.设有一个长度为n的顺序表,要删除第i个元素移动元素的个数为()。

A. iB. n-iC. n-i-1D. n-i+111.在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结点,可用语句()。

A. p->next=q->nextB. p=q->nextC. p->next=qD. q->next=NULL12.在一个单链表中p所指结点之后插入一个s所指的结点时,可执行()。

《数据结构》在线作业一

《数据结构》在线作业一
C.线性表采用链式存储便于插入和删除操作的实现
D.线性表采用顺序存储便于插入和删除操作的实现
40.数据结构DS(Data Struct)可以被形式地定义为DS=(D,R),其中D是()有限集合,R是D上的关系有限集合。
A.算法
B.数据元素
C.数据操作
D.数据对象
A.O(n)
B.O(n2)
C.O(n3)
D.O(n4 )
6.在一个单链表中,若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;
B.top= =0
C.top!=m0
D.top= =m0-1
11.在二叉排序树中插入一个结点的时间复杂度为( )。
A.O(1)
B.O(n)
C.O(log2n)
D.O(n2 )
12.设串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))的结果串是()。
A.5
B.6
C.7
D.8
24.设顺序循环队列Q[0:M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为( )。

数据结构第一次作业题及答案.doc

数据结构第一次作业题及答案.doc

第1次作业一、单项选择题(本大题共60分,共20小题,每小题3分)1.在长度为n的顺序表求最小值的时间复杂度为()。

A.0(1)B.0 (n)C.O (n2)D.O (logn)2.顺序表中数据元索的存取方式是()oA.顺序存取B.链式存取C.随机存取D.散列存取3.对于一个具有n个结点的单链表,,在给定值为x的结点后插入一个新结点的平均时间复杂度为()。

A.0(0)B.0(1)C.O(n)D.0(n2)4.在稀疏矩阵的带行指针向量的链接存储中,每个行单链表中的结点都具有和同的()。

A.行号B.列号C.元素值D.地址5.数组A [0.. 5] [0.. 5]的每个元素占5个字节,将其以列为主序存储在起始地址为1000的内存单元中,则元索A [5] [5]的地址是( )。

A.1175B.1180C.1205D.12106.下而程序段的时间复杂度是()。

i = 0; while (i<=n) i二i * 3;A.0 (3n)B.0(log3n)C.0 (n3)D.0(n2)7.假设顺序表中第一个数据元索的存储地址是1000,每个元索占用4个字节,则第7个元索的存储地址是()。

A.1024C.1004D.10078・设栈S和队列Q的初始状态为空,元素el, e2, e3, e4, e5和e6依次通过栈S, —个元素出栈后即进队列Q,若6个元素出队的序列是e2, e4,e3, e6, e5, el则栈S的容量至少应该是()。

A.B.4C.3D.29.判断带头结点的循环单链表L屮只冇一个结点的条件是()。

A.L二二NULLB.L->next->next==LD.L->next==NULL10.下而关于算法说法错误的是()。

A.算法最终必须rti计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是相同的C.算法的可行性是指指令不能有二义性D.以上几个都是错谋的11.用单链表表示的链队列中,队头在链表的()位置。

南开24秋学期《数据结构》作业参考一

南开24秋学期《数据结构》作业参考一

24秋学期《数据结构》作业参考1.堆的形状是一棵()选项A:二叉排序树选项B:满二叉树选项C:完全二叉树选项D:平衡二叉树参考答案:C2.用邻接表表示图进行深度优先遍历时,通常是采用()来实现算法的选项A:栈选项B:队列选项C:树选项D:图参考答案:A3.栈中元素的进出原则是()选项A:先进先出选项B:后进先出选项C:栈空则进选项D:栈满则出参考答案:B4.若一组记录的排序码为(46, 79, 56, 38, 40, 84),则利用堆排序的方法建立的初始堆为()选项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参考答案:B5.有8个结点的无向图最多有()条边选项A:14选项B:28选项C:56选项D:112参考答案:B6.链表是一种采用存储结构存储的线性表选项A:顺序选项B:链式选项C:星式选项D:网状参考答案:B7.下列关键字序列中,()是堆选项A:16,72,31,23,94,53选项B:94,23,31,72,16,53选项C:16,53,23,94,31,72选项D:16,23,53,31,94,72参考答案:D8.折半查找有序表(4,6,10,12,20,30,50,70,88,100)。

若查找表中元素58,则它将依次与表中()比较大小,查找结果是失败。

选项A:20,70,30,50选项B:30,88,70,50选项C:20,50选项D:30,88,50参考答案:A9.已知图的邻接矩阵,根据算法,则从顶点0出发,按深度优先遍历的结点序列是()选项A:0 2 4 3 1 5 6选项B:0 1 3 5 6 4 2。

数据结构第一次作业

数据结构第一次作业

1判断题(对)1. 数据的逻辑结构与数据元素本身的内容和形式无关。

(错)2. 线性表的逻辑顺序与物理顺序总是一致的。

(对)3. 若有一个叶子结点是二叉树中某个子树的前序遍历结果序列的最后一个结点,则它一定是该子树的中序遍历结果序列的最后一个结点。

(对)4. 对于同一组待输入的关键码集合,虽然各关键码的输入次序不同,但得到的二叉搜索树都是相同的。

(对)5. 最优二叉搜索树的任何子树都是最优二叉搜索树。

(对)6. 在二叉搜索树上插入新结点时,不必移动其它结点,仅需改动某个结点的指针,使它由空变为非空即可。

(对)7. 有n(n≥1)个顶点的有向强连通图最少有n条边。

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

(错)9. 二叉树中任何一个结点的度都是2。

(错)10. 单链表从任何一个结点出发,都能访问到所有结点。

二、单选题1 向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动( B )个元素。

A.8 B. 63.5 C. 63 D. 72 设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,则A[3][3]在( A )位置,(10)表明用10进数表示。

A.692(10) B. 626(10) C. 709(10) D. 724(10)3 N个顶点的连通图至少有( A )条边。

A.N-1 B. N C. N+1 D. 04 下面程序的时间复杂度为( C )。

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 设单链表中结点的结构为(data, link)。

已知指针q所指结点是指针p所指结点的直接前驱,若在*q与*p之间插入结点*s,则应执行下列哪一个操作( B )。

数据结构作业及答案1

数据结构作业及答案1

数据结构作业及答案1第⼆章2.22 试写⼀算法,对单链表实现就地逆置,即利⽤原表的存储空间将线性表(a1,a2,…,an)逆置为(an,an-1,…,a1)提⽰:将原链表中的头结点和第⼀个元素结点断开(令其指针域为空),先构成⼀个空表,然后将原链表中各结点从第⼀个结点起依次插⼊这个新表的头部。

答:void LinkList_reverse(Linklist &L)//链表的就地逆置;为简化算法,假设表长⼤于2{p=L->next;q=p->next;s=q->next;p->next=NULL;while(s->next){q->next=p;p=q;q=s;s=s->next; //把L的元素逐个插⼊新表表头}q->next=p;s->next=q;L->next=s;}//LinkList_reverse分析:本算法的思想是,逐个地把L的当前元素q插⼊新的链表头部,p为新表表头.第三章3.1 设将整数1、2、3、4依次进栈,但只要出栈时栈⾮空,则可将出栈操作按任何次序夹⼊其中,请回答下有问题:(1)若⼊栈次序为push(1),pop(),push(2),push(3),pop(),pop( ),push(4),pop( ),则出栈的数字序列为什么?(2) 能否得到出栈序列1423和1432?并说明为什么不能得到或者如何得到。

答:(1)1 3 2 4 后进先出,先进后出(2) 1423⽆法得到,因为只能这样操作,Push(1), Pop(), Push(2), Push(3), Push(4), Pop(),Pop(), Pop(),结果序列是14323.12 写出以下程序段的输出结果(队列中的元素类型QElemType 为char)。

Void main( ){Queue Q; InitQueue(Q);Char x=‘e’, y=‘c’;EnQueue(Q, ‘h’); EnQueue(Q, ‘r’); EnQueue(Q, y);DeQueue(Q, x); EnQueue(Q, x);DeQueue(Q, x); EnQueue(Q, ‘a’);While ( !QueueEmpty(Q) ){DeQueue(Q, y);Printf(y);}Printf(x);}答:输出结果是char。

数据结构作业(1)

数据结构作业(1)

第一章绪论一、选择题1.一个算法应该是()。

A.程序B问题求解步骤的描述C 要满足5个基本特性D.A和c2 计算机算法必须具备输入、输出、()等5个特性。

A 可行性、可移植性和可扩展性B 可行性、确定性和有穷性C 确定性、有穷性和稳定性D 易读性、安全性和稳定性3 在数据结构中,从逻辑上可以把数据结构分为()A 动态结构和静态结构B 紧凑结构和非紧凑结构C 内容结构和外部结构D 线性结构和非线性结构4 下面程序段的时间复杂性的量级为()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)5 在数据结构中,与所使用的计算机无关的是数据的()结构A 逻辑B 存储C 逻辑和存储D 物理6 数据结构在计算机中的表示是指()A 数据的逻辑结构B 数据结构C 数据的存储结构D 数据元素之间的关系7 下面()的时间复杂性最好,即执行时间最短。

A O(n)B O(logn)C O(nlogn)D O(n2)8 下面程序段的时间复杂性的量级为()。

int fun(int n){i=1,s=1;while(s<n)s+=++i;return i;}A O(n/2)B O(logn)C O(n)D O(n1/2)9 下面程序段的时间复杂性的量级为()。

for(int i=0;i<m;i++)for(int j=0;j<n;j++)A[i][j]=i*j;A O(m3)B O(n2)C O(m*n)D O(m+n)10 执行下面程序段时,S 语句的执行次数为()。

for(int i=1;i<n-1;i++)for(int j=i+1;j<=n;j++)S;A n(n-1)/2B n2/2C n(n+1)/2D n11、研究数据结构就是研究( )。

A、数据的逻辑结构B、数据的存储结构C、数据的逻辑结构和存储结构D、数据的逻辑结构、存储结构及其数据在运算上的实现12、以下属于逻辑结构的是( )。

数据结构key - 书面作业1

数据结构key - 书面作业1

数据结构key - 书面作业1一、选择题1. 在线性结构中,第一个结点没有前驱结点,其余每个结点有且只有()个前驱结点;最后一个结点没有后继结点,其余每个结点有且只有()个后继结点。

A. 1 , 1B. 1 , 2C. 2 , 1D. 2 , 22. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址___。

A. 必须是连续的B. 部分地址必须是连续的C. 一定是不连续的D. 连续或不连续都可以3. 指针变量p指向单链表中的结点,若该结点是链表的尾结点,下面正确的说法是( )。

A. p->next = = NULLB. p->next != NULLC. p = =NULLD. p->next->next = =NULL4. 设指针p所指结点不是单链表的尾结点,删除p所指结点的后继结点的操作是()。

A. p->next=p->next->next; delete p; delet p->next;C. p->next=p-next->next; delet p->next;D. q=p->next; delete q;5. 链表不具备的特点是 ____ 。

A 可随机访问任何一个元素B 插入、删除操作不需要移动元素D 所需存储空间与线性表长度成正比p->next=q->next;B. q=p->next; p->next=q->next;C 无需事先估计存储空间大小6. 假定栈用单链表的存储结构表示,栈的栈顶指针为top,进行退栈时执行的操作是( )。

A.top->next=top;B.top=top->data;C.top=top->next;D.top->next=top->next->next;7. 一个队列的数据入列序列是1,2,3,4,则队列的出队时输出序列是____ 。

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

一、选择题
1.在线性结构中,第一个结点没有前驱结点,其余每个结点有且只有()个
前驱结点;最后一个结点没有后继结点,其余每个结点有且只有()个后继结点。

A. 1 , 1
B. 1 , 2
C. 2 , 1
D. 2 , 2
2.线性表若采用链式存储结构时,要求内存中可用存储单元的地址___。

A. 必须是连续的
B. 部分地址必须是连续的
C. 一定是不连续的
D. 连续或不连续都可以
3.指针变量p指向单链表中的结点,若该结点是链表的尾结点,下面正确的说
法是( )。

A. p->next = = NULL
B. p->next != NULL
C. p = =NULL
D. p->next->next = =NULL
4.设指针p所指结点不是单链表的尾结点,删除p所指结点的后继结点的操作
是()。

A. p->next=p->next->next; delete p;
B. q=p->next; p->next=q->next; delet p->next;
C. p->next=p-next->next; delet p->next;
D. q=p->next; p->next=q->next; delete q;
5.链表不具备的特点是____ 。

A 可随机访问任何一个元素
B 插入、删除操作不需要移动元素
C 无需事先估计存储空间大小
D 所需存储空间与线性表长度成正比
6.假定栈用单链表的存储结构表示,栈的栈顶指针为top,进行退栈时执行的
操作是( )。

A. top->next=top;
B. top=top->data;
C. top=top->next;
D. top->next=top->next->next;
7.一个队列的数据入列序列是1,2,3,4,则队列的出队时输出序列是____ 。

A 4,3,2,1
B 1,2,3,4
C 1,4,3,2
D 3,
2,4,1
8.栈与一般线性表区别主要在方面。

A 元素个数
B 元素类型
C 逻辑结构
D 插入、删除元素的位置
9.在一个链队中,假设F和R分别是队首和队尾指针,则删除一个结点的运算
是。

A R=F->next;
B R=R->next;
C F=F->next;
D F=R->next;
10. 数据三种最主要的逻辑结构是线性结构和()。

A. 线性表、树
B. 树形结构、图状结构
C. 线性表、图
D. 树形结构、堆
二、填空题
1.
散列存储表示等四大类。

2.
3.实现字符串逆序(既输入如“ABC”,输出为“CBA”
较好
4.银行柜面服务遵循“先来先服务”
来模拟这种行为
5.线性表第一个元素的存储地址是100,每个元素的长度是2,则第5个元素的地
址是
6.
7.
8.在一个长度为n的顺序表中删除第i个元素,要移动
第i个元素前插入一个元素,要后移
9.
10.
11.栈和队列都是结构;对于栈只能在插入和删除元素;对于
队列只能在插入元素和删除元素。

12.
13.设将整数1,2,3,4进栈,若入、出栈次序为Push, Pop,Push,Push, Pop, Pop,Push,
Pop,则出栈的数字序列为1432则具体操作为:
14.在采用少用一个存储空间的具有n个单元的循环队列中,队满时共有
元素。

对于下图所示的循环队列,队满的条件是
队空的条件是
三、设计题
1.已知str是一个非空字符串,编写算法通过在临时栈S和队列Q中缓存数据,
判处字符串str是否为回文,算法采用文字描述。

①将串str分别入队Q中和入栈S中
②将Q的队头元素出队至变量tq中,将S的栈顶元素出栈至变量ts中
③若tq==ts,重复步骤②;若tq!=ts,则退出循环,return 0表示str不是
回文
④return 1表示str是回文
2.设计函数Node * Find(Node *Head, int item),Head为带头结点单链表的头指
针,在传入的链表中查找值为item的结点并返回其地址,如不存在这样的结点则返回空值NULL。

其中结点的类型声明如下:
struct Node
{
int data;
Node *next;
};
Node * Find(Node *Head, int item)
{
Node *p=Head->next;
while(p!=NULL)
{
if(p->data == item)
return p; //查找成功p=p->next;
}
return NULL; //查找失败
}。

相关文档
最新文档