如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
读书报告题目:数据结构(C语言版)姓名:学号:数据结构(C语言版)前言一般来说,用计算级解决一个具体问题时,大致需要经过下列几个步骤:首先要从具体问题抽象出一个适当的教学模型,然后设计一个解此数学模型的算法,最后编出程序、进行测试、调整直至得到最终解答。寻求数学模型的实质分析问题,从中提取操作的对象,并找出这些操作对象之间含有的关系,然后用数学的语言加以描述。例如,求解梁架结构中应力的的数学模型为线性方程组;预报人口增长情况的数学模型为微分方程。然而,更多的非数值计算问题无法用数学方程加以描述。比如说图书馆的书目检索系统自动化问题、计算机与人的对弈问题、多岔路口交通灯的管理问题。数据结构发展史1968年在美国开设。它随着大型程序的出现而出现。“数据结构”作为一门独立的课程在国外是从1968年才开始设立的。1968年美国唐•欧•克努特教授开创了数据结构的最初体系,他所著的《计算机程序设计技巧》第一卷《基本算法》是第一本较系统地阐述数据的逻辑结构和存储结构及其操作的著作。“数据结构”在计算机科学中是一门综合性的专业基础课。数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。数据结构这一门课的内容不仅是一般HYPERLINK"http://www.hudong.com/wiki/%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1"\o"程序设计"程序设计(特别是非数值性程序设计)的基础,而且是设计和实现编译程序、HYPERLINK"http://www.hudong.com/wiki/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F"\o"操作系统"操作系统、数据库系统及其他系统程序的重要基础。我国1980's年代初开设。它是计算机专业的核心课程,考研必考。数据结构在计算机科学界至今没有标准的定义。个人根据各自的理解而有不同的表述方法:SartajSahni在他的《数据结构、算法与应用》一书中称:“数据结构是数据对象,以及存在于该对象的实例和组成实例的数据元素之间的各种联系。这些联系可以通过定义相关的函数来给出。”他将数据对象(dataobject)定义为“一个数据对象是实例或值的集合”。CliffordA.Shaffer在《数据结构与算法分析》一书中的定义是:“数据结构是ADT(抽象数据类型AbstractDataType)的物理实现。”LobertL.Kruse在《数据结构与程序设计》一书中,将一个数据结构的设计过程分成抽象层、数据结构层和实现层。其中,抽象层是指抽象数据类型层,它讨论数据的逻辑结构及其运算,数据结构层和实现层讨论一个数据结构的表示和在计算机内的存储细节以及运算的实现。一般认为,一个数据结构是由数据元素依据某种逻辑联系组织起来的。对数据元素间逻辑关系的描述称为数据的HYPERLINK"http://www.hudong.com/wiki/%E9%80%BB%E8%BE%91%E7%BB%93%E6%9E%84"\o"逻辑结构"逻辑结构;数据必须在计算机内存储,数据的HYPERLINK"http://www.hudong.com/wiki/%E5%AD%98%E5%82%A8%E7%BB%93%E6%9E%84"\o"存储结构"存储结构是数据结构的实现形式,是其在计算机内的表示;此外讨论一个数据结构必须同时讨论在该类数据上执行的运算才有意义。《数据结构》主要是从抽象的数据类型的角度,分别讨论线性表、栈、队列、串、数组、广义表、树和二叉树以及图等基本类型的数据结构及其应用。当然还有一些事有关于查找和排序。除了介绍各种实现方法之外,还着重从时间上进行定性或定量的分析和比较。《数据结构》在计算机科学中时一门综合性的专业基础课。数据结构的科研不仅涉及到计算机硬件(特别是编码理论、存储装置和存取方法等)的科研范围,而且和计算机软件的研究有着更密切的关系,都涉及到数据元素在存储器中的分配问题。其中的线性表是一种最常用且最简单的一种数据结构。线性结构的特点是:在数据元素的非空有限集中,(1)存在唯一的一个被称做“第一个”的数据元素;(2)存在唯一的一个元素被称做“最后一个”数据元素;(3)除第一个之外,集合中每一个数据元素均只有一个后继。《数据结构(C语言版)》中还介绍了线性表的各种表示你方式和实现。栈和队列是两种重要的线性结构。从数据结构角度看,栈和队列也是线性列表,其特殊性在于栈和队列的基本操作是线性表操作的子集。他们是操作受限的线性表,因此,可称为限定性的数据结构。但从数据类型角度看,它们是和线性表大不相同的两类重要的抽像数据类型。由于它们广泛应用在各种软件系统