数据结构概念篇上
数据结构讨论的范畴:程序=算法+数据结构;程序设计:为计算机处理问题编制一组指令集。
算法:处理问题的策略。
数据结构:问题的数学模型。
基本概念
数据:所有能被输入计算机中,且被计算机处理的符号集合;是计算机操作的对象的总称;是计算机处理的信息的某中特定的符号表示形式;
数据元素:数据中的一个“个体”,数据结构中讨论的基本对象。
数据项:组成数据元素。
数据结构:带结构的数据元素的集合。其中结构:数据元素之间存在的约束关系;
数据结构分为--数据的逻辑结构和数据的存储结构;
数据的逻辑结构又包含{线性结构、树形结构、图状结构、集合}
数据的存储结构又包含{顺序存储结构、链式存储结构、索引存储结构、散列存储结构}
数据的逻辑结构指:数据之间存在的固有的逻辑关系。简称数据结构;这是从逻辑关系上描述数据
线性结构:结构中的数据元素之间存在“一对一”的关系。若线性结构为非空集合,则除第一个和最后一个数据元素,其余每个元素都有且只有一个前驱和一个后继;第一个元素有且只有一个后继,最后一个元素有且只有一个前驱;
树形结构:结构中的数据元素之间存在“一对多”的关系。若树形结构为非空集合,则除第一个元素,其余每个数据元素都有且只有一个前驱;结构中每个元素都有零个或多个后继;
图状结构:结构中的数据元素之间存在“多对多”的关系。若图状结构为非空集合,则每个元素都有零个和多个前驱和后继;
集合:结构中的数据元素之间除了“同属于同一个集合”的关系以外,没有其他关系;
数据的存储结构指:数据元素及元素之间的关系在计算机内的表示称为数据的存储结构。
数据的存储结构包括{顺序存储结构、链式存储结构、索引存储结构、散列存储结构}
顺序存储结构:把逻辑上相邻的数据元素存储在物理位置也相邻的存储单元中,借助元素在存储器中的相对位置来表示数据元素之间的逻辑。由此得到的存储结构称为顺序存储结构。
链式存储结构:借助指针表达数据元素之间的逻辑关系。不要求逻辑上相邻的数据元素在物理位置上也相邻。由此得到的数据存储结构称为链式存储结构。
索引存储结构:在存储数据元素的同时,还建立附加的索引表。通过索引表,可以找到存储数据元素的结点。
散列存储结构:根据散列函数和处理冲突的方法确定数据元素的存储位置。
数据的操作:是在数据的逻辑结构上定义的操作算法,如:插入、删除;
注意:数据的逻辑结构和数据的存储结构是指一个事物的两个方面,而不是两个事物。两者相辅相成,不可分割。
抽象数据类型:是指数据元素集合以及定在该集合上的一组操作。
[ 本帖最后由 Bosen 于 2009-11-11 18:20 编辑 ]