标签:排序算法

SQL

图解B+树的插入过程

herman 2个月前 (07-10) 212浏览

B+ 树在现代数据库中很常见,如果我们了解它,在工作中可能对性能优化会有更好的帮助! 最近我一直在思考 B+ 树的高度是由什么决定的。知道我了解了 B+ 树的插入过程,才有一种恍然大悟的感觉! 网上的一些资料杂乱无章,不同的数据库可能还...

SQL

从根上理解SQL的like查询%在前为什么不走索引?

herman 2个月前 (07-08) 266浏览

我再次的阐述一下,用索引和走索引不是一个意思! 其实每天都有人私信我,如果遇到一些好的问题,我会拿来单独写文章的。比如,昨天就有人问我,like 查询 % 在前为什么不走索引?不能人云亦云,我们应该从根上理解它,为什么要这样设计?为什么不走索...

JAVA

头条的算法面试题:简洁版的最优分单法

herman 3个月前 (07-03) 320浏览

今天中午,发了一个微博,13 分钟,1.4 万的阅读。 宏颜获水 昨天,有网友给我抛出了一道算法题,说是一道头条的面试题。 听说,头条的算法是很牛的。我不一定会,所以,发到了群里。没想到大家的热情超出我的预期,很多人给出了思路,还...

JAVA

面试题:JDK6为啥默认排序是归并排序呢?

herman 3个月前 (06-14) 225浏览

这是因为 Java 做为一个平台型语言,对于稳定性要求较高!归并有一个快排没有的优点,就是归并排序是稳定的。 因为合并排序比较稳定,比快排稳定,快排有可能时间复杂度达到 O(n ^ 2),但是合并排序就相对趋于 O(nlogn),但是合并排序...

JAVA

“一招鲜,吃遍天”,从被疯狂吐槽的电商搜索Bug说起

herman 3个月前 (06-13) 232浏览

公众号里,我已经写过很多关于电商技术方面的文章,以及普及电商基本知识的文章(比如:SKU,SPU,QPS,GMV等)。除此之外,我还讨论过电商系统的业务复杂度,比如前面举例的打折优惠折扣等。整个业务逻辑复杂到一个脑图,电脑满屏还展示不完! 今...

JAVA

极客时间《数据结构与算法之美 》购买返现24

herman 5个月前 (04-28) 414浏览

极客时间的王争《数据结构与算法之美 》卖到了 50000 多套。是极客时间所有课程最火的专栏,主讲人至少收入上百万。 这套课程非常的火,以至于很多人对它评价为:“不知道是极客时间成就了《数据结构与算法之美 》,还是《数据结构与算法之美 》成就...

JAVA

手把手教你用LinkedHashMap打造FIFO和LRU缓存系统

herman 5个月前 (04-08) 348浏览

对于缓存来说,我相信很多人都不会陌生。一般的,对于常用的一些数据,基础数据等,也或者是为了高并发,比如抢购等把热点数据放入缓存中以实现高并发快速响应。 说到缓存,Redis、memcached 等在面试中属于必问的知识点了。虽然这些专门的缓存...

业余杂谈

关于常见算法的时间复杂度 Ο(1)<Ο(log2n)<Ο(n)<Ο(nlog2n)<Ο(n2)<Ο(n3)<…<Ο(2n)<Ο(n!)

herman 7个月前 (02-11) 357浏览

说实话,我是真的不懂算法。但是,我知道一个算法的好坏,通常时间复杂度是一个评价的指标之一。 又到了一年的面试季,有些同学在群里反馈算法问题。关于这类问题,我建议大家多去 LeetCode 刷题,多去看看练习练习。因为我对算法问题真的是不太懂!没有专门...

业余杂谈

阮一峰,彩票的数学知识

herman 1年前 (2018-04-20) 938浏览 0评论

彩票怎样才能中奖? 理论上,只能靠运气。但是,如果规则设计得不好,就可以钻漏洞。 2005年2月,美国的一个彩票品种,就出现了漏洞,被麻省理工学院的学生发现了。随后的七年,这个学生反复购买这个品种,一共赚到了300万美元。 ...

JAVA

Rete 算法原理及实现

herman 1年前 (2018-04-07) 3212浏览 0评论

最近在学习 Drools 规则引擎框架,其中涉及到 Rete 算法。并对 Rete 算法做了一些研究,要不然在你找新工作面试时,问你会 Drools 规则引擎框架吗?你说会!然后面试官接着问你,你了解 Rete 算法吗?你说听说过。然后面试官再问...

JAVA

Drools 项目实战,源码分享

herman 1年前 (2018-04-05) 1752浏览 0评论

规则引擎起源于基于规则的专家系统,而基于规则的专家系统又是专家系统的其中一个分支。专家系统属于人工智能的范畴,它模仿人类的推理方式,使用试探性的方法进行推理,并使用人类能理解的术语解释和证明它的推理结论。 利用它就可以在应用系统中分离商业决...

JAVA

排序算法之希尔排序原理与实战

herman 3年前 (2016-04-18) 1175浏览 0评论

说到希尔排序我就想到了插入排序,因为希尔排序是基于插入排序的以下两点性质而提出改进方法的: 1.插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率。 2.但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位。 ...

JAVA

排序算法之直接插入排序原理与实战

herman 3年前 (2016-04-17) 1227浏览 0评论

算法是一门很深的学问,也是程序员必学的一项技能,其中最为简单和出名的当属排序算法。算法尤其是在游戏行业,或者数据挖掘等都有广泛的应用。说道算法,就不能不说排序算法,常见的排序算法有8中,如下: 上篇我们讲了快速排序,本篇小编将带领大家学习直...

JAVA

排序算法之快速排序原理与实战

herman 3年前 (2016-04-16) 1615浏览 0评论

说道排序,我相信大家并不模式。在写程序的生涯中我们随处可见到排序的使用场景,例如数据库sql排序。排序的算法有很多种,同时java等语言也都提供了排序的接口,方便大家进行简单排序功能。关于排序算法有很多种,如快速排序、直接插入排序、希尔排序、简单...