数据结构——简介
1、几个基本概念
- 数据:数据是指计算机接受的输入数据,比如:整型、浮点型等数值类型以及声音、图像、视频等非数值类型的数据
- 数据元素:是组成数据有一定意义的基本单位,比如一个人的基本信息包括姓名、性别、年龄等
- 数据对象:是性质相同的数据元素的集合,比如正整数数据对象N={1,2,3……}
- 数据结构:是数据的组织形式,即数据元素之间存在的一种或几种特定关系
- 数据类型:是用来刻画一组性质相同的数据及其上的操作。可以分为原子类型和结构类型。
- 抽象数据类型:对具有某种逻辑关系的数据类型进行描述,并在该类型上进行的一组操作。比如C++中的结构体。
2、数据结构
数据结构的主要任务就是通过描述对象的结构特征,包括逻辑结构在内的联系,然后把逻辑结构表示成计算机可实现的物理结构,从而方便计算机处理。
- 逻辑结构:数据对象中数据元素之间的相互关系,即数据对象中的数据元素的所有分布情况满足的规律。
- 集合结构:这种结构中的数据元素除了属于同一数据对象之外没有其他的任何关系。
- 线性结构:线性结构中的数据元素之间是一对一的关系,并且有一种先后次序关系。包括数组、线性表、栈、队列和串等等。
- 树形结构:树形结构中的数据元素之间是一对多的层次关系。
- 图形结构:图形结构中的数据元素之间是多对多的关系。
2.物理结构:又称存储结构,指的是逻辑结构在计算机中的存储形式。
- 顺序存储结构:把数据元素存放到地址连续的存储单元里,数据间的逻辑关系和物理关系一致
- 链式存储结构:把数据元素存放到任意的存储单元里,地址可以不连续,通过指针实现数据元素之间的逻辑关系。
3、算法
- 算法的定义:描述解决问题的方法。使用不同的数据结构解决某一类或者具体的问题的策略。
- 算法的特性:
- 有穷性:算法执行有限的步骤之后会结束而不会出现无限循环。
- 确定性:对于相同的输入只有唯一的输出结果。
- 可行性:算法的每一步都必须在有限执行次数完成。
- 输入:算法有零个输入或多个输入。
- 输出:至少有一个或多个输出。