排序算法 1. 冒泡排序 冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 1.1 算法描述 ...
分类:
编程语言 时间:
2020-07-06 20:10:23
阅读次数:
83
###问题描述 在大规模数据处理中,经常会遇到的一类问题就是在海量数据中找出出现频率最高的前K个数,或者从海量数据中找出最大的前K个数,这类问题通常被称为top K问题。 ###问题解答 针对top K类问题,通常比较好的方案是分治+Trie树/hash+小顶堆,即先将数据集按照hash方法分解成多 ...
分类:
其他好文 时间:
2020-07-05 21:29:51
阅读次数:
70
排序算法 冒泡排序 思想:冒泡排序(Bubble Sort)是一种简单直观的排序算法。它的工作原理是:它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交 ...
分类:
编程语言 时间:
2020-07-05 21:02:01
阅读次数:
48
一、引言 上一篇学习了冒泡排序,还是比较简单的一种排序,这一篇学习一下选择排序,也是基础排序的其中一种,手写一遍,加上自己的注释,理解以后写图例,其实算法也不是很高深的东西,记录一下~~ 二、选择排序算法 选择算法工具类 /** * 选择排序算法工具类 */ public class XuanZeU ...
分类:
编程语言 时间:
2020-07-04 18:53:09
阅读次数:
47
点击使用幕布网页版查看(含思维导图) 排序算法总结 如何实现一个通用的排序算法 要知道时间复杂度只是描述一个增长趋势,复杂度为O(n2)的排序算法执行时间不一定比复杂度为O(nlongn)长,因为在计算O时省略了系数、常数、低阶。实际上,在对小规模数据进行排序时,n2的值实际比 knlogn+c还要 ...
分类:
编程语言 时间:
2020-07-04 15:17:35
阅读次数:
76
1.介绍 希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序。 2.基本思想 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越 ...
分类:
编程语言 时间:
2020-07-04 15:15:58
阅读次数:
66
侧重的知识 在我参加的后台开发岗位面试中,主要有以下知识是比较侧重 1. 数据库CRUD操作/查询优化以及数据库知识量 2. 框架的对比和了解/项目具体模块的业务逻辑描述 3. 常见排序算法 4. Linux系统的常用命令和Linux系统了解程度考核 5. 项目部署用到的服务器的配置和了解程度 加分 ...
分类:
编程语言 时间:
2020-07-03 23:18:05
阅读次数:
83
排序算法几乎是最为常见的算法,其目的是将一串不规则的数据按照递增递减的方式重新排列。 ...
分类:
编程语言 时间:
2020-07-03 19:10:13
阅读次数:
63
目的:跟编程纠缠了这么久,今天我想跟排序算法做个了断。 第一种:归并排序 思想: 1) 两个已经排好序的序列,如果要融合那复杂度是多少呢? 很简单 O(n)。例子: 1 3 5 7 9 和 2 4 6 8 10 12原理很简单: 敌不动我不动,谁大谁动(假设按照从大到小的顺序排序的话) 2) 归并排 ...
分类:
编程语言 时间:
2020-07-02 21:49:24
阅读次数:
60
public class SelectionSort { public static void selectionSort(int[] arr) { //边界判断 if (arr == null || arr.length < 2) { return; } //1.控制范围 i~n-1 for (i ...
分类:
编程语言 时间:
2020-07-02 21:38:28
阅读次数:
62