会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
放羊的白羊座少年
2019年8月30日
基础为技术之本_希尔排序_进阶的插入排序
摘要: 插入排序一个比较耗时的地方在于需要将元素反复后移,因为它是以1为增量进行比较的元素的后移可能会进行多次。一个长度为n的序列,以1为增量就是一个序列,以2为增量就形成两个序列,以i为增量就形成i个序列。 希尔排序可以被认为是简单插入排序的一种改进,希尔排序的思想是,先以一个较大的增量,将序列分成几个子
阅读全文
posted @ 2019-08-30 18:29 放羊的白羊座少年
阅读(104)
评论(0)
推荐(0)
编辑
基础为技术之本_冒泡,简单排序,简单插入排序汇总
摘要: 八大排序算法可以说是最好理解以及嘴简单的排序了,回顾的时候就一起记一下: 简单选择排序:可以说是嘴接近人思维的思路,不用考虑机器累不累的一种方式。每一次都从数组中找到最小的元素与第一个元素交换,然后在从第二个元素以后选取最小的。 能看到无论如何都要执行内外两重循环,所以怎样时间复杂度都是O(n^2)
阅读全文
posted @ 2019-08-30 18:17 放羊的白羊座少年
阅读(151)
评论(0)
推荐(0)
编辑
基础为技术之本_快速排序
摘要: 八大排序之一:快速排序。 快速排序可能是最常被提到的排序算法了,快排的思想是,选取第一个数为基准,通过一次遍历将小于它的元素放到它的左侧,将大于它的元素放到它的右侧,然后对它的左右两个子序列分别递归地执行同样的操作。 不同的排序算法使用的场合也不尽相同,快排虽然总体的平均效率O(nlogn)最好,但
阅读全文
posted @ 2019-08-30 15:58 放羊的白羊座少年
阅读(134)
评论(0)
推荐(0)
编辑
基础为技术之本_时间复杂度汇总
摘要: 在描述算法复杂度时,常用到O(1),O(n),O(logn),O(nlogn),O(n^2)(来表示对应的复杂程度,不过目前大家默认也通过这几个方式表示空间复杂度。 那么,O(1), O(n), O(logn), O(nlogn)就可以看作既可表示算法复杂度,也可以表示空间复杂度。 大O加上()的形
阅读全文
posted @ 2019-08-30 14:23 放羊的白羊座少年
阅读(115)
评论(0)
推荐(0)
编辑
基础为技术之本_重新认识斐波那契数列
摘要: 斐波那契数列,是软件人的一位老朋友了,今天我们就来回顾一下教科书上的写法以及这种写法性能上的弊端?有没有更好的写法? 1.首先,教科书的问法是求斐波那契数列的第N项;写一个函数,输入n,求出第N项目。数列定义如下: 于是接下来就会引申出递归函数的用法,以及代码(c#)实例: 得出结果并没有任何问题。
阅读全文
posted @ 2019-08-30 13:46 放羊的白羊座少年
阅读(388)
评论(4)
推荐(1)
编辑
公告
导航
博客园
首页
新随笔
新文章
联系
订阅
管理