1 数据结构 (C 语言版)(第2 版) 习题解析 揭安全 李云清 杨庆红 江西师范大学计算机信息工程学院 联系方式:janquan@163.com (习题答案仅供参考) 2 第1 章 绪论 1.1 什么是数据结构? 【答】:数据结构是指按一定的逻辑结构组成的一批数据,使用某种存储结构将这批数据存储 于计算机中,并在这些数据上定义了一个运算集合。 1.2 数据结构涉及哪几个方面? 【答】:数据结构涉及三个方面的内容,即数据的逻辑结构、数据的存储结构和数据的运算集 合。 1.3 两个数据结构的逻辑结构和存储结构都相同,但是它们的运算集合中有一个运算的定义不 一样,它们是否可以认作是同一个数据结构?为什么? 【答】:不能,运算集合是数据结构的重要组成部分,不同的运算集合所确定的数据结构是不 一样的,例如,栈与队列它们的逻辑结构与存储结构可以相同,但由于它们的运算集合不一样, 所以它们是两种不同的数据结构。 1.4 线性结构的特点是什么?非线性结构的特点是什么? 【答】:线性结构元素之间的关系是一对一的,在线性结构中只有一个开始结点和一个终端结 点,其他的每一个结点有且仅有一个前驱和一个后继结点。而非线性结构则没有这个特点,元 素之间的关系可以是一对多的或多对多的。 1.5 数据结构的存储方式有哪几种? 【答】:数据结构的存储方式有顺序存储、链式存储、散列存储和索引存储等四种方式。 1.6 算法有哪些特点?它和程序的主要区别是什么? 【答】:算法具有(1)有穷性(2)确定性(3)0 个或多个输入(4)1 个或多个输出(5)可 行性等特征。程序是算法的一种描述方式,通过程序可以在计算机上实现算法。 1.7 抽象数据类型的是什么?它有什么特点? 【答】:抽象数据类型是数据类型的进一步抽象,是大家熟知的基本数据类型的延伸和发展。 抽象数据类型是与表示无关的数据类型,是一个数据模型及定义在该模型上的一组运算。对一 个抽象数据类型进行定义时,必须给出它的名字及各运算的运算符名,即函数名,并且规定这 些函数的参数性质。一旦定义了一个抽象数据类型及具体实现,程序设计中就可以像使用基本 数据类型那样,十分方便地使用抽象数据类型。抽象数据类型的设计者根据这些描述给出操作 的具体实现,抽象数据类型的使用者依据这些描述使用抽象数据类型。 1.8 算法的时间复杂度指的是什么?如何表示? 【答】:算法执行时间的度量不是采用算法执行的绝对时间来计...