
算法
如果时光可以倒流,我会选择在家陪伴家人
这个作者很懒,什么都没留下…
展开
-
RK算法
RK算法全程Rabin-Karp,该算法的2位发明者Rabin和Karp的名字组合而成。该算法的核心思想就是通过比较2个字符串的hashcode来判断是否包含对方。由于该算法核心思想是计算字符串的hashcode,因此必须保证hash算法针对不同的字符串得出不同的值,例如:abc、bca、acb这3种相同字符不同排序的情况下,保证这3种字符串的hashcode不同。实际应用:下面有2个字符...原创 2020-02-27 16:02:28 · 3068 阅读 · 0 评论 -
1.排序算法
性质 类别 名字 排序算法 交换排序 冒泡排序 快速排序 插入排序 直接插入排序 希尔排序 选择排序 简单选择排序 堆排序 ...原创 2018-12-22 16:40:31 · 143 阅读 · 0 评论 -
2.冒泡排序
冒泡算法特点:1、相邻位置比较。2、假如数组长度为N,则 第一轮比较N-1次,因为index=0的元素无法与index=-1的元素比较,它只能与index=2的元素比较,因此是N-1. 第二轮比较N-2次,因为第一轮已经得出一个最大/小值,因此参与比较的元素个数是N-1个,因此比较次数是N-1-1次 依此论推 第N轮比较0次。public static voi...原创 2018-12-22 17:17:40 · 263 阅读 · 0 评论 -
3.快速排序
基本思想通过一轮的排序将序列分割成独立的两部分,其中一个序列的关键字均比另一个序列中的关键字小。继续对长度较短的序列进行同样的分割,最后到达整体有序。在排序过程中,由于已经分开的两部分的元素不需要进行比较,故减少了比较次数,降低了排序时间。关键字“基准值”的选择有很多种方法。最简单的是使用第一个记录的关键字值。但是如果输入的数组是正序或者逆序的,就会将所有的记录分到“基准值”的一边。较...原创 2019-01-15 16:08:24 · 179 阅读 · 0 评论 -
算法基本属于
稳定排序定义能保证排序前两个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。是不是有点绕口?这里举个例子:Int a = 10;Int b = 10;排序前:....a,b,....排序后:....a,b,....也就是说在a = b的前提下,排序前和排序后a和b的前后位置不变,这就叫做稳定排序。应用其实就是有两个排序关键字的时候,稳定排序...原创 2019-03-14 11:34:37 · 152 阅读 · 0 评论