终于开始数据结构了qwq!其实之前也断断续续看了一点。。但是也没记笔记什么的。。哎,继续加油吧!!
目录
I. 算法
※程序未必是算法!!!※
①好算法
※效率最重要!※
②好的计算→高效
计算好=数据结构好+算法好
II. 计算模型
①算法分析
②图灵机( TM: Turing Machine )
❀有无限空间要件→无限长纸带+有限字母表+读写头+有限种状态
❀要件→无限长纸带+有限字母表+读写头+有限种状态
③RAM(Random Access Machine )
❀有无限空间
III. 大O记号
O:大于;Θ:介于;Ω:小于
PS.大O用的最多
①算法复杂度
最快的是O(1)
②级数
算术级数:与末项平方同阶;
幂方级数:比幂次高一阶;
几何级数(a>1):与末项同阶;
※起泡排序→经过k轮扫描交换后,问题规模缩减为n-k
IV. 迭代与递归
①减而治之
递归实例分别是:1个规模为n的实例、1个规模为n-1的实例、1个规模为n-2的实例、...,共有n个
※递归跟踪
②分而治之
递归实例分别是:1个规模为n的实例、2个规模为n/2的实例、4个规模为n/4的实例、...,共有1+2+4+8+...+n个
※当sum(A,n)调用sum(A,n-1)时,sum(A,n)函数中的数据以“函数帧”的形式被压入一个栈中,并没有处于执行状态
※“递归基“是递归函数的一种平凡情况,只有有递归基,递归才不会一直进行下去。
※两个递归基 → 问题规模缩减为0或1时,停止递归
V. 动态规划
eg.斐波那契数列fib(n)
1)递归版→低效的根源在于,各递归实例均被大量重复地调用
时间复杂度:
2)迭代版
时间复杂度 空间复杂度
恭喜看到这的小伙伴,你已经完成绪论的学习了~!
下面进入向量吧(★ ω ★)→
有用的话就点赞评论收藏嗷!!