数据结构与算法简介
什么是数据结构
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。
数据逻辑结构
线性结构
有且仅有一个开始结点和一个终端结点,且所有结点都最多只有一个直接前驱和一个直接后继。线性表是一个典型的线性结构。栈、队列、串、数组等都是线性结构。
非线性结构
在该类结构中至少存在一个数据元素,它具有两个或者两个以上的前驱或后继。
如树和二叉树集合结构和多维数组、广义表、图、堆等数据结构都是非线性结构。
基本数据结构
- 集合: 数据结构中的元素之间除了“同属一个集合” 的相互关系外,别无其他关系
- 线性结构: 数据结构中的元素存在一对一的相互关系
- 树形结构: 数据结构中的元素存在一对多的相互关系
- 图形结构: 数据结构中的元素存在多对多的相互关系
什么是数据结构
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。
数据逻辑结构
线性结构
有且仅有一个开始结点和一个终端结点,且所有结点都最多只有一个直接前驱和一个直接后继。线性表是一个典型的线性结构。栈、队列、串、数组等都是线性结构。
非线性结构
在该类结构中至少存在一个数据元素,它具有两个或者两个以上的前驱或后继。
如树和二叉树集合结构和多维数组、广义表、图、堆等数据结构都是非线性结构。
基本数据结构
- 集合: 数据结构中的元素之间除了“同属一个集合” 的相互关系外,别无其他关系
- 线性结构: 数据结构中的元素存在一对一的相互关系
- 树形结构: 数据结构中的元素存在一对多的相互关系
-
图形结构: 数据结构中的元素存在多对多的相互关系
数据存储结构
- 顺序存储
- 链式存储
- 索引存储
- 散列存储
数据运算
- 查找
- 插入
- 删除
- 修改
- 排序