**部分 习题与解答
第1章 绪论
1.1 基本概念
1.1.1 数据结构
数据结构(Data Structure),是指相互之间存在一种或多种特定关系的数据元素所组成的集合。具体来说,数据结构包含3个方面的内容,即数据的逻辑结构、数据的存储结构和对数据所施加的运算(也称操作)。
这3个方面的关系为:
(1)数据的逻辑结构独立于计算机,是数据本身所固有的。
(2)存储结构是逻辑结构在计算机存储器中的映像,必须依赖于计算机。
(3)运算是指所施加的一组操作的总称。运算的定义直接依赖于逻辑结构,但运算的实现必须依赖于存储结构。
数据结构从逻辑结构上可以分为:线性结构、非线性结构。
数据结构具体可以表示为:集合、线性表、栈、队列、串、多维数组和广义表、树、二叉树结构、图形结构。
1.1.2 存储方式
数据结构从存储结构来划分,分为如下几种:
(1)顺序存储(向量存储)。所有元素存放在一片连续的存储单元中,逻辑上相邻的元素存放到计算机内存中仍然相邻(只需要存放元素的值,而不需要存放元素之间的关系)。
(2)链式存储。所有元素存放在可以是不连续的存储单元中,但元素之间的关系可以通过地址确定,逻辑上相邻的元素存放到计算机内存后不一定是相邻的(也可能是相邻的)。
(3)索引存储。使用该方法存放元素的同时,还建立附加的索引表,索引表中的每一项称为索引项,索引项的一般形式为:(关键字,地址),其中的关键字是能**标识一个结点的那些数据项。而地址是存储关键字的具体位置。
(4)散列存储。通过构造散列函数,用函数的值来确定元素存放的地址(理论上不需要用到比较)。
……