12.数据结构
2018-04-08 本文已影响11人
Lee丶Way
数据结构
数据结构指的是数据之间的相互关系,即数据的组织形式。包括三个方面:
- 数据的逻辑结构:数据元素之间的逻辑关系;
- 数据的存储结构:数据元素及其关系在计算机存储器内的表示;
- 数据的运算:对数据施加的一系列操作。
数据的逻辑结构
在不产生混淆的前提下,一般我们就将数据的逻辑结构简称为数据结构。数据的逻辑结构分为两大类:线性结构和非线性结构。
线性结构:若结构是非空集,则有且仅有一个开始结点和一个终端结点,所有结点都最多只有一个直接前驱和一个直接后继。线性表、栈、队列、串等都是线性结构。
非线性结构:一个结点可能有多个直接前驱和直接后继。数组、广义表、树和图等数据结构都是非线性结构。
数据的存储结构
数据结构在计算机中的表示(映像)成为数据的物理结构(存储结构),是数据元素机器关系在计算机存储器中的表示。用来表示数据元素的位串称为元素或结点,用来表示数据项的位串称为之数据域。数据有四种存储结构:
- 顺序存储结构:通常顺序存储结构是借助于语言的数组来描述的。
- 链式存储结构:通常要借助于语言的指针类型来描述。
- 索引存储方法:通常在存储结点信息的同时,还建立附加的索引表(索引项组成的)。
- 散列存储方法:根据结点的关键字直接计算出该结点的存储位置。
算法
算法是对特定问题求解步骤的一种描述。算法的设计取决于选定的数据逻辑结构,算法的实现依赖于采用的存储结构。算法有5个重要的特性:有穷性、确定性、可行性、输入和输出。当然选择一个算法也要考虑以下三点:
- 执行算法所耗费的时间;
- 执行算法所耗费的存储空间,其中主要考虑辅助存储空间;
- 算法应该易于理解,易于编码,易于调试。