(完整word版)数据结构课后习题及答案
(完整版)数据结构课后习题答案(可编辑修改word版)

第1 章绪论1.简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。
答案:数据:是客观事物的符号表示,指所有能输入到计算机中并被计算机程序处理的符号的总称。
如数学计算中用到的整数和实数,文本编辑所用到的字符串,多媒体程序处理的图形、图像、声音、动画等通过特殊编码定义后的数据。
数据元素:是数据的基本单位,在计算机中通常作为一个整体进行考虑和处理。
在有些情况下,数据元素也称为元素、结点、记录等。
数据元素用于完整地描述一个对象,如一个学生记录,树中棋盘的一个格局(状态)、图中的一个顶点等。
数据项:是组成数据元素的、有独立含义的、不可分割的最小单位。
例如,学生基本信息表中的学号、姓名、性别等都是数据项。
数据对象:是性质相同的数据元素的集合,是数据的一个子集。
例如:整数数据对象是集合N={0,±1,±2,… },字母字符数据对象是集合C={‘A’,‘B’,… ,‘Z’,‘a’,‘b’,…,‘z’},学生基本信息表也可是一个数据对象。
数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。
换句话说,数据结构是带“结构”的数据元素的集合,“结构”就是指数据元素之间存在的关系。
逻辑结构:从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。
因此,数据的逻辑结构可以看作是从具体问题抽象出来的数学模型。
存储结构:数据对象在计算机中的存储表示,也称为物理结构。
抽象数据类型:由用户定义的,表示应用问题的数学模型,以及定义在这个模型上的一组操作的总称。
具体包括三部分:数据对象、数据对象上关系的集合和对数据对象的基本操作的集合。
2.试举一个数据结构的例子,叙述其逻辑结构和存储结构两方面的含义和相互关系。
答案:例如有一张学生基本信息表,包括学生的学号、姓名、性别、籍贯、专业等。
每个学生基本信息记录对应一个数据元素,学生记录按顺序号排列,形成了学生基本信息记录的线性序列。
最新版《数据结构》各章习题及答案

最新版《数据结构》各章习题及答案第一章绪论一、选择题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.在树形结构中,树根结点没有_______ 结点,其余每个结点有且只有_______个前驱结点;叶子结点没有 ________ 结点,其余每个结点的后续结点可以_________。
数据结构课后习题详解(超完整,超经典)

第1章 绪论1.1 简述下列术语:数据,数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型。
解:数据是对客观事物的符号表示。
在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。
数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
数据对象是性质相同的数据元素的集合,是数据的一个子集。
数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
存储结构是数据结构在计算机中的表示。
数据类型是一个值的集合和定义在这个值集上的一组操作的总称。
抽象数据类型是指一个数学模型以及定义在该模型上的一组操作。
是对一般数据类型的扩展。
1.2 试描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别。
解:抽象数据类型包含一般数据类型的概念,但含义比一般数据类型更广、更抽象。
一般数据类型由具体语言系统内部定义,直接提供给编程者定义用户数据,因此称它们为预定义数据类型。
抽象数据类型通常由编程者定义,包括定义它所使用的数据和在这些数据上所进行的操作。
在定义抽象数据类型中的数据部分和操作部分时,要求只定义到数据的逻辑结构和操作说明,不考虑数据的存储结构和操作的具体实现,这样抽象层次更高,更能为其他用户提供良好的使用接口。
1.3 设有数据结构(D,R),其中{}4,3,2,1d d d d D =,{}r R =,()()(){}4,3,3,2,2,1d d d d d d r =试按图论中图的画法惯例画出其逻辑结构图。
解:1.4 试仿照三元组的抽象数据类型分别写出抽象数据类型复数和有理数的定义(有理数是其分子、分母均为自然数且分母不为零的分数)。
解:ADT Complex{ 数据对象:D={r,i|r,i 为实数} 数据关系:R={<r,i>} 基本操作: InitComplex(&C,re,im)操作结果:构造一个复数C ,其实部和虚部分别为re 和im DestroyCmoplex(&C)操作结果:销毁复数C Get(C,k,&e) 操作结果:用e 返回复数C 的第k 元的值 Put(&C,k,e) 操作结果:改变复数C 的第k 元的值为eIsAscending(C)操作结果:如果复数C 的两个元素按升序排列,则返回1,否则返回0IsDescending(C)操作结果:如果复数C的两个元素按降序排列,则返回1,否则返回0 Max(C,&e)操作结果:用e返回复数C的两个元素中值较大的一个Min(C,&e)操作结果:用e返回复数C的两个元素中值较小的一个}ADT ComplexADT RationalNumber{数据对象:D={s,m|s,m为自然数,且m不为0}数据关系:R={<s,m>}基本操作:InitRationalNumber(&R,s,m)操作结果:构造一个有理数R,其分子和分母分别为s和mDestroyRationalNumber(&R)操作结果:销毁有理数RGet(R,k,&e)操作结果:用e返回有理数R的第k元的值Put(&R,k,e)操作结果:改变有理数R的第k元的值为eIsAscending(R)操作结果:若有理数R的两个元素按升序排列,则返回1,否则返回0 IsDescending(R)操作结果:若有理数R的两个元素按降序排列,则返回1,否则返回0 Max(R,&e)操作结果:用e返回有理数R的两个元素中值较大的一个Min(R,&e)操作结果:用e返回有理数R的两个元素中值较小的一个}ADT RationalNumber1.5 试画出与下列程序段等价的框图。
数据结构课后习题答案

第 1 章绪论课后习题讲解1. 填空⑴()是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
【解答】数据元素⑵()是数据的最小单位,()是讨论数据结构时涉及的最小数据单位。
【解答】数据项,数据元素【分析】数据结构指的是数据元素以及数据元素之间的关系。
⑶从逻辑关系上讲,数据结构主要分为()、()、()和()。
【解答】集合,线性结构,树结构,图结构⑷数据的存储结构主要有()和()两种基本方法,不论哪种存储结构,都要存储两方面的内容:()和()。
【解答】顺序存储结构,链接存储结构,数据元素,数据元素之间的关系⑸算法具有五个特性,分别是()、()、()、()、()。
【解答】有零个或多个输入,有一个或多个输出,有穷性,确定性,可行性⑹算法的描述方法通常有()、()、()和()四种,其中,()被称为算法语言。
【解答】自然语言,程序设计语言,流程图,伪代码,伪代码⑺在一般情况下,一个算法的时间复杂度是()的函数。
【解答】问题规模⑻设待处理问题的规模为n,若一个算法的时间复杂度为一个常数,则表示成数量级的形式为(),若为n*log25n,则表示成数量级的形式为()。
【解答】Ο(1),Ο(nlog2n)【分析】用大O记号表示算法的时间复杂度,需要将低次幂去掉,将最高次幂的系数去掉。
2. 选择题⑴顺序存储结构中数据元素之间的逻辑关系是由()表示的,链接存储结构中的数据元素之间的逻辑关系是由()表示的。
A 线性结构B 非线性结构C 存储位置D 指针【解答】C,D【分析】顺序存储结构就是用一维数组存储数据结构中的数据元素,其逻辑关系由存储位置(即元素在数组中的下标)表示;链接存储结构中一个数据元素对应链表中的一个结点,元素之间的逻辑关系由结点中的指针表示。
⑵假设有如下遗产继承规则:丈夫和妻子可以相互继承遗产;子女可以继承父亲或母亲的遗产;子女间不能相互继承。
则表示该遗产继承关系的最合适的数据结构应该是()。
(完整word)北邮C++数据结构课后习题 习题4参考答案

习题41.填空题(1)已知二叉树中叶子数为50,仅有一个孩子的结点数为30,则总结点数为(___________)。
答案:129(2)4个结点可构成(___________)棵不同形态的二叉树。
答案:12(3)设树的度为5,其中度为1~5的结点数分别为6、5、4、3、2个,则该树共有(___________)个叶子。
答案:31(4)在结点个数为n(n〉1)的各棵普通树中,高度最小的树的高度是(___________),它有(___________)个叶子结点,(___________)个分支结点。
高度最大的树的高度是(___________),它有(___________)个叶子结点,(___________)个分支结点。
答案:2 n—1 1 n 1 n-1(5)深度为k的二叉树,至多有(___________)个结点。
答案:2k-1(6)有n个结点并且其高度为n的二叉树的数目是(___________)。
答案:2n—1(7)设只包含根结点的二叉树的高度为1,则高度为k的二叉树的最大结点数为(___________),最小结点数为(___________)。
答案:2k-1 k(8)将一棵有100个结点的完全二叉树按层编号,则编号为49的结点为X,其双亲PARENT(X)的编号为().答案:24(9)已知一棵完全二叉树中共有768个结点,则该树中共有(___________)个叶子结点。
答案:384(10)已知一棵完全二叉树的第8层有8个结点,则其叶子结点数是(___________).答案:68(11)深度为8(根的层次号为1)的满二叉树有(___________)个叶子结点。
答案:128(12)一棵二叉树的前序遍历是FCABED,中序遍历是ACBFED,则后序遍历是(___________).答案:ABCDEF(13)某二叉树结点的中序遍历序列为ABCDEFG,后序遍历序列为BDCAFGE,则该二叉树结点的前序遍历序列为(___________),该二叉树对应的树林包括(___________)棵树。
数据结构Word版

第一章习题判断题1.数据元素是数据的最小单位。
( )2.记录是数据处理的最小单位。
( )3.数据的逻辑结构是指数据的各数据项之间的逻辑关系。
( )4.算法的优劣与算法描述语言无关,但与所用计算机有关。
( )5.健壮的算法不会因非法的输入数据而出现莫名其妙的状态。
( )6.算法可以用不同的语言描述,如果用C语言或PASCAL语言等高级语言来描述,则算法实际上就是程序了。
( )7.程序一定是算法。
( )8.数据的物理结构是指数据在计算机内的实际存储形式。
( )9.数据结构的抽象操作的定义与具体实现有关。
( )10.在顺序存储结构中,有时也存储数据结构中元素之间的关系。
( )11.顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
( )12.数据结构的基本操作的设置的最重要的准则是,实现应用程序与存储结构的独立。
( )13.数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的储存结构。
( )答案1.× 2.× 3.× 4.× 5.√6.× 7.× 8.√ 9.× 10.×11.× 12.√ 13.×填空题1.数据的物理结构包括____ 的表示和____ 的表示。
2.对于给定的n个元素,可以构造出的逻辑结构有(1),(2),(3),(4)四种。
3.数据的逻辑结构是指_____。
4.一个数据结构在计算机中______称为存储结构。
5.抽象数据类型的定义仅取决于它的一组(1),而与(2)无关,即不论其内部结构如何变化,只要它的(3)不变,都不影响其外部使用。
6.数据结构中评价算法的两个重要指标是_______。
7.数据结构是研讨数据的(1)和(2),以及它们之间的相互关系,并对与这种结构定义相应的(3),设计出相应的(4)。
8.一个算法具有5个特性: (1)、(2)、(3),有零个或多个输入、有一个或多个输出。
数据结构课后习题答案

2.5
在单链表、双链表和单循环链表中,若仅知道指针p指向某结点,不知道头指针,能否将结点*p从相应的链表中删去?若可以,其时间复杂度各为多少?
2.5 答: 我们分别讨论三种链表的情况。
1.
单链表。当我们知道指针p指向某结点时,能够根据该指针找到其直接后继,但是由于不知道其头指针,所以无法访问到p指针指向的结点的直接前趋。因此无法删去该结点。
while(i ◆ T(n)=n
∴ T(n)=O(n)
◇ 这也是线性阶递增的
(3) i=1; j=0;
while(i+j<=n)
{
if (ielse i++;
} ◆ T(n)=n/2
∴ T(n)=O(n)
◇ 虽然时间函数是n/2,但其数量级仍是按线性阶递增的。
(4)x=n; // n>1
1.6 设n为正整数,利用大"O"记号,将下列程序段的执行时间表示为n的函数。
(1) i=1; k=0
while(i{ k=k+10*i;i++;
} ◆ T(n)=n-1
∴ T(n)=O(n)
◇ 这个函数是按线性阶递增的
(2) i=0; k=0;
do{
k=k+10*i; i++;
}
◆ 索引存储方法:除建立存储结点信息外,还建立附加的索引表来标识结点的地址。
◆ 散列存储方法:就是根据结点的关键字直接计算出该结点的存储地址。
1.4 设三个函数f,g,h分别为 f(n)=100n^3+n^2+1000 ,
(完整word版)数据结构(c语言版)课后习题答案完整版资料

第1章绪论5.选择题:CCBDCA6.试分析下面各程序段的时间复杂度。
(1)O(1)(2)O(m*n)(3)O(n2)(4)O(log3n)(5)因为x++共执行了n—1+n—2+……+1= n(n—1)/2,所以执行时间为O(n2)(6)O(n)第2章线性表1.选择题babadbcabdcddac2.算法设计题(6)设计一个算法,通过一趟遍历在单链表中确定值最大的结点。
ElemType Max (LinkList L ){if(L—〉next==NULL) return NULL;pmax=L-〉next;//假定第一个结点中数据具有最大值p=L-〉next—>next;while(p != NULL ){//如果下一个结点存在if(p->data > pmax—>data) pmax=p;p=p->next;}return pmax-〉data;(7)设计一个算法,通过遍历一趟,将链表中所有结点的链接方向逆转,仍利用原表的存储空间.void inverse(LinkList &L) {// 逆置带头结点的单链表Lp=L-〉next;L->next=NULL;while (p){q=p—>next;// q指向*p的后继p->next=L—>next;L—>next=p; // *p插入在头结点之后p = q;}}(10)已知长度为n的线性表A采用顺序存储结构,请写一时间复杂度为O(n)、空间复杂度为O(1)的算法,该算法删除线性表中所有值为item的数据元素.[题目分析]在顺序存储的线性表上删除元素,通常要涉及到一系列元素的移动(删第i个元素,第i+1至第n个元素要依次前移)。
本题要求删除线性表中所有值为item的数据元素,并未要求元素间的相对位置不变。
因此可以考虑设头尾两个指针(i=1,j=n),从两端向中间移动,凡遇到值item的数据元素时,直接将右端元素左移至值为item的数据元素位置。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
填空题(10 * 1 '= 10')一、概念题22当对一个线性表经常进行的是插入和删除操作时,采用链式存储结构为宜。
23当对一个线性表经常进行的是存取操作,而很少进行插入和删除操作时,最好采用顺序存储结构。
2.6. 带头结点的单链表L中只有一个元素结点的条件是L->Next->Next==Null。
36循环队列的引入,目的是为了克服假溢出。
4.2. 长度为0的字符串称为空串。
4.5. 组成串的数据元素只能是字符。
4.8. 设T和P是两个给定的串,在T中寻找等于P的子串的过程称为模式匹配,又称P为模式。
7.2. 为了实现图的广度优先搜索,除一个标志数组标志已访问的图的结点外,还需要队列存放被访问的结点实现遍历。
5.7. 广义表的深度是广义表中括号的重数7.8. 有向图G可拓扑排序的判别条件是有无回路。
7.9. 若要求一个稠密图的最小生成树,最好用Prim算法求解。
8.8. 直接定址法法构造的哈希函数肯定不会发生冲突。
9.2. 排序算法所花费的时间,通常用在数据的比较和交换两大操作。
1.1. 通常从正确性、可读性、健壮性、时空效率等几个方面评价算法的(包括程序)的质量。
1.2. 对于给定的n元素,可以构造出的逻辑结构有集合关系、线性关系树形关系、图状关系四种。
1.3. 存储结构主要有顺序存储、链式存储、索引存储、散列存储四种。
1.4. 抽象数据类型的定义仅取决于它的一组逻辑特性,而与存储结构无关,即不论其内部结构如何变化,只要它的数学特性不变,都不影响其外部使用。
1.5. 一个算法具有五大特性:有穷性、确定性、可行性,有零个或多个输入、有一个或多个输入。
2.8. 在双向链表结构中,若要求在p指针所指的结点之前插入指针为s所指的结点,则需执行下列语句:s_>prior= p_>prior; s->next= p; p_>prior- next= s; p_>prior= s;。
2.9. 在单链表中设置头结点的作用是不管单链表是否为空表,头结点的指针均不空,并使得对单链表的操作(如插入和删除)在各种情况下统一。
3.1. 队列是限制在表的一端进行插入和在另一端进行删除的线性表,其运算遵循先进先出原则。
3.2 .栈是限定尽在表位进行插入或删除操作的线性表。
3.5. 在链式队列中,判定只有一个结点的条件是(Q->rear==Q->fro nt)&&(Q->rear!=NULL) 。
3.7. 已知链队列的头尾指针分别是f和r,则将x入队的操作序列是node *p=(node *)malloc(node); p->next=x;] p_>next=NULL; if(r) {r->next=p; r=p;} else {r=p; f=p;}。
3.8. 循环队列的满与空的条件是(rear+1)%MAXSIZE==fornt 和(fron t=-1 &&rear+ ^=MAXSIZE) 。
4.3. 串是一种特殊的线性表,其特殊性表现在数据元素都是由字符组成。
4.7. 字符串存储密度是串值所占存储位和实际分配位的比值,在字符串的链式存储结构中其结点大小是可变的。
5.3. 所谓稀疏矩阵指的是矩阵中非零元素远远小于元素总数,则称该矩阵为矩阵中非零元素远远小于元素总数,则称该矩阵为稀疏矩阵。
5.4. —维数组的逻辑结构是线性结构,存储结构是顺序存储结构;对二维或多维数组,分别按行优先和列优先两种・不同的存储方式。
7.4. 在有向图的邻接矩阵表示中,计算第i个顶点入度的方法是求邻接矩阵中第・i列非10元素的个数。
7.10. AOV网中,结点表示活动,边表示活动之间的优先关系,AOE网中,结点表示事件,边表示活动。
9.1. 按排序过程中依据不同原则对内部排序方法进行分类,主要有选择排序、交换排序、插入排序归并排序等4类。
9.3 .在堆排序、快速排序和归并排序中若只从排序结果的稳定性考虑,则应选择归并排序方法;若只从平均情况下排序最快考虑,则应选择快速排序方法;若只从最坏情况下排序最快且要节省类存考虑,则应选择堆排序方法。
9.4. 直接插入排序用监视哨的作用是存当前要的插入记录,可又省去查找插入位置时对是否出界的判断。
9.6. 设表中元素的初始状态是按键值递增的,则直接插入排序最省时间,快速排序最费时间。
4.9. 下列程序判断字符串s是否对称,对称则返回1,否则返回0;如?(abba”返回1, ? (”abab”)返回0.Int f (char*s){Int i=0,j=0;while(s[j]) j++;/* 求串长 */for(j--;i<j && s[i]==s[j];i++,j++); return( i>=j); }、结论题2.7.在具有n 个结点有序单链表中插入一个新结点并仍然有序的时间复杂度为0(n)。
2.10•对于一个具有n 个结点的单链表,在已知的结点 *p 后插入一个新结点的时间复杂度为 0(1),在给定值为x 的结点后插入一个新结点的时间复杂度为O( n)7.5. 若n 个顶点的连通图是一个环,则它有 n 棵生成树。
7.6.n 个顶点的连通图用连接矩阵表示时,该矩阵至少有 2(n-1)个非零元素。
7.7. 有n 个顶点的有向图,至少需要 n 条弧才能保证是连通的。
9.7. 归并排序除了在递归是现实所用的 log z n 个栈空间外,还用n 个辅助空间。
2.1.对于采用顺序存储结构的线性表,当随机插入一个数据元素时,平均移动表中n/2元素;删除一个数据元素时,平均移动表中(n-1)/2元素。
2.4. 在一个长度为n 的顺序存储结构的线性表中,向第i 个元素(K i w n+1)之前插入一个新元素时,需向后边移动 n-i+1 个元素。
2.5. 从长度为n 的采用顺序存储结构的线性表中删除第 i 个元素(1w i w n ),需向前移动n-1个元素。
3.4. 当两个栈共享一存储区时,存储区用一维数组 stack (1, n )表示,两栈顶指针为top 【1】与top 【2】,贝U 当栈1空时。
top 【1】为0,栈2空时top 【2】为n+1,栈满的条件是top[1]+1==top[2]。
8.1.顺序查找n 个元素的顺序表,若查找成功,则比较关键字的次数最多为n 次;当使用监视哨时,若查找失败,贝吐匕较关键字的次数为 n+1 o6.5. 设一颗完全二叉树叶子结点数为 k ,最后一层结点数为偶数时,则该二叉树的高度为 |log2 2k 1 +1,最后一层结点数为奇数时,则该二叉树的高度为 |log2 2k +1o9.8.对n 个记录建立一个堆的方法是:首先将要排序的所有记录分到一棵二叉树的各个结点中,然后从i= n/2的结点ki ,逐渐把以kn/2,kn/2-1kn/2-2,……为根的子树排成堆,直到以 k1根的树排成堆,就完成了初次建堆的过程。
三、计算题4.4.Strlndex( MY STUDEN ”STU')=4。
5.5. 求下列广义表的运算结果: Get Tail{GetHead{{{a,b},{c,d}}}}= ( b )。
6.7. 已知二叉树先序为ABDEGCF ,中序为DBGEACF ,则后序一定是 DGEBFCA 。
5.8. 广义表{a,{a,b},d,e,{{i,j},k}}的长度是 5,深度是 3。
6.9. 具有10个叶子的哈夫曼树,其最大高度为 9,最小高度为5。
6.1. 已知二叉树有50个叶子结点,则该二叉树的总结点数至少是99。
6.10.设F 是一个森林,B 是由F 转换得到的二叉树,F 中有n 个非终端节点,则 B 中右指针域为空的结点有|n+1个。
3.10. 表达式 23+ ((12*13-2 ) /4+34*5/7) +108/9 的后缀表达式是 23 12 3*2-4/34 5*7/++108 9/+。
3.3. 用s 表示入栈操作。
X 表示出栈操作,若元素入栈的顺序为1,2,3,4,为了得到1,3,4,2出栈顺序,相应的s 和x 的5.6. 广义表 A={{{a,b},{c,d,e}}},取出 A 中的原子 e 的操作是:GetTail(GetTail(GetT ail(GetHead(A))))。
9.10. 一组记录的键值为{12,38,35,25,74,50,63,90 },按二路归并排序方法对该序列进行一趟归并后的结果是4.1.设正文产长度为n ,模式串长度为m ,则简单模式匹配算法的时间复杂度为 9.5.对n 个记录进行快速排序时,递归调用而是用的栈所能达到的最大深度为 O(m* n)。
O(n),平均深度为 O(log 2n)。
7.3.具有n 个结点e 条边的有向图和无向图用邻接表表示,则邻接表的边结点个数分别为 e 和2e 条。
{12,38,25,35,50,74,63,90}。
3.9. 一个栈的输出序列是,1, 2, 3, 4, 5,则不同的输出序列有42种4.6. 设串S的长度为4,则S的子串个数最多为10。
6.6. 有5种不同形态的二叉树可以按中序遍历得到相同的abc序列。
9.9. 若用冒泡排序对关键字序列{ 50,45,35,19,9,3}进行从小到大的排序,所需进行的关键字比较总次数是|15。
5.1. 二维数组A[6][8]采用行序为主方式存储,每个元素占4个储存单元,已知A的起始储存地址{基地址}是1000 ,则A[2][3]的地址是1076。
64叶子权值(5,6,17,8,19)所构造的哈夫曼树带权路径长度为 121。
82在顺序表(8,11,15,19,25,26,30,33,42,48,50 )中,用折半法查找关键字20,需要的关键字比较次数为4。
8.3.对于具有144个记录的文件,若采用分块查找法,且每块长度为8,则平均查找长度为 8.25或14。
5.2.设数组A[9][10],数组中任一元素均占内存 48个二进制位,从首地址 2000开始连续存放在主内存里,主内存字 长为16位,那么:{1}存放该数组至少需要的单元数是270。
{2}存放数组的第8列的所有元素至少需要的单位数是 27。
{3}数组按列存储时,元素 A[5][8]的起始地址是2231。
选择题(15 * 1 ' = 15 )一、叙述类1.1. 根据数据元素之间关系的不同性,以下解释错误的是( A 集合中任何两个结点之间都有逻辑关系但组织形式松散 C 树形结构具有分支、层次特性,其形态有点像自然界中的树D 图状结构中的各个结点按逻辑关系互相缠绕,任何两个结点都可以邻接 2.7. 下面关于线性表的叙述错误的是( )。