第一篇博客:对插入排序和归并排序算法时间复杂度的学习
2018-03-01 23:01
190 查看
第一次写博客,心情难免有点忐忑,不过为了达到心中的小目标,尽可能的用有效率的方法去提升自己。废话不多说,下面进入正题。
刚看了网易公开课里的《 麻省理工学院公开课:算法导论》,受益颇深!国外学校的讲课方式确实更有趣味和深度(或许因为在学校压根没听进去过几节课),在评判一个软件的时候,有很多因素是比程序的性能让人更看重的,比如安全性,可扩展性,稳定性,以及近期越来越重要的用户友好性( user friendiness)等等。但是性能依旧被看重的原因是以上的那些稳定性等因素的实现,都是建立在良好的性能之上的。而在纷繁复杂的计算机语言中,算法的思想是不变的。而一个程序员无论在哪一个计算机专业领域上,算法依旧是傍身的法宝。(以上全是拾人牙慧)
插入排序:
原理:
每次处理就是将无序数列的第一个元素与有序数列的元素从后往前逐个进行比较,找出插入位置,将该元素插入到有序数列的合适位置 中。
时间复杂度:
对于每一个元素比较的次数是 θ(j)(j表示当前数组位置)总时间T(n)=从第二项开始到最后一项对其进行求和(称为算数级数)=θ(n^2)。
归并排序:
原理:
相关文章推荐
- 【python学习】新式类和经典类——第一篇博客
- 循序渐进带你学习时间复杂度和空间复杂度。
- 排序算法之 插入排序、希尔(shell)排序 及其时间复杂度和空间复杂度
- 第一篇博客 学习markdown
- 循序渐进学习时间复杂度
- 一步一步学习数据结构(1)-时间空间复杂度
- 【学习笔记】python版选择排序和插入排序及时间复杂度分析
- 第一篇博客——从《第一行代码》学习笔记开始
- 数据结构与算法学习笔记——算法的时间和空间复杂度
- 给大家推荐一些学习android的书籍(第一篇博客)
- 学习了一下如何计算时间复杂度
- 不错的学习博客,有时间看看
- 递归调用与时间复杂度的学习总结
- 第一篇个人博客,仅为记录学习的历程,点点滴滴。
- 每天学习一算法系列(3)(设计包含min函数的栈,要求函数min、push以及pop的时间复杂度都是O(1))
- 学了有段时间了,只有做过笔记和云笔记,现在开始把学习和未来工作中遇到的好资料都保存到博客了.用了CSDN博客瞬间感觉自己Hacker了.哈哈
- 作业:递归实现插入排序和在o(nlgn)时间复杂度内寻找和为定值的两个元素
- 【算法导论学习-008】算法时间复杂度的计算
- 这是我的第一篇博客,技术含量相当低下,不过我会随着时间慢慢买成长,加油,为我们自己!
- java学习之时间复杂度