数据结构
文章平均质量分 92
明里贵树
这个作者很懒,什么都没留下…
展开
-
数据结构:AVL?撕就完了
写一棵AVL一、Node结点定义二、逐步实现AVL1、BST1)insert(int insertVal)方法2)remove(int removeVal)方法2、计算平衡因子函数calBalance()3、旋转方法rotate() 一、Node结点定义 可以自行设计 自己在这里仅增加了一项——平衡因子的记录,用于旋转时判断类型 public class Node { int val; int balance; // 左子树高 - 右子树高 Node left; Node right; pub原创 2021-11-25 15:13:18 · 198 阅读 · 0 评论 -
数据结构:字典树
字典树一、字典树介绍二、字典树实战 字典树类似于二叉树,内部结构并不复杂,在前缀方面百试百灵,却没有红黑树,AVL那么多变化,赶紧码起来 一、字典树介绍 字典树并不是死的,其内部其实是多变的,在介绍中会讲解可能的变式 1、定义结点 与二叉树一样,结点需要存储其数据,以及下一个结点的,若结点中只包含字母,我们有两种方法连接到next结点 HashMap型:Node中用hashmap来连接到下一个结点,适用于字母类型少的情况 数组型:Node中用数组来连接到下一个结点,适用于字母类型多的情况 privat原创 2021-09-20 16:56:42 · 174 阅读 · 0 评论 -
数据结构:树状数组:姐来展示下什么叫高端前缀和
树状数组:升级版前缀和 我们知道前缀和是十分高效的,可以以O(1)的速度求出任意一段连续区间的和,但缺点是数组不可修改,但树状数组的出现提供了转机 一、位运算:lowbit() 树状数组是基于位运算的,所以在介绍树状数组前要介绍lowbit() lowbit(x):x在二进制下最低位的1所对应的十进制下的数值 乍一看有些拗口,举些例子: lowbit(9) = lowbit(1001) = 1 lowbit(40) = lowbit(101000) = 8 lowbit(58) = lowbit(11原创 2021-09-18 23:19:03 · 188 阅读 · 0 评论 -
数据结构:并查集:“一条语句你能秒我?我当场...”
并查集:武林门派大乱斗原创 2021-09-15 13:58:04 · 118 阅读 · 0 评论