
java实现8大排序算法
文章平均质量分 59
femalcoder
这个作者很懒,什么都没留下…
展开
-
JAVA二分查找
package cn.sdut;public class mm { public static int binary_search(int a[],int key) { int l = 0; int r = a.length-1; int mid=0; while(l<=r) {原创 2017-06-15 20:51:29 · 239 阅读 · 0 评论 -
冒泡排序
冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。冒泡排序算法的运作如下:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到原创 2017-06-16 15:18:55 · 418 阅读 · 0 评论 -
快速排序及时间复杂度分析
它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。package com;public class maopao { public int kuaipai(int l,int r,int a[]) { //原创 2017-06-16 17:06:20 · 2870 阅读 · 0 评论 -
选择排序
public void choice(int a[]) { for(int i=0;i <=a.length-1;i++) { for(int j=i+1;j<=a.length-1;j++) { if(a[j] < a[i]) {原创 2017-06-17 09:11:52 · 313 阅读 · 0 评论 -
插入排序和shell排序及其时间复杂度和空间复杂度分析
有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序。 插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后原创 2017-06-17 09:58:25 · 6267 阅读 · 0 评论 -
桶排序(hash排序)
第一部分:Top K 算法详解 问题描述百度面试题:搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。假设目前有一千万个记录(这些查询串的重复度比较高,虽然总数是1千万,但如果除去重复后,不超过3百万个。一个查询串的重复度越高,说明查询它的用户越多,也就是越热门。),请你统计最热门的10个查询串,要求使用的内存不能超过1G。必备知识: 什么原创 2017-06-17 16:17:29 · 16492 阅读 · 7 评论 -
各个算法的时间复杂度和空间复杂度分析
各个排序算法原创 2017-06-17 16:28:30 · 1061 阅读 · 0 评论