算法导论——第一章

 

1.插入排序:将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据(插入的数据排到最后的位置,与前一个数比较,如果顺序是对则不变,否则前移,如此循环,直到所有的数都插入完成)

在这个算法中是哟偶那个到循环不变式,其必须满足三个性质(初始化,保持,终止) Θ(n^2)

2.伪代码约定:缩进风格类似传统的程序,表示其作用范围。while,for,repeat等循环和if,then,else条件格式。△侧三角表示注释。多重赋值i<-j<-e。变量(如i,j,key等)是局部变量在没有显示说明的情况下,都不使用全局变量。数组元素,数组名[下标]。复合数据一般组织成对象,由属性和域组成。布尔运算符号and和or都具有短路能力。

3.RAM模型包含常见的指令:算数指令(加减乘除,取余,向下取整,向上取整)数据移动指令(装入,存储,复制)和控制指令(条件和非条件转移,子程序调用和返回指令)

4.选择排序:每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。选择排序是不稳定的排序方法

5.分治法:将原来问题分解为n个规模较小而与原来问题相似的子问题,递归的解决这些子问题,然后再合并其结果就得到原问题的解。递归式子,T(n)=2T(n/2)+ Θ(n),其中n>1,最后推到其运行时间为 Θnlgn)

6.冒泡排序:依次比较相邻的两个数,将小数放在前面,大数放在后面,重复交换相邻两个反序元素, Θ(n^2)

7.

符号 定义
f(n) = O(g(n)) 渐进上限0f(n) g(n)
f(n) = o(g(n)) 非渐进上限0f(n) b g(n) 对任意正常数b,存在常数no>0
f(n) = Ω(g(n)) 渐进下限 0ag(n)f(n) 
f(n) = ω(g(n)) 非渐进下限,对任意正常数a,存在常数no>0,0ag(n)f(n) 
f(n) = Θ(g(n))

0ag(n)f(n) g(n)

8.斐波那契数,0,1,1,2,3,5,8,13.。。。。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值