介绍
约 504 字大约 2 分钟
2019-06-08
数据结构是在计算机中存储、组织数据的方式。小到变量、数组,大到线段树、平衡树,都是数据结构。
程序运行离不开数据结构,不同的数据结构又各有优劣,能够处理的问题各不相同,而根据具体问题选取合适的数据结构, 可以大大提升程序的效率。
一般你可以从两个维度来理解它,逻辑结构和存储结构。
逻辑结构
逻辑结构指数据之间的关系,逻辑结构大概统一的可以分成两种:线性结构、非线性结构。
线性结构
一个有序数据元素的集合。 其中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。
常用的线性结构有: 栈,队列,链表,线性表。
非线性结构
各个数据元素不再保持在一个线性序列中,每个数据元素可能与零个或者多个其他数据元素发生联系。
常见的非线性结构有 二维数组,树等。
存储结构
逻辑结构指的是数据间的关系,而存储结构是逻辑结构用计算机语言的实现。
常见的存储结构有顺序存储、链式存储、索引存储以及散列存储。
例如:
- 数组在内存中的位置是连续的,它就属于顺序存储;
- 链表是主动建立数据间的关联关系的,在内存中却不一定是连续的,它属于链式存储;
- 还有顺序和逻辑上都不存在顺序关系,但是你可以通过一定的方式去放问它的哈希表,数据散列存储。