![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法第四版
文章平均质量分 66
xxx量化研究方法
我就是很懒,什么都没写。
展开
-
算法第四版- 5.2&&5.4&&5.5
算法第四版- 5.2&&5.4&&5.55.2单词查找树5.4正则表达式5.5数据压缩文章目录算法第四版- 5.2&&5.4&&5.5单词查找树正则表达式数据压缩单词查找树又叫Trie树,就是前缀树字典树清晰的图示01字典树然后书中介绍了一个三向单词查找树三向单词查找树正则表达式我没有感觉什么干货,也没找到什么浅显的表示。感觉也没啥用,就不写了。数据压缩主要还是说霍夫曼压缩,计组里面画过图全文大致内容链接好像我之原创 2022-03-16 15:18:19 · 96 阅读 · 0 评论 -
算法第四版- 4.4 && 5.1
算法第四版- 4.4 && 5.14.4最短路径5.1 字符串排序文章目录算法第四版- 4.4 && 5.11.Dijkstra && Floyd &&SPFA2.拓扑排序3.关键路径4.套汇5. 字符串排序1) LSD(低位优先)2)MSD(高位优先)3)三向快速排序1.Dijkstra && Floyd &&SPFADijkstra漫画Dijkstra算法进阶漫画Floyd漫画上面是漫画,下面原创 2022-01-05 21:38:14 · 263 阅读 · 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 · 327 阅读 · 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 · 3993 阅读 · 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 · 125 阅读 · 0 评论 -
算法第四版- 3.3
算法第四版- 3.3文章目录**算法第四版- 3.3**1.红黑树2.AVL树1.红黑树红黑树漫画红黑树有点难。就先不讲了。。。2.AVL树AVL树漫画原创 2021-11-11 12:11:01 · 469 阅读 · 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 · 140 阅读 · 0 评论 -
算法第四版- 3.2
算法第四版- 3.2BST文章目录**算法第四版- 3.2**1.构建BST2.在BST中查找3在BST中插入4,在BST中删除1.构建BSTLC108,将有序数组转化为BST则中序遍历BST,可以化为有序数组。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode()原创 2021-11-05 10:27:30 · 138 阅读 · 0 评论 -
算法第四版- 3.1
算法第四版- 3.1文章目录**算法第四版- 3.1**1.二分查找1)LC704二分查找2)LC744二分查找3)LC33搜索旋转排序数组4)搜索旋转数组进阶2.跳表1.二分查找关于二分查找的漫画代码如下:1)LC704二分查找找到的话,就返回索引;找不到,就返回-1class Solution {public: int search(vector<int>& nums, int target) { int l=0,r=nums.size()-1原创 2021-11-03 23:02:26 · 473 阅读 · 0 评论 -
算法第四版- 2.4
算法第四版- 2.4至此,排序部分基本完结。文章目录**算法第四版- 2.4**1.优先队列的调用1)用堆实现TopK2)用快排实现TopK3)例题实现2.堆排序1.优先队列的调用1)用堆实现TopKC++支持优先队列。底层实现为堆优先队列系统默认为大根堆。最小堆如下: priority_queue<int, vector<int>, greater<int>> q;一般求第几最大值,topK,用最小堆。求第几最小值用最大堆可能同学就疑问?为啥求最原创 2021-10-27 20:55:02 · 196 阅读 · 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 · 146 阅读 · 0 评论 -
算法第四版- 2.1,2.2
带标志加法器结构 零标志ZF 零标志是根据每一位加法器的计算结果 F i F_i </span><span class="katex-html"><sp...原创 2021-10-26 00:25:15 · 239 阅读 · 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 · 107 阅读 · 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 · 106 阅读 · 0 评论 -
算法1.3 的课后习题节选
算法第四版- 1.3 背包、队列和栈1.3的课后习题节选文章目录算法第四版- 1.3 背包、队列和栈1.3的课后习题节选1.3.4平衡括号1.3.37 Jpsephus问题1.3.4平衡括号也是lc第20题,平衡的括号,用栈做,很easyclass Solution {public: stack<char>st; bool isValid(string s) { for ( int i=0;i<s.length();i++) {原创 2021-10-11 20:10:51 · 101 阅读 · 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 · 140 阅读 · 0 评论