08 2017 档案

摘要:主要参考资料 : 算法导论 1:时间复杂度介绍 对于包含n个数的输入数组来说,快速排序是一种最坏情况时间复杂度为O(n2)的排序算法.虽然最坏情况时间复杂度很差,但是快速排序通常是实际排序应用中最好的选择,因为它的平均性能非常好:它的期望时间复杂度是O(nlgn).而且O(nlgn)中隐含的常数因子 阅读全文
posted @ 2017-08-23 09:53 SnailsCoffee 阅读(634) 评论(0) 推荐(0) 编辑
摘要:优先队列作为堆排序的高级应用具有十分广泛的应用场景,其中一个就是在共享计算机系统的作业调度。最大优先队列记录将要执行的各个作业以及它们之间的相对优先级. 当一个作业完成或者被中断后,调度器调用 EXTRACT-MAX 从所有的等待作业中,选出具有最高优先级的作业来执行。 在任何时候,调度器可以调用  阅读全文
posted @ 2017-08-22 09:42 SnailsCoffee 阅读(550) 评论(0) 推荐(0) 编辑
摘要:堆是一个数据结构,可以看作是一个数组,并且具有完全二叉树的性质,每个结点都对应一个数组的元素。 堆和数组对应的关系类似于一种层序排列。 比如:对于数组 A= {27,17,16,13,10,1,5,7,12,14,8,9} A数组在堆中表现的情况如下 1:各结点之间的性质 对于根节点从 0 开始的一 阅读全文
posted @ 2017-08-21 20:43 SnailsCoffee 阅读(501) 评论(0) 推荐(0) 编辑
摘要:转载申明:本文主要是用于自己学习使用,为了完善自己的只是框架,没有任何的商业目的。 原文来源:有关Java中两个整数的交换问题 如果侵权,麻烦告之,立刻删除。 在程序开发的过程,要交换两个变量的内容,是一种比较常见的事情。在排序算法中,就有一种就叫做“交换排序法”。在所有的排序算法,交换要排序的集合 阅读全文
posted @ 2017-08-15 22:21 SnailsCoffee 阅读(1059) 评论(0) 推荐(0) 编辑
摘要:归并排序的基本思路利用分治方法解决。 分治模式的每一层递归都有三个思路: 分解原问题为若干子问题,这些子问题是原问题的规模较小的实例。解决这些子问题,递归地求解各子问题。然而,若子问题的规模足够小,则直接求解.合并这些子问题的解成原问题的解。 归并排序算法完全遵循分治模式。直观上其操作如下:分解:分 阅读全文
posted @ 2017-08-07 20:31 SnailsCoffee 阅读(398) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示