$[1 1 1]
$题目
　　自从1946年第一台计算机问世以来，计算机技术的发展日新月异。其应用已不再
局限于科学计算，而是更多的用于控制、管理及数据处理等非数值计算的处理工作。
与此相应，计算机加工处理的对象由纯粹的数值发展到字符、表格和图像等各种具有
一定结构的数据，数据结构就是研究数据组织、存储和运算的一般方法的科学。本章
给出关于数据结构基本概念的习题。
$[2 1 1]
$题目
　　线性结构的所有结点按它们之间的关系可以排列成一个线性序列：
￥[intro\\2.bmp]
　　通常把上述线性序列称为“线性表”，把线性结构中的结点称为元素或“表目”。
将一个线性表存放到计算机中，可以采用不同的方法，其中最简单而自然的就是顺序
的方法，即把表目按其索引值从小到大一个接一个地存放在相邻的单元里。顺序方法
存储的线性表简称“顺序表”，顺序表是一种紧凑结构。链表是一种可以实现动态分
配的存储结构，它不需要一组地址连续的存储单元，而是用一组任意的，甚至是在存
储空间中零散分布的存储单元存放线性表的数据；同时在进行元素的插入和删除时，
链表不必像向量那样移动大量元素，从而克服了向量存储结构的缺点。但同时也失去
了顺序表可随机存取的优点。
　　本章提供了有关顺序表和链表的习题。
$[3 1 1]
$题目
　　栈和队列是两种重要的线性结构。从数据结构角度看，栈和队列也是线性表，其
特殊性在于栈和队列的基本操作是线性表操作的子集，它们是操作受限的线性表，因
此，可称为限定性的数据结构。但从数据类型角度看，它们是和线性表大不相同的两
类重要的抽象数据类型。由于它们广泛应用在各种系统软件中，因此在面向对象的程
序设计中，它们是多型数据类型。
　　本章除了基本习题外，还将给出一些应用性较强的
习题。
$[4 1 1]
$题目
　　串（或字符串）是由零个或多个字符组成的有限序列，一般记为：
　　　　　￥[intro\\31.bmp]
其中s是串名，用双引号括起来的字符序列是串的值；￥[intro\\32.bmp]可以是字母，数
字或其他字符，串中的字符个数n称为串的长度。零个字符的串称为空串，其长度为
0。串中任一个连续的字符组成的子序列称为该串的子串,包含子串的串相应地称为
主串，通常成字符在序列中的序号为该字符在串中的位置。子串在主串中的位置则以
子串的第一个字符在主串中的位置来表示。
　　本章给出一些关于串的习题。
$[5 1 1]
$题目
　　前几章讨论的线性结构中的数据元素都是非结构的原子类型，元素的值是不再分
解的。本章讨论的两种数据结构－－数组和广义表可以看成是线性表在下述含义上的
扩展：表中的数据元素本身也是一个数据结构。
$[6 1 1]
$题目
　　树型结构是一类重要的非线性数据结构。其中以树和二叉树最为常用，直观看来，
树是以分支关系定义的层次结构。树结构在客观世界中广泛存在，如人类社会的族谱
和各种社会组织机构都可用树来形象表示。树在计算机领域中也得到广泛应用，如在
编译程序中，可用树来表示源程序的语法结构。又如在数据库系统中，树型结构也是
信息的重要组织形式之一。
$[7 1 1]
$题目
　　图(Graph)是一种较线性表和树更为复杂的数据结构。在线性表中，数据元素之
间仅有线性关系，每个数据元素只有一个直接前驱和一个直接后继；在树型结构中，
数据元素之间有着明显的层次关系，并且每一层上的数据元素可能和下一层中多个元
素（即其孩子结点）相关，但只能和上一层中一个元素（即其双亲结点）相关；而在
图形结构中，结点之间的关系可以是任意的，图中任意两个数据元素之间都可能相关。
由此，图的应用极为广泛，已渗入到诸如语言学、逻辑学、物理、化学、电讯工程、
计算机科学以及数学的其他分支中。
$[8 1 1]
$题目
　　查找是指在某种数据结构中找出满足给定条件的结点，若找到满足给定条件的结
点，则查找成功，否则查找失败。查找是数据结构中很常用的基本运算。
$[9 1 1]
$题目
　　排序就是把一组无序的记录按其关键字的某种次序排列起来，使其具有一定的顺
序，便于进行数据查找。排序是数据处理中经常使用的一种重要运算，其方法很多，
应用也很广泛。排序全部放在内存中进行，不涉及外存的排序方法称为内排序。
$





