数据结构课后答案 严蔚敏
“数据结构课后答案 严蔚敏”相关的资料有哪些?“数据结构课后答案 严蔚敏”相关的范文有哪些?怎么写?下面是小编为您精心整理的“数据结构课后答案 严蔚敏”相关范文大全或资料大全,欢迎大家分享。
严蔚敏 数据结构课后习题及答案解析
第一章 绪论
一、选择题
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
严蔚敏-数据结构集合习题
第九章 集合
一、 选择题
1.若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为( )。【北京航空航天大学 2000 一、8 (2分)】
A. (n-1)/2 B. n/2 C. (n+1)/2 D. n
2. 对N个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为( ) 【南京理工大学1998一、7(2分)】
A.(N+1)/2 B. N/2 C. N D. [(1+N)*N ]/2
3.顺序查找法适用于查找顺序存储或链式存储的线性表,平均比较次数为((1)),二分法查找只适用于查找顺序存储的有序表,平均比较次数为((2))。 在此假定N为线性表中结点数,且每次查找都是成功的。【长沙铁道学院 1997 四、3 (4分)】
2
A.N+1 B.2log2N C.logN D.N/2 E.Nlog2N F.N 4. 下面关于二分查找的叙述正确的是 ( ) 【南京理工大学 1996 一、3
严蔚敏++数据结构习题集答案
第二章 习题与解答
一 判断题
1.线性表的逻辑顺序与存储顺序总是一致的。 2.顺序存储的线性表可以按序号随机存取。
3.顺序表的插入和删除操作不需要付出很大的时间代价,因为每次操作平均只有近一半的元素需要移动。
4.线性表中的元素可以是各种各样的,但同一线性表中的数据元素具有相同的特性,因此是属于同一数据对象。
5.在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上并不一定紧邻。 6.在线性表的链式存储结构中,逻辑上相邻的元素在物理位置上不一定相邻。 7.线性表的链式存储结构优于顺序存储结构。
8.在线性表的顺序存储结构中,插入和删除时,移动元素的个数与该元素的位置有关。 9.线性表的链式存储结构是用一组任意的存储单元来存储线性表中数据元素的。
10.在单链表中,要取得某个元素,只要知道该元素的指针即可,因此,单链表是随机存取的存储结构。
二 单选题 (请从下列A,B,C,D选项中选择一项)
1.线性表是( ) 。
(A) 一个有限序列,可以为空; (B) 一个有限序列,不能为空; (C) 一个无限序列,可以为空; (D) 一个无序序列,不能为空。
2.对顺序存储的线性表,设其长度为n,在任何位置上插入或
严蔚敏数据结构各章习题及答案
数据结构习题及解答
第1章 概述
【例1-1】分析以下程序段的时间复杂度。
for(i=0;i 解:该程序段的时间复杂度为O(m*n)。 【例1-2】分析以下程序段的时间复杂度。 i=s=0; ① while(s 解:语句①为赋值语句,其执行次数为1次,所以其时间复杂度为O(1)。语句②和语句③构成while循环语句的循环体,它们的执行次数由循环控制条件中s与n的值确定。假定循环重复执行x次后结束, 则语句②和语句③各重复执行了x次。其时间复杂度按线性累加规则为O(x)。此时s与n满足关系式:s≥n,而s=1+2+3+?+x。所以有:1+2+3+?+x≥n,可以推出: ?1?1?8n11????2n224x= x与n之间满足x=f(n),所以循环体的时间复杂度为O(n),语句①与循环体由线性累加规则得到该程序段的时间复杂度为O(n)。 【例1-3】分析以下程序段的时间复杂度。 i=1; ① while(i<=n) i=2*i; ② 解:其中语句①的执行次数是1,设语句②的执行次数为f(n),则有:2f(n)?n。 得:T(n)=O(log2n) 【例1-4】有如下递归函数fact(n),分析其时间复杂度。 fact(int n) { if(n<=1) retu
严蔚敏++数据结构习题集答案
第二章 习题与解答
一 判断题
1.线性表的逻辑顺序与存储顺序总是一致的。 2.顺序存储的线性表可以按序号随机存取。
3.顺序表的插入和删除操作不需要付出很大的时间代价,因为每次操作平均只有近一半的元素需要移动。
4.线性表中的元素可以是各种各样的,但同一线性表中的数据元素具有相同的特性,因此是属于同一数据对象。
5.在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上并不一定紧邻。 6.在线性表的链式存储结构中,逻辑上相邻的元素在物理位置上不一定相邻。 7.线性表的链式存储结构优于顺序存储结构。
8.在线性表的顺序存储结构中,插入和删除时,移动元素的个数与该元素的位置有关。 9.线性表的链式存储结构是用一组任意的存储单元来存储线性表中数据元素的。
10.在单链表中,要取得某个元素,只要知道该元素的指针即可,因此,单链表是随机存取的存储结构。
二 单选题 (请从下列A,B,C,D选项中选择一项)
1.线性表是( ) 。
(A) 一个有限序列,可以为空; (B) 一个有限序列,不能为空; (C) 一个无限序列,可以为空; (D) 一个无序序列,不能为空。
2.对顺序存储的线性表,设其长度为n,在任何位置上插入或
严蔚敏版数据结构课后习题答案-完整版
第1章 绪论
1.1 简述下列术语:数据,数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型。
解:数据是对客观事物的符号表示。在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。
数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
数据对象是性质相同的数据元素的集合,是数据的一个子集。 数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
存储结构是数据结构在计算机中的表示。
数据类型是一个值的集合和定义在这个值集上的一组操作的总称。
抽象数据类型是指一个数学模型以及定义在该模型上的一组操作。是对一般数据类型的扩展。
1.2 试描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别。
解:抽象数据类型包含一般数据类型的概念,但含义比一般数据类型更广、更抽象。一般数据类型由具体语言系统内部定义,直接提供给编程者定义用户数据,因此称它们为预定义数据类型。抽象数据
类型通常由编程者定义,包括定义它所使用的数据和在这些数据上所进行的操作。在定义抽象数据类型中的数据部分和操作部分时,要求只定义到数据的逻辑结构和操作说明,不考虑数据的存
数据结构(C语言版本)严蔚敏答案
严蔚敏《数据结构(C语言版)习题集》答案
说明:
1. 本文是对严蔚敏《数据结构(c语言版)习题集》一书中所有算法设计题目的解决方案,主要作者为一具.以下网友:biwier,szm99,siice,龙抬头,iamkent,zames,birdthinking,lovebuaa等为答案的修订和完善工作提出了宝贵意见,在此表示感谢;
2. 本解答中的所有算法均采用类c语言描述,设计原则为面向交流、面向阅读,作者不保证程序能够上机正常运行(这种保证实际上也没有任何意义);
3. 本解答原则上只给出源代码以及必要的注释,对于一些难度较高或思路特殊的题目将给出简要的分析说明,对于作者无法解决的题目将给出必要的讨论.目前尚未解决的题目有: 5.20, 10.40;
4. 请读者在自己已经解决了某个题目或进行了充分的思考之后,再参考本解答,以保证复习效果;
5. 由于作者水平所限,本解答中一定存在不少这样或者那样的错误和不足,希望读者们在阅读中多动脑、勤思考,争取发现和纠正这些错误,写出更好的算法来.请将你发现的错误或其它值得改进之处向作者报告: [email]yi-ju@263.net[/email]
第一章 绪论
1.16
void p
严蔚敏版数据结构所有算法代码
严蔚敏版数据结构所有算法代码
------------------------线性数据结构-----------------------------
2013年9月//线性表、链表
//栈、队列
//数组、广义表
//串
-------------------------线性表----------------------
typedef struct
{
char name[20];//注意如果应用指针的形式
//在初始化每个结点时一定要先为结点中的每个变量开辟内存空间
char sex;
char addr[100];
unsigned int age;
char phonenum[20];
}node;//结点描述
typedef struct
{
node *p;
int length;//当前顺序表长度
int listsize;//当前分配的线性表长度
}list;//线性表描述
list L;//定义一个线性表
int initlist(list &l)//构造一个空的线性表
{
l.p=(node*)malloc(LIST_INIT_SIZE*sizeof(node));
if(!(l.p))
exit(1);
l.length=0;
l.listsize=LIST_INIT_SIZE
数据结构课后习题答案详解(C语言版 - 严蔚敏) 2
数据结构习题集答案(C语言版严蔚敏) 第2章 线性表
2.1 描述以下三个概念的区别:头指针,头结点,首元结点(第一个元素结点)。
解:头指针是指向链表中第一个结点的指针。首元结点是指链表中存储第一个数据元素的结点。头结点是在首元结点之前附设的一个结点,该结点不存储数据元素,其指针域指向首元结点,其作用主要是为了方便对链表的操作。它可以对空表、非空表以及首元结点的操作进行统一处理。 2.2 填空题。
解:(1) 在顺序表中插入或删除一个元素,需要平均移动表中一半元素,具体移动的元素个数与元素在表中的位置有关。 (2) 顺序表中逻辑上相邻的元素的物理位置必定紧邻。单链表中逻辑上相邻的元素的物理位置不一定紧邻。 (3) 在单链表中,除了首元结点外,任一结点的存储位置由其前驱结点的链域的值指示。 (4) 在单链表中设置头结点的作用是插入和删除首元结点时不用进行特殊处理。 2.3 在什么情况下用顺序表比链表好?
解:当线性表的数据元素在物理位置上是连续存储的时候,用顺序表比用链表好,其特点是可以进行随机存取。 2.4 对以下单链表分别执行下列各程序段,并画出结果示意图。
解:
2.5 画出执行下列各行语句后各指针及链
严蔚敏数据结构题集(C语言版)答案
严蔚敏 数据结构C 语言版答案详解
第1章 绪论
1.1 简述下列术语:数据,数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型。 解:数据是对客观事物的符号表示。在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。
数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
数据对象是性质相同的数据元素的集合,是数据的一个子集。
数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
存储结构是数据结构在计算机中的表示。
数据类型是一个值的集合和定义在这个值集上的一组操作的总称。
抽象数据类型是指一个数学模型以及定义在该模型上的一组操作。是对一般数据类型的扩展。
1.2 试描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别。
解:抽象数据类型包含一般数据类型的概念,但含义比一般数据类型更广、更抽象。一般数据类型由具体语言系统内部定义,直接提供给编程者定义用户数据,因此称它们为预定义数据类型。抽象数据类型通常由编程者定义,包括定义它所使用的数据和在这些数据上所进行的操作。在定义抽象数据类型中的数据部分和操作部分时,要求只定义到数据的逻辑结构和操作说明,不考虑数据的存储结构和操作的具体实现,这样抽象