算法导论学习1
来源:互联网 发布:淘宝情趣内衣真人秀 编辑:程序博客网 时间:2024/04/28 08:24
第一章:算法在计算中的作用
算法的定义:简单的说就是定义良好的计算过程,由输入得到输出!
算法的作用:应用非常广泛,许多问题都涉及到算法!
算法的重要性:是否拥有扎实的算法知识和技术基础,是区分真正熟练的程序员与新手的一项重要特征。
第二章 算法入门
学习算法的目的,不仅仅是很快理解算法然后编出相应的程序,很重要的一点是算法的设计上面,因为设计算法要考虑到比如时间复杂度,空间复杂度等因素,而会不会正确分析,事先估计算法的这些因此,也是非常重要的,这也是算法导论这本书重点介绍的一个内容!
2.1 插入排序
插入排序是对少量元素进行排序的有效算法!插入排序的关键在于,还是利用原来的数组,进行增量排序,首先通过比较后面的元素与已经排好顺序的数组的元素,将当前比较的元素插入到适当的位置,插入的过程其实就是移动数组元素的过程!
其实现程序如下:
循环不变式和插入排序的正确性分析:
循环不变式的性质:
(1)初始化:在第一轮循环之前,应该正确。在第一次循环之前,已经排列好的子数组A[1],当然正确。
(2)保持:如果循环的某一次迭代开始前正确,那么下一次迭代开始前也应该是正确的。下标j代表要插入的元素,在每一次循环结束后,内循环代表的子数组的元素按照顺序排列好,外循环剩余的元素则是剩余没有排好顺序的,整个数组的元素也是不变的,当然除了顺序!因此可以保持在循环迭代过程中的这个性质。
(3)终止:循环全部结束后,数组已经全部排列好顺序!
- 算法导论学习1
- 算法导论学习1
- 算法导论学习笔记-1
- 算法导论学习1--排序
- 算法导论学习笔记--1--分治排序
- 算法导论学习笔记(1)
- 算法导论学习笔记-1-4章
- 学习算法导论的经历(1)
- 算法导论学习笔记 -(1)
- 《算法导论》学习笔记之Chapter5.1
- 学习算法导论
- 算法导论学习2
- 算法导论学习3
- 学习算法导论
- 算法导论学习
- 《算法导论》学习笔记
- 《算法导论》学习笔记
- 算法导论学习开篇
- 《FPGA管脚分配注意问题》摘要
- 功能强大的Regsvr32命令
- ibatis 一对多关联
- Dom4J学习XML读写更新
- 安装 Groovy和简单使用
- 算法导论学习1
- hdu 2719
- flex 性能优化
- GDI编程小结
- svn删除那些文件,每次提示属于用户名密码
- 嵌套loop性能优化
- Game Of Life 中细胞规则LifeScan实现
- “Windows Media Services服务因2147500037(0x80004005)服务性错误而停止”的解决方法
- MAC内核编程指南-安全注意事项