什么是数据结构呢?
通常是用计算机解题的步骤,通过将具体问题抽象成数据模型(分析问题,提取操作对象以及对象之间的关系,用数学语言描述)设计算法编程,调试,运行。用数学语言描述描述的过程和内容表示数据结构。
随着计算机的发展,计算机处理的问题也越来越非数值化,解决的问也逐渐不单单为了数值的结果
总结,数据结构与算法是指的一般三个要点:
对象,算法,对象之间的关系(即数据结构)
接下来我们了解一下数据结构与算法里都是基本概念和术语
1、数据
数据是一个很大的概念,是能够输入计算机能被计算机处理的各种符号的集合。
包括两类
数值型数据:整数,小数
非数值型数据:姓名,性别,电话等
2、数据元素
是数据的基本单位,在计算机中通常作为一个整体可进行考虑和处理
如图所示:每一行所有数据构成的一个整体算是一个数据元素
3、数据项
构成数据元素的不可分割的最小单位
如上图例:姓名中的李明算是一个数据项
4、数据对象
是性质相同的数据元素的集合,是数据的一个子集
例如:一串数字
一串字符等
数据元素与数据的关系是集合与个体的关系
数据对象与数据是集合与子集的关系
二、数据结构
数据元素不是孤立存在的,他们之间有这某种(可能是一种也可能是多种)关系,数据元素之间的关系即为数据结构
数据结构包括以下三种关系结构
逻辑关系(结构),
元素之间的逻辑关系,独立于计算机
物理结构(内存结构)(逻辑关系在计算机里的映像),
数据元素以及其关系在计算机里存储器中的结构
在逻辑结构在计算机内部的表示
数据的运算与实现(即在内存结构上对数据元素的可施加的操作)
逻辑结构的种类
根据线性分类
线性结构:例如线性表,串,栈,队列
所有结点最多只有一个直接前趋和一个直接后继
非线性结构:树,图
根据四类基本逻辑结构
存储结构的种类
顺序结构
链式结构(指针)
索引结构
散列结构
三、数据类型
数据类型是一组性质相同的值的集合以及定义这个值集合上的一组操作总称
备注:(数据类型在高级语言中有明显的或者隐形的在执行程序期间变量和表达所有取值可能范围,以及在这些数值范围上所能做的操作
例如:int整型里的单位是-32768到32762
在整数集上能进行加减乘除求余数的操作)
抽象数据类型