一致性hash
普通的hash函数是和机器个数n相关的。hash(val)=key,得到key之后,key%n就找到对应的机器。但是如果机器个数变化就会导致大量的数据迁移。 一致性hash算法通过一个叫作一致性hash环的数据结构实现。这个环的起点是0,终...
普通的hash函数是和机器个数n相关的。hash(val)=key,得到key之后,key%n就找到对应的机器。但是如果机器个数变化就会导致大量的数据迁移。 一致性hash算法通过一个叫作一致性hash环的数据结构实现。这个环的起点是0,终...
迪杰斯特拉(dijkstra)算法是由荷兰计算机科学家狄克斯特拉于1959年提出的。是寻找从一个顶点到其余各顶点的最短路径算法,可用来解决最短路径问题。 迪杰斯特拉算法采用贪心算法的策略,将所有顶点分为已标记点和未标记点两个集合,从起始点开...
题目描述 1、定义一个顺序存储结构或者数组 2、主函数已经给出,提交代码不需要提交主函数 3、需要完成未给出的二分查找实现 4、中间处理:二分或折半查找,通过二分查找:理解查找成功的asl和查找失败的asl。 5、参考程序给出的输出实现二分...
1. 图解两个有序数组归并 在看归并排序时,我们首先要能够归并两个有序数组,换句话说就是合并两个有序数组为一个有序数组。 例如归并以下两个数组 a[5] = {3,5,7,8,10} b[7] = {1,2,4,5,8,11,12,} 主要...
什么是动态规划? 动态规划(英语:dynamic programming,简称 dp),是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划常常适用于有重叠子问...
目录 一、红黑树简介 二、为什么需要红黑树? 三、红黑树的特性 四、红黑树的效率 4.1 红黑树效率 4.2 红黑树和avl树的比较 五、红黑树的等价变换 六、红黑树的操作 6.1 旋转操作 6.2 插入操作 6.2.1 插入操...
注:本文比较硬核但是很值得大家花心思看完,看完你一定会有所收获的 红黑树是面试中一个很经典也很有难度的知识点,网传字节跳动面试官最喜欢问这个问题。很多人会觉得这个知识点太难,不想花太多功夫去了解,也有人会认为这个数据结构在日常开发中使用的很...
1. 概述 1.1 红黑树的引入 有了二叉搜索树,为什么还需要平衡二叉树? 在学习二叉搜索树、平衡二叉树时,我们不止一次提到,二叉搜索树容易退化成一条链 这时,查找的时间复杂度从 o ( l o g 2 n ) o(log_2n) o(lo...
目录 kmeans dbscan-基于密度的空间聚类算法 谱聚类 gmm-高斯混合模型 meanshift-均值迁移 层次聚类 代码 kmeans 聚类原则:以空间中k个点为中心进行聚类,对最...
文章目录 什么是基数排序 稳定的计数排序 基数排序的实现 复杂度 什么是基数排序 数据结构与算法 | 计数排序 在之前的博客中,我介绍过一种非比较排序——计数排序。 计数排序的原理很简单,就是用一个数组来统计每种数字出现的次数,然后按照大小...