
数据结构算法
猪逻辑公园
数据分析 机器学习 NLP 风控 营销推荐
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
一致性哈希算法应用与分析
一致性哈希算法主要使用在分布式数据存储系统中,按照一定的策略将数据尽可能均匀分布到所有的存储节点上去,使得系统具有良好的负载均衡性能和扩展性。感觉一致性哈希与数据结构中的“循环队列”还是有一点联系的。 1.简单哈希算法 哈希(hash)计箅是常见的数据分布技术,其通过求模运算来计算哈希值,然后据此将数据映射到存储空间中。由于只是采用了简单的求模运算.使得简单哈希计算存在很多不足: 1)...转载 2019-11-05 18:01:36 · 193 阅读 · 0 评论 -
排序算法之归并排序
基本思想 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。分而治之 可以看到这种结构很像一棵完全二叉树,本文的归并排序我们采用递归去实现(也可采用迭代的方式去实现)。分阶段...转载 2018-06-19 11:22:54 · 237 阅读 · 0 评论 -
排序算法之堆排序
预备知识堆排序 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。首先简单了解下堆结构。堆 堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。如下图:同时,我们对堆中的结点按层进行编号,将这种逻辑结构映射到数组...转载 2018-06-19 11:59:19 · 158 阅读 · 0 评论 -
排序算法之快速排序--三数取中法
快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列基本步骤三数取中 在快排的过程中,每一次我们要取一个元素作为枢纽值,以这个数字来将序列划分为两部分。在此我们采用三数取中法,也就...转载 2018-06-19 12:20:30 · 3114 阅读 · 0 评论 -
Top K算法思路
应用场景: 搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。 假设目前有一千万个记录(这些查询串的重复度比较高,虽然总数是1千万,但如果除去重复后,不超过3百万个。一个查询串的重复度越高,说明查询它的用户越多,也就是越热门。),请你统计最热门的10个查询串,要求使用的内存不能超过1G。必备知识:什么是哈希表? ...转载 2018-06-19 14:40:22 · 710 阅读 · 0 评论 -
如何找到100个人中所有人都认识的那个人?
因为如果B不认识A,A就肯定不是名人,直接排除,B如果认识A,B就不是名人,也排除。所以只要不重复的问,最少99次最多198次就能问出名人。时间复杂度O(n)...转载 2018-07-18 08:15:58 · 727 阅读 · 0 评论 -
数据结构与算法(java版)
转自:http://blog.youkuaiyun.com/column/details/datastructureinjava.html 目录(1)数据结构与算法概念解析(2)数据结构之数组(3)数据结构之栈(4)数据结构之队列(5)数据结构之链表(6)数据结构之二叉树(7)数据结构之霍夫曼树(8)数据结构之红黑树(一)——基础分析(9)数据结构之红黑树(二)——插入操作(10)数据结构之红黑树(三)——删...转载 2018-10-26 14:49:41 · 537 阅读 · 0 评论