《数据结构》学习笔记--第一章绪论
2015-06-23 14:40
585 查看
《数据结构》学习笔记------第一章绪论------主要是对一些概念的梳理
数据结构 = 数据元素 + 数据关系 = 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) )
数据结构 = 数据元素 + 数据关系 = 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) )
相关文章推荐
- [数据结构]纸牌游戏——小猫钓鱼
- [数据结构]队列之顺序队列的类模板实现
- 递归与回溯:八皇后问题
- 数据结构学习之二叉树(面试易考题整理)
- 数据结构基础温故-1.线性表(上)
- 线性表-链表-数据结构java版
- 线性表-顺序表-数据结构java版
- 数据结构
- (数据结构)顺序表的建立,增删查改
- 数据结构基础(5)--队列和循环队列详解--静态方式
- 数据结构-图的遍历
- 数组实现栈的数据结构
- 函数类型的数据结构
- 二叉查找树(二叉排序树)的详细实现
- Android 打造任意层级树形控件 考验你的数据结构和设计
- 数据结构之线索二叉树
- [数据结构]栈之链式栈的类模板实现
- 数据结构——树
- 数据结构之图(存储结构、遍历)
- [数据结构]八数码(暴力,解答树,BFS+hash)