随笔分类 - 算法结构原理
图论
摘要:https://labuladong.online/algo/data-structure-basic/graph-shortest-path/#dijkstra-算法简介 https://programmercarl.com/kamacoder/图论总结篇.html https://program
阅读全文
双指针技巧
摘要:https://leetcode.cn/problems/merge-k-sorted-lists/solutions/219756/he-bing-kge-pai-xu-lian-biao-by-leetcode-solutio-2/ 合并有序链表 直接创建新list,从头开始比较后添加listn
阅读全文
图结构的通用实现
摘要:首先是vertex 和edge: class Vertex { public: int id; std::vector<Vertex*> neighbors; }; 储存图 邻接表和邻接矩阵 // 邻接表 // graph[x] 存储 x 的所有邻居节点 vector<vector<int>> gr
阅读全文
bfsdfs
摘要:层序遍历的写法: void levelOrderTraverse(TreeNode* root) { if (root == nullptr) { return; } queue<TreeNode*> q; q.push(root); // 记录当前遍历到的层数(根节点视为第 1 层) int de
阅读全文
复杂的dij和二叉堆
摘要:https://labuladong.online/algo/data-structure/dijkstra-follow-up/#带限制的最短路径问题 https://labuladong.online/algo/problem-set/dijkstra/#_787-k-站中转内最便宜的航班 ht
阅读全文
哈希表
摘要:哈希表可以理解为一个加强版的数组。 数组可以通过索引在O(1)的时间复杂度内查找到对应元素,索引是一个非负整数。 哈希表是类似的,可以通过 key 在O(1)的时间复杂度内查找到这个 key 对应的 value。key 的类型可以是数字、字符串等多种类型。 其底层就是一个数组,先把key转化为索引再
阅读全文
链表
摘要:class ListNode { public: int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {} }; 实际使用 private: template <typename E> class Node { public:
阅读全文
浙公网安备 33010602011771号