第一章:绪论:数据结构课程的任务是:讨论数据的各种逻辑结构、在计算机中的存储结构以及各种操作的算法设计。:数据:是客观描述事物的数字、字符以及所有的能输入到计算机中并能被计算机接收的各种集合的统称。数据元素:表示一个事物的一组数据称作是一个数据元素,是数据的基本单位。数据项:是数据元素中有独立含义的、不可分割的最小标识单位。数据结构概念包含三个方面:数据的逻辑结构、数据的存储结构的数据的操作。数据的逻辑结构指数据元素之间的逻辑关系,用一个数据元素的集合定义在此集合上的若干关系来表示,数据结构可以分为三种:线性结构、树结构和图。:数据元素及其关系在计算机中的存储表示称为数据的存储结构,也称为物理结构。数据的存储结构基本形式有两种:顺序存储结构和链式存储结构。:算法:一个算法是一个有穷规则的集合,其规则确定一个解决某一特定类型问题的操作序列。算法规则需满足以下五个特性:输入——算法有零个或多个输入数据。输出——算法有一个或多个输出数据,与输入数据有某种特定关系。有穷性——算法必须在执行又穷步之后结束。确定性——算法的每个步骤必须含义明确,无二义性。可行性——算法的每步操作必须是基本的,它们的原则上都能够精确地进行,用笔和纸做有穷次就可以完成。有穷性和可行性是算法最重要的两个特征。:算法与数据结构:算法建立数据结构之上,对数据结构的操作需用算法来描述。算法设计依赖数据的逻辑结构,算法实现依赖数据结构的存储结构。:算法的设计应满足五个目标:正确性:算法应确切的满足应用问题的需求,这是算法设计的基本目标。健壮性:即使输入数据不合适,算法也能做出适当的处理,不会导致不可控结高时间效率:算法的执行时间越短,时间效率越高。果。高空间效率:算法执行时占用的存储空间越少,空间效率越高。可读性:算法的可读性有利于人们对算法的理解。:度量算法的时间效率,时间复杂度,(课本 39 页)。:递归定义:即用一个概念本身直接或间接地定义它自己。递归定义有两个条件:至少有一条初始定义是非递归的,如 1!=1.由已知函数值逐步递推计算出未知函数值,如用(n-1)!定义 n!。第二章:线性表线性表:线性表是由 n(n>=0)个类型相同的数据元素 a0,a1,a2,…an-1,组成的有限序列,记作:LinearList = (a0,a1,a2,…an-1)其中,元素 ai 可以是整数、浮点数、字符、也可以是对象。n 是线性表的元素个数,成为线性表长度。若 n=0,...