一.快速排序介绍 快速排序(Quick Sort)概念:是由冒泡排序改进而得到的。在冒泡排序过程中,只对相邻的两个记录进行比较,因此每次交换两个相邻记录时只能消除一个逆序。如果能通过两个(不相邻)记录的一次交换,消除多个逆序,则会大大加快排序的速度。快速排序方法中的一次交换可以消除多个逆序。 二.算 ...
分类:
编程语言 时间:
2020-11-20 11:42:02
阅读次数:
5
对于给定的一组记录,初始时假设第一个记录自成一个有序序列,其余记录为无序序列。接着从而个记录开始,按照记录的大小依次将当前处理的记录插入到其之前的有序序列中,直至最后一条记录插入到有序序列中为止。 例如:数组 {38,65,97,76,13,27,49}第一步插入38以后:[38]65 97 76 ...
分类:
编程语言 时间:
2020-11-20 11:28:24
阅读次数:
46
读完本文,你可以去力扣拿下如下题目: 191.位1的个数 231.2的幂 本文分两部分,第一部分列举几个有趣的位操作,第二部分讲解算法中常用的 n & (n - 1) 操作,顺便把用到这个技巧的算法题列出来讲解一下。因为位操作很简单,所以假设读者已经了解与、或、异或这三种基本操作。 位操作(Bit ...
分类:
其他好文 时间:
2020-11-20 11:27:44
阅读次数:
6
选择排序是一种简单直观的排序算法,其基本原理,对于一组记录的数据,通过第一次比较得到最小的记录,然后将该记录与第一条记录的位置交换;接着对不包含第一个以外的记录进行比较,得到最小记录并与第二个记录进行位置交换;重复该过程,知道进行比较的记录只有一个时为止。 以数组 {38,65,97,76,13,2 ...
分类:
编程语言 时间:
2020-11-20 11:27:23
阅读次数:
5
首先说明一个问题,简单阐述一下递归,分治算法,动态规划,贪心算法这几个东西的区别和联系,心里有个印象就好。 递归是一种编程技巧,一种解决问题的思维方式;分治算法和动态规划很大程度上是递归思想基础上的(虽然动态规划的最终版本大都不是递归了,但解题思想还是离不开递归),解决更具体问题的两类算法思想;贪心 ...
分类:
其他好文 时间:
2020-11-20 11:26:06
阅读次数:
5
今天讲讲 Union-Find 算法,也就是常说的并查集算法,主要是解决图论中「动态连通性」问题的。名词很高端,其实特别好理解,等会解释,另外这个算法的应用都非常有趣。 说起这个 Union-Find,应该算是我的「启蒙算法」了,因为《算法4》的开头就介绍了这款算法,可是把我秀翻了,感觉好精妙啊!后 ...
分类:
编程语言 时间:
2020-11-20 11:25:40
阅读次数:
5
漫画:什么是SnowFlake算法?点击上方“程序员小灰”,选择“置顶公众号”有趣有内涵的文章第一时间送达!—————第二天—————方法一:UUIDUUID是通用唯一识别码(UniversallyUniqueIdentifier),在其他语言中也叫GUID,可以生成一个长度32位的全局唯一识别码。Stringuuid=UUID.randomUUID().toString()结果示例:046b6c
分类:
编程语言 时间:
2020-11-20 11:21:59
阅读次数:
5
漫画:什么是字典序算法?点击上方“程序员小灰”,选择“置顶公众号”有趣有内涵的文章第一时间送达!—————第二天—————算法题目:给定一个正整数,实现一个方法来求出离该整数最近的大于自身的“换位数”。什么是换位数呢?就是把一个整数各个数位的数字进行全排列,从而得到新的整数。例如53241和23541。小灰也不知道这种经过换位的整数应该如何称呼,所以姑且称其为“换位数”。题目要求写一个方法来寻找最
分类:
编程语言 时间:
2020-11-20 11:21:39
阅读次数:
5
漫画:什么是Bitmap算法?两个月之前——为满足用户标签的统计需求,小灰利用Mysql设计了如下的表结构,每一个维度的标签都对应着Mysql表的一列:要想统计所有90后的程序员该怎么做呢?用一条求交集的SQL语句即可:Selectcount(distinctName)as用户数fromtablewhareage=‘90后‘andOccupation=‘程序员‘;要
分类:
编程语言 时间:
2020-11-20 11:17:51
阅读次数:
7
参数参数分为两种:可学习得到的参数,和超参数。机器学习可以归结为学习一个映射函数f:x→y,将输入变量x映射为输出变量y。一般我们可以假设映射函数为y=f(x,θ)。其中θ即为函数的参数。参数可以通过学习算法进行学习。除了可学习的参数之外,还有一类参数是用来定义模型结构或训练策略的,这类参数叫做超参数(Hyper-Parameter)。超参数和可学习的参数不同,通常是按照人的经验设定,或者通过网格
分类:
其他好文 时间:
2020-11-20 11:17:05
阅读次数:
7