随笔分类 -  数据结构

摘要:一 概述 对于一个单链表,即使链表是有序的,如果我们想要在其中查找某个数据,也只能从头到尾遍历链表,这样效率自然就会很低,跳表就不一样了。跳表是一种可以用来快速查找的数据结构,有点类似于平衡树。它们都可以对元素进行快速的查找。对平衡树的插入和删除往往很可能导致平衡树进行一次全局的调整。而对跳表的插入 阅读全文
posted @ 2024-03-03 22:46 balfish 阅读(26) 评论(0) 推荐(0) 编辑
摘要:概述 Java 集合, 也叫作容器,主要是由两大接口派生而来:一个是 Collection接口,主要用于存放单一元素;另一个是 Map 接口,主要用于存放键值对。对于Collection 接口,下面又有三个主要的子接口:List、Set 和 Queue Java 集合框架如下图所示: List Ar 阅读全文
posted @ 2024-03-03 14:34 balfish 阅读(8) 评论(0) 推荐(0) 编辑
摘要:1 概述 布隆过滤器实际上是一个很长的二进制数组 + 一系列随机hash映射函数,主要用于判断一个元素是否在集合中。 链表、树、散列表等等数据结构也都可以进行判断, 但是随着集合中元素的增加,我们需要的存储空间也会呈现线性增长,检索速度也越来越慢,最终达到瓶颈。 上述三种结构的检索时间复杂度分别为O 阅读全文
posted @ 2024-02-06 15:12 balfish 阅读(22) 评论(0) 推荐(0) 编辑
摘要:一 哈希表 哈希即散列技术,就是数据保存的存储位置和关键字之间存在一个映射关系,使得关键字可以和存储位置直接对应起来。 记录的存储位置 p 和关键字 key 之间确定一个对应关系 H,使得 p = H(key),则称关系 H 为散列函数,p 为散列地址。 通过散列技术将数据存储起来的所建成的存储结构 阅读全文
posted @ 2021-07-16 11:18 balfish 阅读(9) 评论(0) 推荐(0) 编辑
摘要:一 二叉查找树 特点:非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树 查找元素过程: 从根结点开始,如果查询的关键字与结点的关键字相等则命中;否则如果查询关键字比结点关键字小就进入左儿子;比结点关键字大就进入右儿子;如果左儿子或右儿子的指针为空则找不到相应的关键字; 性能:最 阅读全文
posted @ 2018-01-12 17:23 balfish 阅读(418) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示