数据结构复习一 来自小灰漫画算法
书籍:github可搜到
算法概述和数据结构基础和树
算法与数据结构
算法:一系列程序指定,用于解决特定的运算和逻辑问题
算法的应用:运算(如大数运算避免变量溢出) ,搜索,排序,最优决策等
数据结构:数据组织、管理和存储的格式,目的是为了高效访问和修改数据
数据结构组成:
线性结构(数组,链表,栈、队列)
树
图
其他:跳表、位图、哈西链表
算法与数据结构relationship:
不同算法选用不同数据结构,如堆排序使用二叉堆
时间复杂度和空间复杂度
代码 的 运行时间 和 运行空间
时间复杂度
收到运行环境与输入规模影响,代码绝对执行时间无法估计,但是可以估计代码基本操作执行次数(执行次数与输入规模呈线性、对数、常量、多项式…)
时间复杂度:将相对执行时间函数简化为一个数量级,比如n,n方等
运行时间是常数量集,则用常数1表示
只保留时间函数的最高阶项
如果最高阶存在,省去最高阶项前面的系数
比较高效算法和低效算法差异(时间复杂度),在数据量随规模增长时,差异可以达到天差地别
空间复杂度
场景:运行程序时,需要存储一些中间的程序,一边后续指令更加方便进行
空间复杂度是对算法运行过程中临时占用空间大小的亮度
空间复杂度常有以下类型:常量空间、线性空间、二位空间、递归空间、
二叉树
二叉堆
原文地址:https://blog.csdn.net/weixin_38235865/article/details/136331828
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!