算法导论(1)

循环不变式主要用来理解算法的真确性;

有三个必须证明的性质:

初始化:循环的第一次迭代之前,它为真,

保持:如果循环的某次迭代之前它为真,那么下次迭代之前它仍为真,

终止:在循环终止时,不变式为我们提供一个有用的性质,该性质有助于证明算法是真确的。


分析一个算法时,需要一个实现技术的代价,包括描述所用资源及其代价的模型。


RAM模型:

均匀的空间耗费:是指计算中曾经使用过的寄存器的总数。均匀的时间耗费是指自始自终被执行的指令和转移的总条数。

对数耗费:此时空间耗费指计算中普通寄存器存过的自然数的最大长度之和。时间耗费则指被执行的每条指令的时间耗费之和。而一条指令的时间耗费则被认为与被运算的自然数的长度成正比的。对于RAM,还可以定义巡回(虚拟的并行时间)。它是计算中周相的总数,而一个周相则是 RAM工作的一个阶段,在此阶段中,没有任何一个普通寄存器先被写入然后又被读出。


通常把一个程序的运行时间描述成其输入规模的函数。

输入规模的最佳概念依赖于研究的问题。

代价可以抽象为运行时间的增长量级或增长率。


分治法:

(1)分解原问题为若干子问题,这些子问题是原问题的规模较小的实例;

(2)解决这些子问题,递归地求解各子问题。然而若子问题的规模足够小,则直接求解。

(3)合并这些子问题的解成原问题的解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值