算法第四版
文章平均质量分 66
xxx量化研究方法
我就是很懒,什么都没写。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法第四版- 5.2&&5.4&&5.5
算法第四版- 5.2&&5.4&&5.5 5.2单词查找树 5.4正则表达式 5.5数据压缩 文章目录算法第四版- 5.2&&5.4&&5.5单词查找树正则表达式数据压缩 单词查找树 又叫Trie树,就是前缀树 字典树清晰的图示 01字典树 然后书中介绍了一个三向单词查找树 三向单词查找树 正则表达式 我没有感觉什么干货,也没找到什么浅显的表示。感觉也没啥用,就不写了。 数据压缩 主要还是说霍夫曼压缩,计组里面画过图 全文大致内容链接 好像我之原创 2022-03-16 15:18:19 · 187 阅读 · 0 评论 -
算法第四版- 4.4 && 5.1
算法第四版- 4.4 && 5.1 4.4最短路径 5.1 字符串排序 文章目录算法第四版- 4.4 && 5.11.Dijkstra && Floyd &&SPFA2.拓扑排序3.关键路径4.套汇5. 字符串排序1) LSD(低位优先)2)MSD(高位优先)3)三向快速排序 1.Dijkstra && Floyd &&SPFA Dijkstra漫画 Dijkstra算法进阶漫画 Floyd漫画 上面是漫画,下面原创 2022-01-05 21:38:14 · 355 阅读 · 0 评论 -
算法第四版- 4.2
算法第四版- 4.2 有向图 文章目录**算法第四版- 4.2**1.单点或多点的可达性2.单点有向路径3.单点最短有向路径4.有向环的检测5.深度优先的顶点排序6.优先级限制下的调度问题7.拓扑排序8.强连通性9.顶点对的可达性 1.单点或多点的可达性 2.单点有向路径 3.单点最短有向路径 4.有向环的检测 5.深度优先的顶点排序 6.优先级限制下的调度问题 7.拓扑排序 8.强连通性 9.顶点对的可达性 ...原创 2021-12-09 12:56:43 · 399 阅读 · 0 评论 -
算法第四版- 4.3
算法第四版- 4.3 最小生成树MST 文章目录**算法第四版- 4.3**0.序1.Prim算法2. Kruskal算法 0.序 Prim算法,以顶点为单元,与图中边数无关,比较适合于稠密图 Kruskal算法,以边为顶点,时间主要取决于边数,适合稀疏图 下面代码的来源 采用的是曼哈顿距离。 1.Prim算法 class Solution { public: int prim(vector<vector<int> >& points, int start) {原创 2021-11-27 21:16:23 · 4119 阅读 · 0 评论 -
算法第四版- 4.1
算法第四版- 4.1 无向图 文章目录**算法第四版- 4.1**1.单点连通性2.单点路径3.单点最短路径4.连通性/连通分量5.检测环6.双色问题(图的二分性) 1.单点连通性 2.单点路径 3.单点最短路径 4.连通性/连通分量 5.检测环 6.双色问题(图的二分性) ...原创 2021-11-12 00:16:54 · 191 阅读 · 0 评论 -
算法第四版- 3.3
算法第四版- 3.3 文章目录**算法第四版- 3.3**1.红黑树2.AVL树 1.红黑树 红黑树漫画 红黑树有点难。就先不讲了。。。 2.AVL树 AVL树漫画原创 2021-11-11 12:11:01 · 542 阅读 · 0 评论 -
算法第四版- 3.4
算法第四版- 3.4 哈希表 文章目录**算法第四版- 3.4**1.基础的操作2.unordered_map3.unordered_set4.一些杂的题目1) 单词规律2) 赎金信 1.基础的操作 本文重点是对set和map进行应用 关联容器具有一些特性: multi就是允许关键字重复 set就是只有关键字 map就是键-值对 上面四个的底层实现是红黑树 下面四个的底层实现是哈希表 1.红黑树是有序的,Hash是无序的。 2.红黑树占用的内存更小(仅需要为其存在的节点分配内存),而Hash事先就应该分配原创 2021-11-09 23:47:50 · 217 阅读 · 0 评论 -
算法第四版- 3.2
算法第四版- 3.2 BST 文章目录**算法第四版- 3.2**1.构建BST2.在BST中查找3在BST中插入4,在BST中删除 1.构建BST LC108,将有序数组转化为BST 则中序遍历BST,可以化为有序数组。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode()原创 2021-11-05 10:27:30 · 221 阅读 · 0 评论 -
算法第四版- 3.1
算法第四版- 3.1 文章目录**算法第四版- 3.1**1.二分查找1)LC704二分查找2)LC744二分查找3)LC33搜索旋转排序数组4)搜索旋转数组进阶2.跳表 1.二分查找 关于二分查找的漫画 代码如下: 1)LC704二分查找 找到的话,就返回索引;找不到,就返回-1 class Solution { public: int search(vector<int>& nums, int target) { int l=0,r=nums.size()-1原创 2021-11-03 23:02:26 · 554 阅读 · 0 评论 -
算法第四版- 2.4
算法第四版- 2.4 至此,排序部分基本完结。 文章目录**算法第四版- 2.4**1.优先队列的调用1)用堆实现TopK2)用快排实现TopK3)例题实现2.堆排序 1.优先队列的调用 1)用堆实现TopK C++支持优先队列。底层实现为堆 优先队列系统默认为大根堆。 最小堆如下: priority_queue<int, vector<int>, greater<int>> q; 一般求第几最大值,topK,用最小堆。 求第几最小值用最大堆 可能同学就疑问?为啥求最原创 2021-10-27 20:55:02 · 312 阅读 · 0 评论 -
算法第四版- 2.3
算法第四版- 2.3 文章目录**算法第四版- 2.3**基础知识三项切分 基础知识 其实就两个函数,一个quickSort,一个partition。当然基础的函数应该是partition() 快速排序-小灰漫画 三项切分 或者说,“荷兰国旗问题” private static void sort(Comparable[] a, int lo, int hi) { if (hi <= lo) return; int lt = lo, gt = hi;原创 2021-10-27 12:21:02 · 219 阅读 · 0 评论 -
算法第四版- 2.1,2.2
带标志加法器结构 零标志ZF 零标志是根据每一位加法器的计算结果 F i F_i </span><span class="katex-html"><sp...原创 2021-10-26 00:25:15 · 332 阅读 · 0 评论 -
算法第四版- 1.5 Union-find
算法第四版- 1.5 Union-find 并查集 文章目录算法第四版- 1.5 Union-find并查集1.前情介绍2.习题分析1)LC第200题--岛屿数量2)其他题目 1.前情介绍 1.4 算法分析,没啥内容,不写了。 关于并查集的基础知识,找到一篇很好的文章,直接放链接吧。 并查集-知乎大佬 2.习题分析 1)LC第200题–岛屿数量 一道很经典的并查集, find()用到了路径压缩 unite()用到了按秩合并 class UnionFind { public: UnionFind(v原创 2021-10-12 22:23:14 · 204 阅读 · 0 评论 -
算法第四版- 5.3子字符串查找
算法第四版- 5.3子字符串查找 文章目录算法第四版- 5.3子字符串查找1.Kmp算法2.BM算法3.RK算法4.Sunday算法 1.Kmp算法 大多数国内写的的next数组 #include <iostream> #include <vector> using namespace std; int R = 0, m = 0; vector<vector<int>>dfa; void KMP(string pat) { R = 256; m = pa原创 2021-10-12 20:26:57 · 172 阅读 · 0 评论 -
算法1.3 的课后习题节选
算法第四版- 1.3 背包、队列和栈 1.3的课后习题节选 文章目录算法第四版- 1.3 背包、队列和栈1.3的课后习题节选1.3.4平衡括号1.3.37 Jpsephus问题 1.3.4平衡括号 也是lc第20题,平衡的括号,用栈做,很easy class Solution { public: stack<char>st; bool isValid(string s) { for ( int i=0;i<s.length();i++) {原创 2021-10-11 20:10:51 · 166 阅读 · 0 评论 -
算法第四版- 1.3 背包、队列和栈-Dijkstra的双栈算术表达式求值
算法第四版- 1.3 背包、队列和栈 文章目录算法第四版- 1.3 背包、队列和栈课本教材内容一、Dijkstra的双栈算术表达式求值二、使用步骤1.引入库2.读入数据总结 课本教材内容 一、Dijkstra的双栈算术表达式求值 先贴课本上的测试代码,java转C++ #include <iostream> #include <vector> #include <stack> using namespace std; double Evaluate(char* a) {原创 2021-10-11 09:42:08 · 216 阅读 · 0 评论
分享