# 数据结构

数据结构（data structure），是数据的组织、管理和存储格式， 目的是为了高效地处理数据。

主要数据结构有8种：

1. [栈（Stack）](https://blog.yuyy.tech/mian-shi-shu-li/readme/shu-ju-jie-gou/zhan-stack)
2. [队列（Queue）](https://blog.yuyy.tech/mian-shi-shu-li/readme/shu-ju-jie-gou/dui-lie-queue)
3. [数组（Array）](https://blog.yuyy.tech/mian-shi-shu-li/readme/shu-ju-jie-gou/shu-zu-array)
4. [链表（Linked List）](https://blog.yuyy.tech/mian-shi-shu-li/readme/shu-ju-jie-gou/lian-biao-linked-list)
5. [树（Tree）](https://blog.yuyy.tech/mian-shi-shu-li/readme/shu-ju-jie-gou/shu-tree)
6. [堆（Heap）](https://blog.yuyy.tech/mian-shi-shu-li/readme/shu-ju-jie-gou/dui-heap)
7. [图（Graph）](https://blog.yuyy.tech/mian-shi-shu-li/readme/shu-ju-jie-gou/tu-graph)
8. [散列表（Hash Table）](https://blog.yuyy.tech/mian-shi-shu-li/readme/shu-ju-jie-gou/san-lie-biao-hash-table)

按`存储结构`划分：

* 线性表：
  * 一维数组
  * 队列
  * 栈
  * 链表
* 非线性表：
  * 二维数组
  * 散列表（哈希表）
  * 树
  * 图
  * 堆

按`存储方式`划分：

* 数组：顺序存储，存储地址是连续的，所以查找元素时可以根据存储地址直接获取
* 链表：链式存储，存储地址不连续，当前元素存储着后一个元素的地址，所以查找元素要从第一个开始查

算法（algorithm）依托于数据结构，不同的数据结构由于其自身特点，有其固有的算法模式，比如：数组的各种查找和排序，树的各种方式遍历。
