第二章 算法基础

2.1插入排序

伪代码:最清晰,最简短的表示方法来说明给定的方法。目的是为了表达算法的本质,常常忽略数据抽象、模块性、和错误处理的问题


自己:何为表达算法的本质?算法的本质在于计算的步骤的有序性和明确性。


循环不变式:用来帮助我们理解算法的正确性。它拥有三条性质:base case为真,recursive step为真,final step 为真


自己:在C语言编程(不知道其他对象编程或过程编程是不是)中有三种语言结构,循环,顺序和判断,顺序和判断都容易判断程序的正确性,而循环只好靠循环不变式来证明一些性质,进而证明程序的正确性


2.2 分析算法

硬件模型:RAM


自己:为了简化对算法的分析,使算法分析独立与机器之外


输入规模:依赖于研究的问题


自己:具体问题具体分析


算法的运行时间:执行的基本操作数或步数。每行代码就是一步


自己:简化了模型,使算法分析更为简单


算法分析更简化的抽象:我们真正感兴趣的事运行时间的增长率或增长量级


自己:抽象都这种层次,就相当于渐进分析。实际上,抽象是一种技术,也是一种思想,它简化了模型,使分析更为简单。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值