随笔分类 -  数据结构

记录 1.《大话数据结构》 2.b站小甲鱼数据结构 中的一些源码
摘要:手写to_string() 阅读全文
posted @ 2022-10-09 15:25 r涤生 阅读(54) 评论(0) 推荐(0)
摘要:字符串哈希 可以快速统计出某个字符串`[l1,r1]`与`[l2,r2]`的子串是否相同 阅读全文
posted @ 2022-08-06 15:33 r涤生 阅读(46) 评论(0) 推荐(0)
摘要:模拟散列表 阅读全文
posted @ 2022-08-06 01:28 r涤生 阅读(47) 评论(0) 推荐(0)
摘要:堆排序 小根堆 阅读全文
posted @ 2022-08-05 10:16 r涤生 阅读(79) 评论(0) 推荐(1)
摘要:最大异或树 摘自Acwing第143题:https://www.acwing.com/problem/content/145/ Trie树不仅可以用来高效存储读取字符串,还可以用来保存数字(二进制形式从高位开始存放) 思路 暴力怎么解决? 很简单就可以想到,使用两层for循环 for(枚举a[i]) 阅读全文
posted @ 2022-08-01 11:28 r涤生 阅读(51) 评论(0) 推荐(0)
摘要:并查集(路径压缩优化) 摘自acwing算法模板 并查集 并查集的作用: 1.两个集合合并 2.询问两个集合是否在同一个集合中 怎么实现路径压缩? 如果x不是祖宗结点,就让父亲结点 = 祖宗结点 , 最后返回父亲结点 怎么实现集合合并 让a祖宗的结点的父亲等于b结点的结点 代码 #include<i 阅读全文
posted @ 2022-07-31 02:40 r涤生 阅读(72) 评论(0) 推荐(0)
摘要:Trie字符串统计 摘自acwing模板题https://www.acwing.com/problem/content/837/ trie数的存储和查找 形如上面的树,左边的字符串是要存储的字符串,存完一个字符串在他的末尾记录一个标记(方便查找操作) 存储: 存储的时候,一个字符就存放成一个结点,结 阅读全文
posted @ 2022-07-31 02:04 r涤生 阅读(69) 评论(0) 推荐(0)
摘要:中缀表达式求值 一篇很棒的博客:https://www.acwing.com/solution/content/40978/ 思路 使用两个栈,一个操作数栈,一个运算符号栈 将字符串读入 如果字符是操作数就入栈 如果是运算符,就比较它和运算符栈的栈顶元素的优先级。 栈顶符号优先级高,计算(取出操作数 阅读全文
posted @ 2022-07-31 00:41 r涤生 阅读(38) 评论(0) 推荐(0)
摘要:树 二叉树 二叉树的生成与遍历(前序遍历法) 线索二叉树的中序建立与遍历 赫夫曼编码 阅读全文
posted @ 2021-10-28 20:12 r涤生 阅读(71) 评论(0) 推荐(0)
摘要:斐波那契数 斐波那契数---递归实现 斐波那契数---迭代实现 递归实现逆序输出 二分查找(分治) 汉诺塔问题 八皇后问题(递归回溯实现) 阅读全文
posted @ 2021-10-28 20:09 r涤生 阅读(66) 评论(0) 推荐(0)
摘要:栈和队列 栈 栈的顺序存储结构1(非数组方法) 栈实现二进制到十进制的转换 栈实现逆波兰计算器(十以内加减乘整除) 中缀表达式转换为后缀表达式,在使用逆波兰计算器输出 队列 链式存储实现 顺序存储实现 阅读全文
posted @ 2021-10-28 20:08 r涤生 阅读(164) 评论(0) 推荐(0)
摘要:静态链表 初始化 插入操作 自己的malloc函数 阅读全文
posted @ 2021-10-28 20:06 r涤生 阅读(29) 评论(0) 推荐(0)
摘要:线性表的顺序存储结构 顺序表实现集合合并(合并后冒泡排序) 线性表的链式存储结构 单链表 静态链表 作业:如何快速得到单链表的中间结点 单向循环链表 单向循环链表练习-约瑟夫环问题 单向循环链表练习2-约瑟夫环问题升级版 两个单向循环链表的合并 判断链表是否有环 ★魔术师发牌问题★ 拉丁方阵问题 双向循环链表 阅读全文
posted @ 2021-10-28 19:45 r涤生 阅读(75) 评论(0) 推荐(0)