数据结构与算法
常用数据结构及常用算法
Huangy远
github地址 https://github.com/yellowFarLu
展开
-
聊聊KMP算法
KMP算法PS:本文转载,觉得写得实在太通熟易懂了,收藏于博客中原文:https://www.zhihu.com/question/21923021背景这几天自学了KMP算法,也在网上看了很多相关的博文,然而他们对next数组的求解方法的解释都比较模糊,难于让读者理解,故参考几位前辈的博文,加以优化,撰此博文,分享一下自己的理解。简述BF算法讲述KMP算法的原理之前,BF算法是绕不...转载 2020-03-11 22:00:26 · 854 阅读 · 0 评论 -
基数排序原理及实战
基数排序原理我们来看这样一个排序问题。假设我们有 10 万个手机号码,希望将这 10 万个手机号码从小到大排序,你有什么比较快速的排序方法呢?我们之前讲的快排,时间复杂度可以做到 O(nlogn),还有更高效的排序算法吗?桶排序、计数排序能派上用场吗?手机号码有 11 位,范围太大,显然不适合用这两种排序算法。针对这个排序问题,有没有时间复杂度是 O(n) 的算法呢?现在我就来介绍一种新的排...原创 2020-01-12 13:35:14 · 387 阅读 · 0 评论 -
桶排序原理及实现
桶排序原理桶排序、计数排序、基数排序 三种排序算法的时间复杂度是 O(n) 。因为这些排序算法的时间复杂度是线性的,所以我们把这类排序算法叫作线性排序(Linear sort)。之所以能做到线性的时间复杂度,主要原因是,这三个算法是非基于比较的排序算法,都不涉及元素之间的比较操作。首先,我们来看桶排序。桶排序,顾名思义,会用到“桶”,核心思想是将要排序的数据分到几个有序的桶里,每个桶里的数据...原创 2020-01-12 13:33:30 · 1331 阅读 · 0 评论