快速排序(v 1.0)》的相关内容

各种数组排序方法总结

前一段时间面试,经常遇到有关排序的面试题,闲了无事,将各种排序方法用java写了一下。 代码如下: import java.lang.Math; import java.util.Random; /** * 排序 * * @author javajack */ public class OrderTest { public static void mai ...
by javajack 2008-09-05 浏览 (506) 回复 (5) 关键字:

排序研究一

  排序是数据结构中重要的一个部分,也是在实际开发中最易遇到的问题之一,当然了,你也可以不考虑这些排序的算法,直接把要排序的数据insert到数据库中,用数据库的order by 再select一下,也能产生排序结果,不过,开发一个好的系统,性能同样很重要。   在一堆数据中,是比较的执行耗时多,还是复制交换的执行耗时比较多,大量数据比较时,是否会有内存限制等等,在综合这些因素后,我们选择适当的 ...
by jerryinside 2006-11-06 浏览 (12855) 回复 (20) 关键字: java

艾格瑞哲姆攻击第二波,有兴趣的人便来战吧!

嗯嗯,我想大家都知道二叉排序树是怎么回事吧?而且大家也都知道二叉树的前序、中序、后序遍历是怎么一回事吧?不知道的人自己回去翻书。OK,那么现在题目是这样的: 引用已知有一棵二叉排序树,其中保存了 n 个互不相同的元素,且左子树中的元素小于根小于右子树中的元素。现在给你这棵二叉排序树的前序遍历序列,请你给出一个算法能够把这棵二叉排序树重新构造起来。具体实现不拘,用伪码说明也可以,但是要求: 1、 ...
by Elminster 2005-08-31 浏览 (9420) 回复 (44) 关键字:

来来来,有兴趣的人便来战这算法题吧:

这题是这次 google 的 top coder 的 850 分例题,做过的同学先不要吱声: 引用假设有这样一种字符串,它们的长度不大于 26 ,而且若一个这样的字符串其长度为 m ,则这个字符串必定由 a, b, c ... z 中的前 m 个字母构成,同时我们保证每个字母出现且仅出现一次。比方说某个字符串长度为 5 ,那么它一定是由 a, b, c, d, e 这 5 个字母构成,不会多一个 ...
by Elminster 2005-08-14 浏览 (23610) 回复 (61) 关键字:

算法分析之分治法总结(二)

3)分类和合并同时进行 典型事例 快速排序:(以整数类型为例) 快速排序的思想是,对于输入,按照以下二个步骤进行排序 对于数组a[p:r] 1)分解(其实包括合并过程):以a[p]为基准将数组分成三段a[p:q-1]、a[q]、a[q+1:r]使得a[p:q-1]中的任意元素都小于等于a[q],a[q+1:r]中的任意元素都大于等于a[q]. 2)递归求解:通过递归调用快速排序,分别完成a[p:q ...
by fuliang 2007-04-09 浏览 (1541) 回复 (0) 关键字:

快速排序(v 2.0)

取中间的元素s作比较,同样的先得往右找比s大的索引 i,然后往左找比s小的索引 j,只要两边的索引还没有交叉(也就i=j),就交换 i 与 j 的元素值。这里不用再进行轴的交换,因为在寻找交换的过程中,轴位置的元素也会参与交换的动作,轴已经成为一个抽象的概念,代表的是一个数值而已。 public static void QuickSort(int[] number) { QuickSo ...
by love2java 2008-05-13 浏览 (199) 回复 (0) 关键字: 良葛格排序算法

快速排序(v 3.0)

前面选的轴为左边和中间,当然,这次的轴为数组的最右边,先看看吧。 /* * 1, 以最右边的数s为比较的标准; * 2, 未处理完毕的数组分为四个部分,从左到右依次为小于s的部分,大于s的部分,未比较部分和最右的s; * 3, 小于s的部分最大下标是i;大于s的部分最大下标是j,刚开始时i为-1,j为0; * 4, 在排序的过程中,一发现不大于s的数,i++,并将原i位置的数 ...
by love2java 2008-05-13 浏览 (121) 回复 (0) 关键字: 良葛格排序算法

快速排序

void quickSort(int[] pDataNum, int left, int right) { int i, j; int iTemp, middle; i = left; j = right; middle = pDataNum[(left + right) / 2];//取数组中间的元素作为比较值 do { //从数组左边元素开始与比较值(middle ...
by lizwjiang 2007-06-11 浏览 (500) 回复 (0) 关键字:

快速排序

快速排序的基本思路: 1)获取排序集合的中位置在中间的数据 2)把左侧数据中大于中间数据的数放置右侧,而右侧数据小于中间数据的数放于左侧 3)将左侧最后一个置换数据的位置与排序的起始位置之间的数据集合再次进行快速排序(递归) 4)将右侧最初的一个置换数据的位置与排序的终止位置之间的数据集合再次进行快速排序(递归) 方法如下: /** *  快速排序(升序) *  ...
by wangyun 2008-05-16 浏览 (87) 回复 (0) 关键字: 递归

排序【快速排序】

快速排序: 设定一个枢纽的值,一般以首个元素的值为枢纽的值,把比枢纽小的元元素放在左边,比枢纽值大的元素放在右边,最后把枢纽的值放到合适的位置。根据返回枢纽的位置,对以上过程进行递归。 /** * EnhancedQuickSort.java * * 快速排序 * * @author Administrator */ public class QuickSo ...
by thingkau 2008-08-31 浏览 (29) 回复 (0) 关键字: 快速排序 || 递归

帮忙看哈这段代码

import std.stdio; import std.string; int[] range(int start,int end) { int[] arr;     for(int i=start;i<end;i++) { arr~=i; } return arr; } int onetotal(int start,int end) { int ...
by honglang13 2008-03-31 浏览 (543) 回复 (11)

数据结构的实现(持续完整中)

节点类 package graph; public class GraphNode { public GraphNode link; public int info; }
by leon_a 2007-06-25 浏览 (1598) 回复 (19)

骑士聚会(《程序员》的算法擂台)

在8×8的棋盘上分布着n个骑士,他们想约在某一个格中聚会。骑士每天可以像国际象棋中的马那样移动一次,可以从中间向8个方向移动,请你计算n个骑士的最早聚会地点和要走多少天,要求尽早聚会,且n个人走的总步数最少,先到聚会地点的骑士可以不再移动等待其他的骑士。 从键盘输入n(0<n<=64),然后一次输入n个其实的初始位置xi,yi(0<=xi,y<=7)。屏幕输出以空格分割的三 ...
by snowind9 2007-09-06 浏览 (1241) 回复 (16)

一些乱七八糟的东西

堆排序(利用最大堆) package heap; import java.math.BigInteger; /** * 最大堆最小堆性质: * 完全二叉树 * left=2i; * right=2i+1; * 最大堆:除根节点外,子节点<父节点 * 最小堆:除根节点外,子节点>父节点 * 堆排序算法复杂度:o(n*lgn) * * @au ...
by leon_a 2007-08-30 浏览 (578) 回复 (7)

F#程序设计语言初步(下)

F#源文件 你将会看到已经加入了一个新文件。打开该文件,将会显示F#模板中充满了作为简单指南的代码。 尽管本文只对F#作简单介绍,但我们将会看一段简单的代码:斐波那契数列生成器,这是一个了解函数式编程的相当标准的基本程序。 我们将会使用斐波那契数列的标准定义。fib函数代码来自F#手册。下面是我们的简短小程序(列表A): 列表 A // A Fibonacci Sequence gene ...
by kimmking 2008-09-13 浏览 (43) 回复 (0)

基于Spindle的增强HTTP Spider

构建于lucene之上的可用的Java开源Spider少之又少,spindle长期没有更新且功能不够完善,故而自己参考其源 代码重新编写了一个可扩展的WebCrawler,本着开源共享,共同进步的想法发布于此,期冀得到大家的批评指正, 有任何意见及建议均可Email联系我(kaninebruno@hotmail.com)    以下代码基于lucene-2.3.1,htmlp ...
by brunoplum 2008-04-01 浏览 (1823) 回复 (7) 关键字: spindle

相关问答

赞助商链接