
算法
文章平均质量分 92
hellopeng1
hello!
展开
-
RoaringBitmap位图
RoaringBitmap位图前言Bitmap 常用场景Bitmap缺陷RoaringBitmap主要思想Roaring 数据结构后记前言Bitmap目前是一种比较常见的计数统计模型,Bitmap的数据结构是二进制类型的按位统计,每一位都有两种状态(0,1)。举个例子:比如我们要使用Bitmap记录当前系统的在线人数,假设我们系统有1000个用户(包含在线和不在线的用户),那么我们设定状态...原创 2020-02-16 18:13:45 · 1193 阅读 · 0 评论 -
归并排序,堆排序,快速排序的讲解与实现
前言本文主要讲的是归并排序,堆排序和快速排序的原理与实现。当然我的实现不一定不是最好的,如果有更好的实现大家也可以在评论区贴出更好的实现代码。时间复杂度的计算:时间复杂度大概的意思是以每一条执行的语句为单位,一个排序算法在随着数据的增大时间上会以什么形式去增长(这里一个算法可能根据数据情况的不同会有多个时间复杂度比如我排序的数据是1,2,3,4,5和1,3,2,5,4 使用快速排序的话就会...原创 2018-09-26 14:44:17 · 2759 阅读 · 0 评论 -
计数排序和基数排序
计数排序计数排序是一种非比较性排序,时间复杂度为O(n + k),主要适用于排序的数组极大值和极小值直接的差不大的情况,如果待排序数组极值差过大,则会造成过多的空间浪费,具体原理如图所示: 原理 实现 public void countSort(int[] arr) { int min = arr[0], max = arr[0];//获得数组的极...原创 2018-11-14 15:18:54 · 346 阅读 · 0 评论 -
JAVA数组二分查找
JAVA数组二分查找前言查找原理代码实现前言二分查找是一种比较高效的查找方式,使用此查找方式需要先将数组进行排序,如果数组未经排序效率就会很低,所以数组是必须要经过排序的。查找原理Created with Raphaël 2.2.0排序后数组计算数组中间值判断数组中间值是否等于我们要查找的元素是我们查找的元素返回当前middle下标结束判断当前中间下标是否已经为0返回-1代表未找到此元素判...原创 2019-02-27 22:16:01 · 819 阅读 · 0 评论 -
字符串相似度算法(编辑距离算法)
编辑距离算法前言原理实现前言有时候原理实现原创 2019-04-24 20:56:13 · 2448 阅读 · 0 评论