数据结构
第二章绪论
1.什么叫做数据结构(逻辑结构+存储结构+操作)
逻辑结构包括四种类型:
集合结构:各元素之间没有关系。
线性结构:一对一,有唯一的前驱和后继。
树型结构:一对多,比如校长—>院长—>系主任—>各领导干部。
图型结构:多对多。
将逻辑结构存储到计算机中的存储形式叫做存储结构。
存储结构也有四类:
顺序存储结构:数据采用连续存储的(连续存储)
链式存储结构:数据不必连续存储的(不必连续的存储)
索引存储结构:数据按键值对存储的,按字典来查
散列存储结构:
不同的存储结构拥有不同的操作效率。
将逻辑结构存储到计算机中的存储形式叫做存储结构。
2.存储在内存
不同的载体:内存和外存。 但那个存储是在内存。内存的六个特点:线性的,一维的;操作分为读和写;内存分为了多个不同的存储单元,每个存储单元都存放一个字节;每个存储单元都有一个属于自己的门牌号(门牌号称为地址),这样在内存中就形成两类值,一类是存储在内存单元的内容值,也称为数值;还有一类是用来找这个门牌号,是一个地址,这些地址值。
3.算法
算法的五大特点:
1.可行性
2.确定性
3.有穷性
4.0个或0个以上的输入
5.至少有一个以上的输出
评价标准:
1.时间复杂度(工作量估计一下,估计的虚看具体时间,实是估计的是算法运算的次数)
2.空间复杂度
影响时间复杂度的因素:(数据量的大小来判断运算的时间,数据量的被称为规模。在数据量里查找第一个跟最后一个元素的时间也不一样,不同的位置称为输入)
1.规模大小
2.输入
时间复杂度用大O法表示。O(f(n))当n趋向于无穷大时,算法趋向于一个常数,则可以用大O法表示。当n趋于无穷大时,存在这样一个关系:
一个算法在运算过程中占用的空间叫做空间复杂度。三个空间的和(1.所写代码所需的空间 2.代码运行所需的辅助空间。 3.输入输出所占的空间)
算法的数据存储结构和数据操作合二为一提出了一个新的概念抽象数据类型(ADT),数据类型有四种(简单数据类型(又称为基本数据类型),构造数据类型,引用数据类型,空数据类型)Eg:int类型:(定义存储结构)C中占2个字节+(运算操作)+,-,*,/,%。它也有复杂的问题,复杂的问题成为抽象数据类型,int是人家已经实现的叫做基本数据类型,需要自己实现的是抽象数据类型。
4.小结.
1.
2.
3.数据,数据项,数据元素:
假设数据是一张表,每一行的记录为数据元素,他是数据的基本单位,每一列比如:name,是数据项,它是不可分割的最小单位。
4.
5.效率由快到慢