- 浏览: 319213 次
- 性别:
- 来自: 西宁
文章分类
- 全部博客 (120)
- Java Thought (29)
- Java Pattern (4)
- Data Base (7)
- Algorithm Design (33)
- Linux (0)
- Mysql (2)
- Oracle (0)
- ConstructionDesign-架构 (5)
- Spring Platform (0)
- Tomcat (1)
- JavaScript (7)
- Web System (3)
- MS SQLServer (1)
- 软件哲学 (6)
- View (3)
- Java GUI (4)
- CSSDIV (7)
- CloudComputing (0)
- WebService (0)
- SystemOrProject (2)
- SOA (0)
- 互转共享 (3)
- 偶尔java习题 (0)
- Thinks with does (1)
最新评论
-
sassds:
佩服啊 高手
分享一款js特效 -
bhjackson:
学习啦,能否详细介绍下回溯的过程?O(∩_∩)O谢谢
分享回溯法- 找n个数中r个数的组合 -
zk7019311:
了解了解。。。。。
业务层代码复用的一点建议 -
lijie1819:
看到LZ的设计思想,感觉和抽象工厂模式有点相像。
业务层代码复用的一点建议 -
wjjcml1982:
酷毙了!楼主太强悍了!
分享一款js特效
package boke.sort; /** * 快速排序 * * @since jdk1.5及其以上 * @author 毛正吉 * @version 1.0 * @date 2010.05.24 * */ public class QuickSort2 { /** * @param args */ public static void main(String[] args) { int maxSize = 10000; QuickSort2 bs = new QuickSort2(maxSize); for (int i = 1; i <= 100; i++) { int v = (int) (Math.random() * 101); bs.insert(v); } bs.output(); // 原始输出 bs.quickSort(); // 排序 bs.output(); // 排序输出 } private long[] a; // 整型数据容器 private int nElems; // 元素个数 /** * 构造方法 * * @param maxSize */ public QuickSort2(int maxSize) { a = new long[maxSize]; nElems = 0; } /** * 容器放入数据 * * @param value */ public void insert(long value) { a[nElems++] = value; } /** * 输出容器数据 */ public void output() { for (int j = 0; j < nElems; j++) { System.out.print(a[j] + " "); } System.out.println(""); } /** * 快速排序 */ public void quickSort() { recQuickSort(0, nElems - 1); } /** * 快速排序 * * @param left * @param right */ private void recQuickSort(int left, int right) { int size = right - left + 1; if (size <= 3) { manualSort(left, right); } else { long median = manualOf3(left, right); int partition = partitionIt(left, right, median); recQuickSort(left, partition - 1); // 左段排序 recQuickSort(partition + 1, right); // 右段排序 } } /** * * @param left * @param right * @return */ private long manualOf3(int left, int right) { int center = (left + right) / 2; if (a[left] > a[center]) { // 排序: left & center swap(left, center); } if (a[left] > a[right]) { // 排序: left & right swap(left, right); } if (a[center] > a[right]) { // 排序: center & right swap(center, right); } swap(center, right - 1); return a[right - 1]; } /** * * @param left * @param right */ private void manualSort(int left, int right) { int size = right - left + 1; if (size <= 1) { return; } if (size == 2) { if (a[left] > a[right]) { swap(left, right); } return; } else { if (a[left] > a[right - 1]) { swap(left, right - 1); // left,center } if (a[left] > a[right]) { swap(left, right); // left, right } if (a[right - 1] > a[right]) { swap(right - 1, right); // center, right } } } /** * 快速排序 * * @param left * @param right * @param pivot * @return */ private int partitionIt(int left, int right, long pivot) { int leftPtr = left; int rightPtr = right - 1; while (true) { while (a[++leftPtr] < pivot) { ; } while (a[--rightPtr] > pivot) { ; } if (leftPtr >= rightPtr) { break; } else { swap(leftPtr, rightPtr); } } swap(leftPtr, right - 1); return leftPtr; } /** * 交换 * * @param leftPtr * @param rightPtr */ private void swap(int leftPtr, int rightPtr) { long temp = a[leftPtr]; a[leftPtr] = a[rightPtr]; a[rightPtr] = temp; } }
发表评论
-
开散列的简单模拟(一)
2010-06-28 08:33 17821. 散列 散列有两种 ... -
递归和动态规划构造两个字符序列的最长公共字符子序列
2010-06-28 08:28 4464应je朋友要求,所以翻开以前的算法题目,整理了以下,给 ... -
最大公约数的应用 - 分享
2010-06-25 08:08 17861.先看一家大公司笔试题 数组中有n个数据,要将它们顺 ... -
信息数字化解逻辑题分享
2010-06-21 08:09 12221. 前提条件: 将逻辑题目中的信息用数字化描述。 ... -
递归算法分析-分享
2010-06-19 16:09 15281. 深入认识递归 (1) 递 ... -
非递归算法分析实例分享
2010-06-18 15:47 10131 仅仅依赖于问题规模的时间复杂度 (1) 例1: 交换i和 ... -
NP完全性问题
2010-06-18 14:02 6968在学习算法设计与分析时,经常会提到NP完全性问题,到底 ... -
算法分析精述分享
2010-06-18 12:03 8211. 算法分析的评价体系 评价算法的三条主要标准是: ... -
贪婪策略算法的总结分享
2010-06-11 08:30 59761. 贪婪算法描述 贪婪算法又叫登山法,它的根本思想是 ... -
带权有向图 - 边上权值非负情形的单源最短路径问题
2010-06-07 08:57 26351. 问题描述: 给定 ... -
是否很久没抽象和逻辑了呢? DODO它吧(很基础)四
2010-06-07 08:54 132321. 工作分配问题。 ... -
是否很久没抽象和逻辑了呢? DODO它吧(很基础)三
2010-06-07 08:53 105017. 字符统计问题。 编写一个算法,统计在一个输入 ... -
是否很久没抽象和逻辑了呢? DODO它吧(很基础)二
2010-06-07 08:47 13278. 数字迷问题。 A B C ... -
是否很久没抽象和逻辑了呢? DODO它吧(很基础)一
2010-06-07 08:38 11331. 线程问题。 设计4个线程,其中两个线程每次对j增加 ... -
是否很久没抽象和逻辑了呢? DODO它吧(很基础)
2010-06-07 08:37 18371. 线程问题。 设计 ... -
Java快速排序算法整理(一)
2010-05-31 13:39 630package boke.sort; /** * 快 ... -
Java最小堆实现
2010-05-31 08:29 58051.堆结点 package boke.heap1; /* ... -
Java插入排序代码整理
2010-05-28 14:44 1213package boke.sort; /** * 插 ... -
Java选择排序代码整理
2010-05-28 14:37 1479package boke.sort; /** * 选 ... -
Java冒泡排序代码整理
2010-05-28 14:26 1931Java冒泡排序代码整理: package boke.sor ...
相关推荐
文档包含以下内容: 一 插入排序 二 冒泡排序 三 选择排序 四 Shell排序 五 快速排序 六 归并排序 七 堆排序 八 桶式排序 九 基数排序
九种排序算法及其测试程序(java版)本人耗时三天整理而成,绝对精典。记忆技巧:"冒择路(入)兮(希)快归堆+桶基" 冒泡、选择、插入、希尔、快速、归并、堆、桶式、基数。
网上关于快速排序的算法原理和算法实现都比较多,不过java是实现并不多,而且部分实现很难理解,和思路有点不搭调。所以整理了这篇文章。如果有不妥之处还请建议。
算法分类:排序算法(如冒泡排序、快速排序、归并排序),查找算法(如顺序查找、二分查找、哈希查找),图论算法(如Dijkstra最短路径算法、Floyd-Warshall算法、Prim最小生成树算法),动态规划,贪心算法,回溯法...
算法分类:排序算法(如冒泡排序、快速排序、归并排序),查找算法(如顺序查找、二分查找、哈希查找),图论算法(如Dijkstra最短路径算法、Floyd-Warshall算法、Prim最小生成树算法),动态规划,贪心算法,回溯法...
快速排序是最快的通用排序算法,它的内循环的指令很少,而且它还能利用缓存,因为它总是顺序地访问数据。它的运行时间近似为 ~cNlogN,这里的 c 比其他线性对数级别的排序算法都要小。使用三向切分快速排序,实际...
基本类型数据使用快速排序法,对象数组使用归并排序。 String,StringBuffer和StringBuilder的区别; 解答: Object的方法有哪些:比如有wait方法,为什么会有; 解答: wait和sleep的区别,必须理解!!! 解答: 强...
无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小。如果是数字,我们可以直接比较,但如果是字符串或者两个对象呢?直接比较数学上的大小是没有意义的,因此,比较的过程必须通过函数抽象出来。通常...
根据官网和网上分享的代码自己整理了一个阿里云OSS工具类,自动创建标准公开权限的存储空间,支持上传图片,音频,视频,PDF各种文件,批量上传,上传后支持在线预览,文件路径处理,浏览器文件下载(支持源文件中文...
关于java程序员发展需要学习的路线整理集合 技术 应用技术 计算机基础知识 cpu mem disk net 线程,进程 第三方库 poi Jsoup zxing Gson 数据结构 树 栈 链表 队列 图 操作系统 linux 代码控制...
并根据自己的理解重新进行了整理本文持续更新中本文收录于一、计算机基础1、数据结构(1)基本数据结构数据结构基本概念(时间复杂度和空间复杂度的计算方法)数组链表集合队列栈关联数组跳表倒排索引BitSet(2)树...
算法分类:排序算法(如冒泡排序、快速排序、归并排序),查找算法(如顺序查找、二分查找、哈希查找),图论算法(如Dijkstra最短路径算法、Floyd-Warshall算法、Prim最小生成树算法),动态规划,贪心算法,回溯法...
快速排序: 随机枢纽元快排、三路快排、三数中值快排 归并排序: 自顶向下归并、自底向上归并、链表的归并排序 堆排序: 下沉构建堆、赋值确定位置下沉 二分查找: 查找第一次后最后一次出现位置、查找大于小于给定值...
数据结构与算法的要点汇总,包括副本,链表,栈,变量,二分查找,排序...不断更新中(每周至少更新一个知识点)... 正文 2 ,问题 目录 谈话很便宜,请告诉我代码。 算法练级计划核心部分,通过编码,提高代码能力...
此外,还包括了常用的数据结构算法,如查找、排序和遍历等。该资源以简明易懂的方式呈现,旨在帮助读者快速掌握数据结构的基本理论和实际运用。 适用人群: 该资源适用于计算机科学、软件工程、数据科学等相关专业的...
ASP.NET2.0 快速入门 ----默认中的主题外观 数据库开发 ADO.NET 通过DataTable获得表的主键 ADO.NET 2.0 操作实例 ADO.NET 2.0 大批量数据操作和多个动态的结果集 ADO.NET 2.0 异步处理 在ASP.NET中使用WINDOWS验证...
则需要进行全表扫描, 以便将数据按照所定义的语言排序进行整理。 值范围: BINARY 或有效的语言定义名。 默认值: 从 NLS_LANGUAGE 中获得 nls_territory: 说明: 为以下各项指定命名约定, 包括日期和星期的编号, ...
重新整理所有官方支持库的静态库,有望彻底解决链接时可能出现的符号冲突 5. 全面取消静态编译中的人为功能限制(此前有最多5个支持库同时参与静态链接等功能限制) 6. 公开易语言静态编译技术文档(参见sdk\...