算法
文章平均质量分 78
lemonsoftpku
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java实现快速排序
快速排序的基本思想: 通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分关键字小,则分别对这两部分继续进行排序,直到整个序列有序。 先看一下这幅图: 把整个序列看做一个数组,把第零个位置看做中轴,和最后一个比,如果比它小交换,比它大不做任何处理;交换了以后再和小的那端比,比它小不交换,比他大交换。这样循环往复转载 2015-01-13 23:13:16 · 321 阅读 · 0 评论 -
调整数组顺序使奇数位于偶数前面 Java实现
/** * * 调整数组顺序使奇数位于偶数前面 * */ public class AdjustOrder { public void adjust(int []a){ //指向数组第一个元素 int i = 0; //指向数组最后一个元素转载 2015-01-14 16:20:48 · 421 阅读 · 0 评论 -
冒泡算法
前面实现了快速排序算法,其实这个算是难点的,如果是无序打乱的,用快速排序比较好。冒泡排序是从我们刚接触编程到找工作面试经常能遇见到的,虽然它的效率并不高,但是很重要,不知道你忘记怎么实现了没有? 首先看一下冒泡排序的实例图: 冒泡排序的过程很简单,就是将第一个记录的关键字和第二个记录的关键字进行比较,如果后面的比前面的小则交换,然后比较第二个和转载 2015-01-13 23:15:59 · 392 阅读 · 0 评论 -
Java实现堆排序
堆排序 堆排序是另一种选择排序方法,它是树型选择排序的改进,它使用的辅助空间较少,仅需要一个元素用于空间交换。 堆:根结点的关键码值或者大于左右子树或者都小于左右子树,而且左右子树也是堆。 如果每个结点的值都大于左右子树关键码值,称之为大顶堆。每个结点的值都小于左右子树的关键码值,称之为小顶堆。 首先,堆是一个完全二叉树。堆排序包含两个过程: (1)初建堆 (2转载 2015-01-15 23:46:06 · 583 阅读 · 0 评论
分享