huangfox

冰冻三尺,非一日之寒!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2012年6月29日

摘要: 一)选择排序定义选择排序(Selection Sort)的基本思想是:每一趟从待排序的记录中选出关键字最小的记录,顺序放在已排好序的子文件的最后,直到全部记录排序完毕。常用的选择排序方法有简单选择排序和堆排序。二)简单选择排序的实现(java)package com.fox;import java.util.Random;public class SelectionSort { public static void sort(int[] a) { for (int i = 0; i < a.length; i++) { int min = a[i]; int loc = i; f... 阅读全文
posted @ 2012-06-29 11:23 huangfox 阅读(293) 评论(0) 推荐(0) 编辑

摘要: 一)定义快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。(1) 分治法的基本思想分治法的基本思想是:将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些子问题,然后将这些子问题的解组合为原问题的解。(2)快速排序的基本思想设当前待排序的无序区为R[low..high],利用分治法可将快速排序的基本思想描述为:①分解:在R[low..high]中任选一个记录作为基准(Pivot),以此基准将当前无序区划分为左、右两个较小的子区间R[low..pivotpos-1)和R 阅读全文
posted @ 2012-06-29 11:05 huangfox 阅读(502) 评论(0) 推荐(0) 编辑

摘要: 一)定义将被排序的记录数组R[1..n]垂直排列,每个记录R[i]看作是重量为R[i].key的气泡。根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R:凡扫描到违反本原则的轻气泡,就使其向上"飘浮"。如此反复进行,直到最后任何两个气泡都是轻者在上,重者在下为止。冒泡排序属于交换排序,交换排序主要是根据记录的关键字的大小,将记录交换来进行排序的。交换排序的特点是:将关键字值较大的记录向序列的后部移动,关键字较小的记录向前移动。交换排序方法包括冒泡排序和快速排序。二)冒泡排序的实现(java)package com.fox;import java.util.Random;p 阅读全文
posted @ 2012-06-29 08:53 huangfox 阅读(392) 评论(0) 推荐(0) 编辑