随笔分类 -  排序

一些常见的排序算法
摘要:已知数组59、71、37、56、88、96、21、58、48、43 采用快速排序将数组有序。 快速排序同样采用了“分治策略”,使用递归的思路来实现算法。 快速排序的算法思想: 9、71、37、56、88、96、21、58、48、43 数组元素 0、1、 2、 3、 4、 5、 6、 7、 8、 9 阅读全文
posted @ 2019-03-28 23:07 dev1ce 阅读(522) 评论(0) 推荐(0)
摘要:已知数组 79、52、48、51、49、34、21、3、26、23 ,请采用堆排序使数组有序。 “什么是堆” 堆是一颗完全二叉树,N层完全二叉树是一颗,除N-1层外其节点数都达到最大,且第N层子节点全部集中在树的最左侧的二叉树。 其次一般堆采用数组实现。 故其节点有如下关系: 根节点为ROOT:(X 阅读全文
posted @ 2019-03-28 12:31 dev1ce 阅读(165) 评论(0) 推荐(0)
摘要:已知一个数组 15、58、61、75、21、32、89、4、78、83。采用递归实现的归并排序将数组有序。 分治策略:(摘自《算法导论》) 在分治策略中,我们采用递归解决问题 分解:将原问题分解为子问题,子问题与原问题一样,只不过规模更小。 解决:递归的求解子问题,如果子问题足够小,则停止递归,直接 阅读全文
posted @ 2019-03-26 15:57 dev1ce 阅读(506) 评论(0) 推荐(0)
摘要:已知一个数组 9、29、95、47、79、37、18、56、96、22 使用选择排序是数组有序 选择排序同样是一个运行时间为O(N²)的排序算法。 算法思想:(以从小到大为例) 9、29、95、47、79、37、18、56、96、22 数组元素 0、1、 2、 3、 4、 5、 6、 7、 8、 9 阅读全文
posted @ 2019-03-26 13:11 dev1ce 阅读(475) 评论(0) 推荐(0)
摘要:已知一个数组78、75、91、36、72、94、43、64、93、46,使用冒泡排序将此数组有序。 冒泡排序是一个运行时间为O(N²)的排序算法。 算法思想:(已从小到大为例) 78、75、91、36、72、94、43、64、93、46 数组元素 0、 1、 2、 3、 4、 5、 6、 7、 8、 阅读全文
posted @ 2019-03-26 10:56 dev1ce 阅读(246) 评论(0) 推荐(0)
摘要:已知一个数组 60、28、41、39、6 、18 、14、28、49、31 利用插入排序算法进行排序 插入排序是一个运行时间为O(N²)的排序算法。 算法思想 60、28、41、39、6 、18 、14、28、49、31 数组元素 0、 1、 2、 3、 4、 5、 6、 7、 8、 9 数组下标 阅读全文
posted @ 2019-03-26 10:07 dev1ce 阅读(587) 评论(0) 推荐(0)