数据结构第一章概论总结
数据结构的基本概念和术语
数据、数据元素、数据项、数据对象、数据结构等基本概念
- 数据:是客观事物的数字化表示,是被计算机加工处理的对象。
- 数据元素(记录、表目):数据的基本单位,是数据集合中的一个个体。 一个数据元素可由若干个数据项组成,数据项是不可分割的最小单位.
- 数据对象 是性质相同的数据元素的集合,是数据的一个子集。
- 数据结构,带结构的数据元素集合,数据结构=(D,S,Op)数据元素,关系,操作
数据结构的逻辑结构,存储结构及数据运算的含义及其相互关系
- 逻辑结构,数据元素之间逻辑关系 逻辑结构 = (D,S)数据元素,关系,基本逻辑结构有 集合,树型,线性,图状
- 存储结构(物理结构):指数据的逻辑结构在计算机存储器中的映象表示
- 顺序存储结构
- 链式存储结构
- 哈希存储结构
- 索引存储结构
- 数据运算(操作):不同的数据结构有不同的操作集合,这些操作可以分为四类
- 构造函数,析构函数
- 询问类操作(判空,求长度)
- 查找
- 增删
- 我理解数据结构可以由逻辑结构和操作组成,其中逻辑结构存储在计算机中的映像就是存储结构
数据结构的四种逻辑结构及四种常用的存储表示方法
- 逻辑结构有 集合,树型,线性,图状
- 存储结构有 顺序、链式、哈希、索引
算法的描述和分析
无穷大阶的几种描述方法的区别
-
定义1:无穷大阶O
若存在正常数c,使得当n充分大(即存在n0,使得当n>n0时),有:
t(n) ≤ cf(n)
则,称t(n)趋于无穷大的阶≤f(n)趋于无穷大的阶,记为:
t(n)=O(f(n)) -
定义2:无穷大的阶Ω
若存在正常数c,使得当n充分大(即存在n0,使得当n>n0时),有:
t(n) ≥ cf(n)
则,称t(n)趋于无穷大的阶≥ f(n)趋于无穷大的阶,记为:
t(n)= Ω(f(n)) -
定义3:无穷大的阶Θ
若满足:
t(n)= O(f(n))且t(n)= Ω(f(n))
则,称t(n)趋于无穷大的阶= f(n)趋于无穷大的阶,记为:
t(n)= Θ(f(n))
算法特征及其评价标准
算法五个重要特性:有穷性,可行性,输入,输出,确定性
评价算法性能标准:正确性,可读性,健壮性,高效率与低存储要求
算法的时间复杂度和空间复杂度的概念
- 时间复杂度:算法中各语句的频度之和T(n)。
- 频度—语句的执行次数;
- n—问题的规模,一般为数据的输入量
- 渐近时间复杂度:当问题的规模n趋于无穷大时,
T(n)的数量级(阶)。记为: T(n)=Θ( f(n) )。 - 实际中,将渐近时间复杂度简称为时间复杂度,用以描述算法的时间特性。
- 一般要考虑:最好情况下的时间复杂度,最坏情况下的时间复杂度,平均时间复杂度
- 空间复杂度:算法的存储空间,输入数据所占空间,程序本身所占空间,辅助变量所占空间
- 空间复杂度
S(n)=O(f(n))或S(n)= Θ(f(n))
- 空间复杂度
几种常见复杂度的好坏程度
O(1), O(log2n), O(n), O(nlog2n), O(n2), O(n3), O(2n)从好到坏
就(原)地算法的含义
当某个算法空间复杂度为O(1)时,称该算法为原地算法
算法描述和算法分析的方法
算法分析就是对时间复杂度和空间复杂度进行事先估计吧,没啥了,我觉着,以后再补充吧,我也不知想让我说点什么