一,基本概念
数据:描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。
(整型,实型类数值,声音,图像,视频都可以作为数据输入计算机中被处理)
数据元素:数据的基本单位,具有一定的意义,在计算机中通常作为整体处理。也被称为记录。
数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。
二,数据结构的分类
数据结构可分为逻辑结构和物理结构(存储结构)
(一)逻辑结构
1.集合结构:类似与数学中的集合
2.线性结构:一对一
3.树形结构:一对多,有层次
4.图形结构:多对多
(二)物理结构
1.顺序存储结构:地址连续,如数组
2.链式存储结构:地址可连续可不连续
三,数据结构的作用
用计算机解题首先要用合理的结构表示数据,然后才能根据相应的算法处理结构,而数据表示和数据处理正是数据结构要研究的内容。
四,数据类型
1.原子类型:不可以再分解的基本类型,包括整型,实型,字符型
2.结构类型:由若干个类型组合而成,可以再分解,例如整型数组
五,抽象数据类型
对已有数据类型进行抽象,就有了抽象数据类型,抽象数据类型的定义取决于其逻辑特性,例如,智能手机,平板电脑,小型机中都有整型这一类型,但对其加减乘除的实现方法不一定一样,这里的整型就是一个抽象数据类型。
标准格式:
ADT 抽象数据类型名
Date
数据元素之间的逻辑关系的定义
Operation
操作1
初始条件
操作结果描述
操作2
......
操作n
......
endADT
六,时间复杂度
不同时间计算机的计算情况:
1000000 游刃有余
10000000 勉勉强强
100000000 超级悬,仅限循环体非常简单的情况
计算时间复杂度时,考虑的是最坏的情况
常见的时间复杂度:
1.o(1) 常数
2.o(n) 线性 一个for循环
3.o(n^2) 两个for循环
4.o(n^3) 三个for循环
5.o(lg n) 对数 二分查找
6.o(nlg n) 某些排序
7.o(2^n) 指数
排序:
o(2^n) > o(n^3) > o(n^2) > o(nlg n) > o(n) > o(lg n) > o(1)