
算法
爱学习爱聊天
有计划的去写
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
二分查找-变种
最简单的二分查找 图片分析 解释: 假设要查找的数字是6(value) 定义要查找数组的边界值,首先找到数组的中间值下标 如果小于value,说明要找的值在右边将数组最小值设为:中间值+1 依次类推直至找到value相等的下标,或者最大最小指针指向一个下标停止 代码实现 public static int search(int [] items,int value){ int low = 0; int high = items.length-1; while (low <原创 2020-09-23 16:14:03 · 190 阅读 · 0 评论 -
复杂度分析/快速排序
一、大O复杂度分析 首先我们来看一段代码 public void sort(int [] items){ //外层循环从1开始,0无需往前对比 for (int i = 1 ;i < items.length ; i++){ //将要对比的基准值放入临时字段 int temp = items[i]; //内层循环从外层循环开始值往前循环和基准值对比 int j = i-1; for (;j>=0;j--){ //往前循环对比,如果比基准值大,则原创 2020-09-21 17:26:05 · 194 阅读 · 0 评论 -
冒泡排序/插入排序
学习思路: 思路讲解 代码实现 一、冒泡排序 1、通过双重循环,相邻两个数据做对比,通过位置交换使其变得有序 2、时间复杂度:O(n*n);空间复杂度:O(1) 图片分析 解释: 外部循环从0开始i 内部循环从0开始j,完整循环后会将本次最大值放入数组最后,下次循环可忽略相应的尾部数据(length-i-1) 重复1、2步即可完成排序 代码实现 public class BubbleSort { public void sort(int [] items){ //外部循环原创 2020-09-17 18:05:42 · 225 阅读 · 1 评论 -
一致性hash算法
学习思路 什么是hash环 对象怎么映射到hash环 服务器节点怎么映射到hash环 对象怎么映射到服务器节点 服务器节点新增、失效影响点分析 虚拟节点 一、什么是hash环 hash算法:通常的hash算法是将一个value映射到一个32位的数字,也就是对应0至2的32次方-1 hash环:就是从0到2的32次方-1首位相连,成为一个环状如下图 ...原创 2019-12-04 16:14:27 · 254 阅读 · 0 评论 -
插入排序
来个手写插入排序 ,末尾源码、、、、、、 public static void main(String[] args) { int[] ints = {3, 1, 6, 0, 5, 9, 8}; for (int i = 1; i < ints.length; i++) {//循环整个数组 if (ints[i] < ints[i - 1]) ...原创 2019-07-01 19:50:50 · 131 阅读 · 0 评论 -
大数字加减乘除
来个手写,中间小学加法算错了。。。。。。。。。。 public class Multiply { public static void main(String[] args) { int[] ints ={0,0,4,3,4,5,1,2}; int[] multiply = multiply(ints, 8); for (int i=...原创 2019-06-28 16:55:32 · 308 阅读 · 0 评论