首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
数据结构
订阅
yao想三国
更多收藏集
微信扫码分享
微信
新浪微博
QQ
19篇文章 · 0订阅
小码哥《恋上数据结构与算法》笔记(十六):Trie
Trie 也叫做字典树、前缀树(Prefix Tree)、单词查找树。 Trie 搜索字符串的效率主要跟字符串的长度有关。 假设使用 Trie 存储 cat、dog、doggy、does、cast、add 六个单词。 假设要查找dog,首先在根节点搜索有没有d子节点,然后再查看…
小码哥《恋上数据结构与算法》笔记(十五):哈夫曼编码
哈夫曼编码,它是现代压缩算法的基础。 假设把字符串"ABBBCCCCCCDDDDDDEE"转成二进制编码进行传输。 先计算出每个字母的出现频率(权值,这里直接用出现次数)。 利用这些权值,构建一颗哈夫曼树。 以权值作为根节点构建n棵二叉树,组成森林。 在森林中选出2个根节点最小…
小码哥《恋上数据结构与算法》笔记(十四):优先级队列(Priority Queue)
普通的队列是先进先出原则。 优先级队列是按照优先级高低进行出队,比如将优先级最高的元素作为队头优先出队。 医院急诊根据病人病情和挂号时间决定谁先看病。 操作系统的多任务调度,队列元素是任务,优先级是任务类型。 通过最大堆来实现优先级队列。
小码哥《恋上数据结构与算法》笔记(十三):二叉堆(Heap)
设计一种数据结构,用来存放整数,要求提3个接口。 堆的一个重要性质:任意节点的值总是大于等于或小于等于子节点的值。 如果任意节点的值总是大于等于子节点的值,称为最大堆,大根堆,大顶堆。 反之称为最小堆,小根堆,小顶堆。 最大堆和最小堆的最大值/最小值都在顶部。且堆中的元素必须具…
小码哥《恋上数据结构与算法》笔记(十二):哈希表(Hash Table)
哈希表也叫做散列表。 利用哈希函数生成key对应的index,时间复杂度O(1)。 根据index(索引)操作定位数组元素,时间复杂度O(1)。 哈希表的空间换时间的典型应用。 哈希冲突也叫做哈希碰撞。 2个不同的key,经过哈希函数计算出相同的结果。 按照一定规则(线性探测,…
小码哥《恋上数据结构与算法》笔记(十二):集合(Set)与映射(Map)
类似Set,Map可以直接利用之前学习的链表,二叉搜索树(AVL树,红黑树)等数据结构来实现。 Key必须具备可比较性。 元素的分布是有顺序的(key大的在右边,小的在左边)。 map中的存储的元素不需要讲究顺序。 map中的key不需要具备可比较性。 不考虑顺序和key的可比…
小码哥《恋上数据结构与算法第二季》笔记(一):冒泡、选择、堆排序
从头开始比较每一对相邻元素,如果第一个比第二个大,就交换它们的位置。 执行完一轮后,最末尾那个元素就是最大元素。 忽略上一步中曾经找到的最大元素,重复执行步骤一,直到全部元素有序。 如果序列已经完全有序,可以提前终止冒泡排序。 增加一个bool值,用于判断一次循环后是否有数据交…
小码哥《恋上数据结构与算法》笔记(十一):红黑树
红黑树也是一种自平衡的二叉搜索树,也曾叫做平衡二叉B树。 从任意节点到叶子节点的所有路径都包含相同数目的BLACK节点。 在添加和删除节点之后,让树依然满足以上5条性质,就可以保证平衡。 我们将红黑树的红色节点上移靠近父节点。 红黑树和4阶B树具有等价性。 BLACK节点与它的…
小码哥《恋上数据结构与算法》笔记(十):B树
B树是一种平衡的多路搜索树,多用于文件系统,数据库的实现。 一个节点可以存储超过2个元素,可以拥有超过2个子节点。 拥有二叉树的一些性质。 平衡,每个节点的所有子树高度一致。 比较矮。 假设一个节点存储的元素个数为x。 根节点个数:1 <= x <= m-1…
十六、AVL树
1、概念 AVL树是最早发明的自平衡二叉搜索树之一 AVL 取名于两位发明者的名字 G. M. Adelson-Velsky 和 E. M. Landis(来自苏联的科学家) Something in