文档介绍:数据结构与算法分析DataStructureandAlgorithmAnalysis数据结构与算法的基本原理基本的数据结构计算机应用中的各种常用算法计算机领域不同问题的一系列基本算法评价算法的准则和方法设计和分析算法的基本原理、方法和技巧提高分析问题、解决问题的能力主要内容一、什么是数据结构?计算机解决具体问题时,一般经过下列几个步骤:首先要对具体问题进行分析,从中进行模型抽象,然后设计算法,最后编出程序、进行测试、调整直至得到最终解答。问题分析模型抽象算法设计编程、调试得到解答SartajSahni称:“数据结构是数据对象、以及存在于该对象的实例和组成实例的数据元素之间的各种联系。这些联系可以通过定义相关的函数来给出。”(《数据结构、算法与应用》):“数据结构是ADT(抽象数据类型)的物理实现”(《数据结构与算法分析》)、数据结构层和实现层。其中,抽象层是指抽象数据类型层,它讨论数据的逻辑结构及其运算,数据结构层和实现层讨论一个数据结构的表示和在计算机内的存储细节以及运算的实现(《数据结构与程序设计》)计算机程序是用于对信息进行加工处理的。一般而言,这些信息并不是没有组织的,信息之间往往具有重要的结构关系,这就是数据结构需要研究的内容。计算机算法与数据的结构密切相关,算法无不依附于具体的数据结构,数据结构直接关系到算法的选择和效率NiklausWirth:Algorithm+DataStructures=Programs[例1]电话号码查询问题方法1:顺序存储,顺序查找((a1,b1),(a2,b2),(a3,b3),…,(an,bn))问题:效率低方法2:有序顺序存储,二分查找((李1,a1),(李2,a2),…,(王1,ai),(王2,ai+1),…)问题:修改不方便方法3:部分有序,建立索引表……[例2]文件系统的组织(UNIX为例)