什么是数据结构?
一般来说, 用计算机解决一个具体问题时, 大致需要经过下列几个步骤:
1. 从具体问题中抽象出一个适当的数学模型
2. 设计一个解此模型的算法
3. 编写程序, 进行测试, 调整直至得到最终的解.
寻求数学模型的实质是分析问题, 从中提取操作的对象, 并找出这些操作对象之间含有的关系, 然后用数学的语言加以描述.
数据结构:是相互之间存在的一种或多种特定关系的数据元素的集合.
数据元素之间, 通常有下列4种基本结构:
1. **集合:** 结构中的数据元素之间, 除了"同属于一个集合"之外, 别无其他的关系.
2. **线性结构:** 结构中的数据元素之间存在 **一对一** 的关系.(例如 *链表* )
3. **树型结构:** 结构中的数据元素之间存在 **一对多** 的关系.(例如 *二叉树* )
4. **图状结构:** 结构中的数据元素之间存在 **多对多** 的关系.(例如 *图* )
都有哪些数据结构:
1. 线性表
2. 栈
3. 队列
4. 数组和广义表
5. 树和二叉树
6. 图
7. 散列
8. 堆
由数据结构衍生出的算法
1. 查找(二叉搜索树, 图的广度优先搜索, 图的深度优先搜索)
2. 排序(图的拓扑排序, 堆排序)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。