《数据结构》学习笔记------第一章绪论------主要是对一些概念的梳理
数据结构 = 数据元素 + 数据关系 = D +S
以复数为例子:复数9+i7 , 这里数据元素是9 和 7 , 数据关系是前者表示实部,后者表示虚部;
数据关系 在 算法设计中体现为 逻辑结构
在 计算机实现中表现为 存储结构
存储结构 在计算机中实现时分为 顺序存储结构和非顺序存储结构(链式存储结构)。顺序存储就是按照物理地址的顺序来,不赘述;链式存储通过指针指向的地址来实现,
因此链式存储结构在物理地址上是不连续的。比如9+i7 这里9和7的存储在链式存储结构中是不连续的。
抽象数据类型(ADT)= D +S +P = 数据元素 + 数据关系 + 基本操作
所以数据类型,我认为是在数据结构的基础上,附加了一些数据操作。
比如整数数据类型,就是在整数这个数据结构上附加了加减乘除等操作。
算法 = 原操作 + 控制结构
算法复杂度 T(n) = O( f(n) ) , 算法复杂度用时间来衡量,表现为问题规模n的函数。在实际中我们常常用 ”基本操作“ ”执行的次数“ 来衡量算法复杂度。
算法复杂度有O(1)、O(n)、O(n^2)、O(log(n))、O(2^n)多种形式,分别是一阶、线性、平方、对数、指数。
算法的复杂度有时候不是定值,比如排序算法,根据输入数据的不同,原操作执行的次数就不一样。一般我们按照最坏的情况来计算算法复杂度。
空间复杂度 S(n) = O( F(n) )
原文链接:https://www.f2er.com/datastructure/382635.html