
数据结构
文章平均质量分 92
LyndonZheng
字节跳动某小游戏工作室后端程序
墨麟龙骑战歌服务端程序员
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
常见的哈希表,到底是什么?
转载自 https://mp.weixin.qq.com/s/XQrrVdZdqJ_et71l6CQeWg 1. 用下面的方法将关键字映射成数组的下标: arrayIndex=hugeNumber%arraySize 2. 创建一个存放链表的数组,数组内不直接存储数据,这样当发生冲突时,新的数据项直接接到这个数组下标所指的链表中...转载 2018-11-20 11:41:14 · 679 阅读 · 0 评论 -
极客讲堂 - 数据结构与算法之美 - 深度和广度优先搜索,字符串匹配基础,Trie树,AC自动机,贪心算法,分治算法
31 | 深度和广度优先搜索 1. 基于数据结构“图”的搜索算法,比较简单的有 深度优先 和 广度优先 搜索算法。适用于图不大的情况。 2. 广度优先用 队列来实现。逐层遍历,每遍历一个结点,就放入队列。 3. 深度优先用 栈 来实现。通过堆栈,一层一层递归下去。 4.深度优先和广度优先搜索的时间复杂度都是 O(E),空间复杂度是 O(V)。 E: 图结构里的边的数目。 ...原创 2019-01-17 14:36:34 · 618 阅读 · 0 评论 -
极客讲堂 - 数据结构与算法之美 - 回溯算法,初识动态规划,动态规划理论,动态规划实战,拓扑排序,最短路径
39 | 回溯算法 1.实际上一个类似枚举的搜索尝试过程。按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择。 2.回溯算法非常适合用递归代码实现 3.实现的过程中,剪枝操作是提高回溯效率的一种技巧 (不符合条件的就抛弃掉) 40 | 初识动态规划 1. 0-1背包问题,用回溯算法的话时间复杂度是O(2^n),n是物品个数。...原创 2019-01-25 18:31:34 · 467 阅读 · 0 评论 -
极客讲堂 - 数据结构与算法之美 - 位图,概率统计,向量空间,B+树,A*搜索,数据库索引,并行算法
45 | 位图:如何实现网页爬虫中的URL去重功能? 1. 简单粗暴思路:通过URL的hash值来判断去重。 2. 遇到的问题:10 亿个 URL 构建成散列表,需要的内存有可能超过100G。 3. 解决方案:布隆过滤器。 (1) 原理: 10亿个URL的散列值,值范围在1-1亿之间。布隆过滤器用一亿个bit来标识这1亿个值。 因为存在散列冲突,所以 bit为1就u...原创 2019-01-26 17:42:01 · 595 阅读 · 0 评论 -
极客讲堂 - 数据结构与算法之美 笔记七 - 算法实战:redis、搜索引擎、高性能队列Disruptor、微服务接口鉴权限流
52 | 算法实战(一):剖析 Redis 数据类型对应的数据结构 1.Redis 是一种键值(Key-Value)数据库。相对于关系型数据库(比如 MySQL),Redis 也被叫作非关系型数据库。 2.Redis 中,键的数据类型是字符串,值的类型有字符串、列表、字典、集合、有序集合。 2.1列表 对应两种实现方法:一种是压缩列表(ziplist),另一种是双向循环链...原创 2019-01-27 14:38:37 · 632 阅读 · 1 评论