自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 KMP算法详解

前言何谓KMP算法?如果你作为一名新人,就跟游戏刷图打怪一样,当你经历新手任务之后,好不容易接触到算法中阶门槛的时候,KMP算法就是你必须要啃下的硬骨头,它和Manacher算法一起被誉为算法的左右门神,差不多就是个地位,它解决的是字符串匹配问题,由D.E.Knuth,J.H.Morris和V.R.Pratt共同提出,尤其是Morris大神,后面我们还会接触到Morris遍历:一种骚的不要不要的二叉树遍历算法。闲话不多说,今天呢,我们就先来看看KMP算法。暴力解开始讲解之前,我们先来看这么一个问题:

2021-07-20 11:21:35 13365 5

原创 归并排序详解

前言前面的两篇文章,给大家具体的讲述了快排和堆,堆排以及加强堆的实现过程。基于比较排序的排序算法中,最后再向大家介绍一下归并排序,之所以放到最后,并不是因为归并排序比快排、堆排复杂,恰恰相反,归并排序从理解层面上和前面介绍两种排序算法相比,应该是最简单的,归并排序重要的是背后的分治思想,解释过来就是分而治之。当下流行的微服务、分布式以及各种技术架构,背后或多或少都有着分治的理念,也是希望大家重视这种思想,培养整体思维,遇到一个大问题,我们可以分解成一个个小问题去解决。好了,废话不多说,正式开始归并排序

2021-07-15 13:58:06 217

原创 堆,堆排序,加强堆

前置知识:比较器比较器,顾名思义就是定义两个对象之间比较的标准,实质就是重载比较运算符,可以很好的应用在特殊标准的排序上,也可以很好的应用在根据特殊标准排序的结构上,Java中的util包中,提供了一个比较器接口Comparator,实现此接口后用户需要去实现compara方法,此方法的作用是根据用户定义的标准去决定对象的优先级顺序,遵循的规范如下:​ @Override​ public int compare(T o1, T o2) ;​ 返回负数的情况,就是o1比o2优先的情况​

2021-07-12 11:23:51 535

原创 随机快排详解

目录简介快排1.0版本快排2.0版本快排3.0版本简介随机快排(以下简称快排),作为基于比较的排序算法之一,不仅具备高效的性能,还能大量的节省系统空间,在工程也有许多应用,比如在Java中,集合工具类Arrays,底层的实现就有使用到快排的思想,那么快排具体是怎么实现的呢?让我们一起去一步步去体会快排的思想,感受一下快排的魅力吧。快排1.0版本从一则问题谈起——荷兰国旗问题1.0:给你一个无序数组和一个给定值k,把不大于k的数放在数组的左边,大...

2021-07-06 15:58:46 761 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除