| 版权声明:本文为博主原创文章,未经博主允许不得转载。
数据结构在我学的这些计算机的知识中,我认为是最重要的。然而数据结构的课程学了才一个学期,就发现很多数据结构的东西就已经忘记了一部分。
这次通过写一套数据结构来复习一下数据结构,也方便以后查看。
首先,在概论这里我们的理清楚几个概念:
1. 数据(Data):数据其实是信息的一个载体,在计算机内部所有的信息(如:数字,图片,声音,字符等等)全部都是以二进制的数据的形式存在,
以二进制的形式被计算机所识别、存储和加工处理。
2. 数据元素(Data Element):数据元素其实就是一个数据的基本单位。其中一个数据元素可以由若干个数据项组成。打个比喻就是将一本数据结
构的书表示为一个数据结构,那么这本图书可以由ISBN号,作者,出版社,书名等数据项组成。
3. 数据结构(Data Structure):数据结构其实就是指的数据之间的相互关系,及数据的组织形式(比如:表状结构,树状结构等)。
>. 数据的逻辑结构:从数据逻辑关系上描述数据,分为线性结构和非线性结构。存储方法有四种:顺序存储,链式存储,索引存储和散列存储。
>. 数据的存储结构:数据的存储结构主要分为顺序存储结构和链式存储结构。两者的主要的区别在于它们数据的存储在计算机内部的单元是否连续
>. 线性结构:对于非空集合来说,除了开始的节点和结束的节点而言,它们两者之间的所有的节点全部都有且只有一个直接前趋和一个直接后继。
而开始节点和结束节点分别对应着一个直接后继,一个直接前趋。这类结构就是线性表的典型,其中栈、对立、串等都是线性结构。
>. 非线性结构:对于此结构的非空集合来说,非线性结构的一个结点可能有多个直接前趋和直接后继。其中树、图、数组和广义表是典型的非线性
结构。
4. 数据结构的四种基本存储方法
>. 顺序存储方法:该方法是将逻辑上相邻的节点存储在位置上相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现。
>. 链接存储方法:该方法不要求逻辑上相邻的节点之间在存储单元的物理位置上亦相邻。在这种方法下,可以通过指针来实现结点之间的链接的关系
>. 索引存储方法:该方法在存储结点信息的同时,还建立了一份附加的索引表。索引表由若干索引项组成。若每个结点在索
引表中都有一个索引项,则该索引表称为稠密索引。若一组结点在索引表中只对应一个索引项,则该索引表称为稀疏索引。索引的一般
形式为:(关键字、地址)。其中关键字是能够唯一标识一个结点的那些数据项。稠密索引中索引项的地址指示结点所在的存储位置;
稀疏索引中索引项的地址指示一组结点的起始存储位置。
>. 散列存储方法:该方法的基本思想是:根据结点的关键字直接计算出该结点的存储地址,四种基本存储方法,既可单独使
用,也可组合起来对数据结构进行存储映像。同一逻辑结构采用不同的存储方法,可以得到不同的存储结构。选择何种存储结构来表示
相应的逻辑结构,视具体要求而定,主要考虑运算方便及算法的时空要求。