![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
弦夜。
The song of night.
展开
-
数据结构
什么是数据结构数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。数据结构与算法密切相关,这里只介绍数据结构。定义数据结构(data structure)是带有结构特性的数据元素的集合,它研究的是数据的逻辑结构和数据的物理结构以及它们之间的...原创 2019-11-24 23:28:44 · 254 阅读 · 0 评论 -
高并发系统解决之限流
漏桶算法原创 2019-11-16 00:44:04 · 141 阅读 · 0 评论 -
BitMap(三):RoaringBitmap
Roaring Bitmap的算法是将整数的32-bit的范围 ([0, n]) 划分为 2^16 个数据块(Chunk),每一个数据块对应整数的高16位,并使用一个容器(Container)来存放一个数值的低16位。 Roaring Bitmap将这些容器保存在一个动态数组中,作为一级索引。容器使用两种不同的结构: 数组容器(Array Container)和 位图容器(Bitmap Container)。数组容器存放稀疏的数据,位图容器存放稠密的数据。如果一个容器里面的整数数量小于4096,就用数组容器原创 2019-11-09 13:31:42 · 392 阅读 · 0 评论 -
BitMap(二):布隆过滤器(Bloom Filter)
用一个哈希算法(Hash函数)将一个集合元素映射到一个二进制位数组(位数组)中的某一位。如果该位已经被置为1,那么表示该元素已经存在。为了减少hash冲突问题,所以引用了多个哈希函数,如果通过其中的一个Hash值得出某元素不在集合中,那么该元素肯定不在集合中。只有在所有的Hash函数告诉我们该元素在集合中时,才能确定该元素存在于集合中。这便是Bloom-Filter的基本思想。原创 2019-11-09 13:07:53 · 430 阅读 · 0 评论 -
BitMap(一):位图算法简介
BitMap算法的核心思想是用bit数组来记录0-1两种状态,然后再将具体数据映射到这个比特数组的具体位置,这个比特位设置成0表示数据不存在,设置成1表示数据存在。适用于大规模数据,但数据状态又不是很多的情况。通常是用来判断某个数据存在或不存在的。原创 2019-11-08 18:46:39 · 843 阅读 · 0 评论 -
常用数据结构和算法比较
看算法方面的问题,会经常看到一些如O(1)、O(n)等的符号,看起来又不知是表示啥,只能去百度谷歌。接下来这里介绍下这些符号表示的意思。时间复杂度时间复杂度是同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。在计算机科学中,算法的时间复杂度是一个函数,它定性描述了该算法的运行时间。这是一个关于代表算法输入值的字符串的长度的函数...原创 2019-07-19 23:56:47 · 586 阅读 · 0 评论 -
常用加密算法及应用
参考:https://blog.csdn.net/hugengyong/article/details/77145849http://www.ehcoo.com/cryptology.htmlhttp://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_part_one.html前言加密算法分对称加密和非对称算法,其中对称加密算法的加密与解密密...原创 2019-05-31 17:01:12 · 1317 阅读 · 0 评论