随笔分类 -  数据结构与算法

分布式算法(一致性Hash算法)
摘要:转载:https://www.cnblogs.com/moonandstar08/p/5405991.html 一、分布式算法 在做服务器负载均衡时候可供选择的负载均衡的算法有很多,包括: 轮循算法(Round Robin)、哈希算法(HASH)、最少连接算法(Least Connection)、响 阅读全文

posted @ 2019-02-27 16:29 chenjx_ucs 阅读(901) 评论(0) 推荐(0)

SkipList 跳表
摘要:转载:https://blog.csdn.net/fw0124/article/details/42780679 为什么选择跳表 说起跳表,我们还是要从二分查找开始。二分查找的关键要求有两个,1 数据能够按照某种条件进行排序。2 可以通过某种方式,取出该数据集中任意子集的中间值。能够满足的数据结构主 阅读全文

posted @ 2018-05-21 11:05 chenjx_ucs 阅读(347) 评论(0) 推荐(0)

二叉查找树、平衡二叉树、红黑树、B-/B+树性能对比
摘要:转载:https://blog.csdn.net/z702143700/article/details/49079107 前言:BST、AVL、RBT、B-tree都是动态结构,查找时间基本都在O(longN)数量级上。下面做出详细对比。 1. 二叉查找树 (Binary Search Tree) 阅读全文

posted @ 2018-03-23 11:15 chenjx_ucs 阅读(3848) 评论(0) 推荐(0)

哈希表(二):几种常见的哈希函数(散列函数)构造方法
摘要:(一)直接定址法 取关键字或者关键字的某个线性函数值为哈希地址。 比如:H(Key) = key或H(key) = a * key + b,其中a,b为常数 (二)除留余数法 取关键字被某个不大于哈希表长度的数求余,得到的结果作为哈希地址 H(Key) = key % p,其中p小于哈希表长度 (三 阅读全文

posted @ 2018-03-20 15:58 chenjx_ucs 阅读(946) 评论(0) 推荐(0)

哈希表(一):解决hash冲突的几种方法
摘要:(一)线性探测法 线性探测法是最简单的处理冲突的方法。 (1)插入元素:插入元素时,如果发生冲突,算法将从该槽位向后遍历哈希表,直到找到表中的下一个空槽,并将该值放入到空槽当中。 (2)查找元素:查找元素时,首先散列值所指向的槽,如果没有找到匹配,则继续从该槽向后遍历哈希表,直到:1)找到相应的元素 阅读全文

posted @ 2018-03-19 20:05 chenjx_ucs 阅读(9012) 评论(0) 推荐(0)

导航