上一页 1 ··· 4 5 6 7 8 9 下一页
摘要: 快速排序使用分治法策略来把一个序列分为两个子序列 算法步骤: 1. 从数列中挑出一个元素,称为 "基准"(pivot) 2. 重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面 (相同的数可以到任一边)。在这个分割结束之后,该基准就处于数列的中间位置。这个称为分割(partition)操作 3. 递归地(recursive)把小于基准值元素的... 阅读全文
posted @ 2015-02-09 20:21 风过无痕的博客 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 算法步骤: 1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 3. 针对所有的元素重复以上的步骤,除了最后一个。 4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 public static void bubbleSort(... 阅读全文
posted @ 2015-02-09 20:16 风过无痕的博客 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 算法步骤: 1. 未排序序列中找到最小元素,存放到排序序列的起始位置 2. 再从剩余未排序元素中继续寻找最小元素,然后放到排序序列末尾 3. 以此类推,直到所有元素均排序完毕 比较复杂度:n(n-1)/2 交换(赋值)复杂度:n-1 优点:相比冒泡排序来讲,交换的次数减少了 缺点:相对快速排序,比较次数仍然是n² public static void... 阅读全文
posted @ 2015-02-09 20:12 风过无痕的博客 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 合并算法,指的是将两个已经排序的序列合并成一个序列的操作 操作步骤: 1. 建立一个数组C用来存放合并后的数 2. 从数组A和数组B的首端开始比较,将大的元素放入C中 3. 重复2操作,直至其中一个数组的元素被用完,则将另一个数组中剩余的元素拷贝到C中 比较复杂度:n㏒n 交换(赋值)复杂度:n㏒n 优点:比较快速的排序算法 缺点:需要额外的空间存放临... 阅读全文
posted @ 2015-02-09 20:08 风过无痕的博客 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 算法步骤: 1.从第一个元素开始,该元素可以认为已经被排序 2.取出下一个元素a,在已经排序的元素序列中从后向前扫描 3.如果已排序中的元素b大于a,则将元素b后移一个位置 4.重复步骤3,直到找到已排序的元素x小于或者等于元素a 5.将元素a插入到x的后面 6.重复步骤2~5 public static void insertionSort(Intege... 阅读全文
posted @ 2015-02-09 20:06 风过无痕的博客 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 上一节我们讲到了如何用散列和链表实现HashMap,其中有一个疑问今天已经有些答案了,为什么要用链表而不是数组链表的作用有如下两点好处1. remove操作时效率高,只维护指针的变化即可,无需进行移位操作2. 重新散列时,原来散落在同一个槽中的元素可能会被散落在不同的地方,对于数组需要进行移位操作,... 阅读全文
posted @ 2015-02-09 20:03 风过无痕的博客 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 上一节中实现的SimpleHashMap,没有解决冲突的问题,这一节我们继续深入由于table的大小是有限的,而key的集合范围是无限大的,所以寄希望于hashcode散落,肯定会出现多个key散落在同一个数组下标下面,因此我们要引入另外一个概念,将key和value同时存入table[index]... 阅读全文
posted @ 2015-02-09 20:01 风过无痕的博客 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 最近闲的很,想和大家一起学习并讨论下Java的一些源代码以及其实现的数据结构,不是什么高水平的东西,有兴趣的随便看看1. 为什么要用Map,以HashMap为例 很多时候我们有这样的需求,我们需要将数据成键值对的方式存储起来,根据key来获取value(value可以是简单值,也可以是自定义对象) ... 阅读全文
posted @ 2015-02-09 19:48 风过无痕的博客 阅读(467) 评论(0) 推荐(0) 编辑
摘要: 1.软件安装 1.1下载和安装apache Apache 2.2 :http://httpd.apache.org/download.cgi,下载msi安装程序,选择no ssl版本 1.2下载和安装tomcat7.0.37(略) 2.Apache 配置 2.1启动自动加载代理模块 打开conf/httpd.conf去掉以下文本前的注释符(#)以便让Apache在启动时自动加载代理(p... 阅读全文
posted @ 2015-02-09 18:48 风过无痕的博客 阅读(1313) 评论(0) 推荐(1) 编辑
摘要: 前面写了一篇关于动态切换Hibernate SessionFactory的文章发现存在一些问题: 需要配置多个HibernateTransactionManager和多个Spring 切面 这样带来两个问题 1. 程序效率降低,因为Spring进行多次Advice的拦截 2.... 阅读全文
posted @ 2015-02-09 18:43 风过无痕的博客 阅读(603) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 下一页