随笔分类 - 数据结构与算法
算法和数据结构学习
代码GitHub地址:
https://github.com/zhangboqing/algorithm-java
摘要:一、布隆过滤器是什么 布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别率和删除困难。 二、布隆过滤器的基本思想
阅读全文
摘要:一、什么是复杂度分析?1.数据结构和算法解决是“如何让计算机更快时间、更省空间的解决问题”。2.因此需从执行时间和占用空间两个维度来评估数据结构和算法的性能。3.分别用时间复杂度和空间复杂度两个概念来描述性能问题,二者统称为复杂度。4.复杂度描述的是算法执行时间(或占用空间)与数据规模的增长关系。二
阅读全文
摘要:1)什么是缓存? 缓存是一种提高数据读取性能的技术,在硬件设计、软件开发中都有着非广泛的应用,比如常见的CPU缓存、数据库缓存、浏览器缓存等等。 2)为什么使用缓存?即缓存的特点缓存的大小是有限的,当缓存被用满时,哪些数据应该被清理出去,哪些数据应该被保留?就需要用到缓存淘汰策略。 3)什么是缓存淘
阅读全文
摘要:一、链表的定义 1.和数组一样,链表也是一种线性表。2.从内存结构来看,链表的内存结构是不连续的内存空间,是将一组零散的内存块串联起来,从而进行数据存储的数据结构。3.链表中的每一个内存块被称为节点Node。节点除了存储数据外,还需记录链上下一个节点的地址,即后继指针next。 详细定义: 链表是一
阅读全文
摘要:代码GitHub地址:https://github.com/zhangboqing/algorithm-java
阅读全文
摘要:java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMap. HashMap: 1.根据键的HashCode值存储数据 2.最多只允许一条记录的键为Null,允许多条记录的值为Null 3
阅读全文
摘要:一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到应用。 一致性hash算法提出了
阅读全文
摘要://插入排序//C++#includeusingnamespacestd;voidmain(){inta[6]={5,2,4,6,1,3};//定义一个未排好序的数组inti,j,key;for(i=0;i=0&&a[i]>key){a[i+1]=a[i];i=i-1;}a[i+1]=key;} c...
阅读全文