您的位置:首页 > 其它

第一篇博客:对插入排序和归并排序算法时间复杂度的学习

2018-03-01 23:01 190 查看

    第一次写博客,心情难免有点忐忑,不过为了达到心中的小目标,尽可能的用有效率的方法去提升自己。废话不多说,下面进入正题。

    刚看了网易公开课里的《 麻省理工学院公开课:算法导论》,受益颇深!国外学校的讲课方式确实更有趣味和深度(或许因为在学校压根没听进去过几节课),在评判一个软件的时候,有很多因素是比程序的性能让人更看重的,比如安全性,可扩展性,稳定性,以及近期越来越重要的用户友好性( user friendiness)等等。但是性能依旧被看重的原因是以上的那些稳定性等因素的实现,都是建立在良好的性能之上的。而在纷繁复杂的计算机语言中,算法的思想是不变的。而一个程序员无论在哪一个计算机专业领域上,算法依旧是傍身的法宝。(以上全是拾人牙慧)

    插入排序:

        原理:

         

         每次处理就是将无序数列的第一个元素与有序数列的元素从后往前逐个进行比较,找出插入位置,将该元素插入到有序数列的合适位置  中。

        时间复杂度:

            对于每一个元素比较的次数是 θ(j)(j表示当前数组位置)总时间T(n)=从第二项开始到最后一项对其进行求和(称为算数级数)=θ(n^2)。


    归并排序:

        原理:






阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: