随笔分类 -  算法结构原理

图论
摘要:https://labuladong.online/algo/data-structure-basic/graph-shortest-path/#dijkstra-算法简介 https://programmercarl.com/kamacoder/图论总结篇.html https://program 阅读全文
posted @ 2025-07-14 15:32 boluke龙 阅读(12) 评论(0) 推荐(0)
双指针技巧
摘要:https://leetcode.cn/problems/merge-k-sorted-lists/solutions/219756/he-bing-kge-pai-xu-lian-biao-by-leetcode-solutio-2/ 合并有序链表 直接创建新list,从头开始比较后添加listn 阅读全文
posted @ 2025-07-14 15:22 boluke龙 阅读(14) 评论(0) 推荐(0)
图结构的通用实现
摘要:首先是vertex 和edge: class Vertex { public: int id; std::vector<Vertex*> neighbors; }; 储存图 邻接表和邻接矩阵 // 邻接表 // graph[x] 存储 x 的所有邻居节点 vector<vector<int>> gr 阅读全文
posted @ 2025-07-14 11:40 boluke龙 阅读(36) 评论(0) 推荐(0)
bfsdfs
摘要:层序遍历的写法: void levelOrderTraverse(TreeNode* root) { if (root == nullptr) { return; } queue<TreeNode*> q; q.push(root); // 记录当前遍历到的层数(根节点视为第 1 层) int de 阅读全文
posted @ 2025-07-09 16:50 boluke龙 阅读(10) 评论(0) 推荐(0)
复杂的dij和二叉堆
摘要:https://labuladong.online/algo/data-structure/dijkstra-follow-up/#带限制的最短路径问题 https://labuladong.online/algo/problem-set/dijkstra/#_787-k-站中转内最便宜的航班 ht 阅读全文
posted @ 2025-07-09 14:54 boluke龙 阅读(36) 评论(0) 推荐(0)
哈希表
摘要:哈希表可以理解为一个加强版的数组。 数组可以通过索引在O(1)的时间复杂度内查找到对应元素,索引是一个非负整数。 哈希表是类似的,可以通过 key 在O(1)的时间复杂度内查找到这个 key 对应的 value。key 的类型可以是数字、字符串等多种类型。 其底层就是一个数组,先把key转化为索引再 阅读全文
posted @ 2025-07-07 11:36 boluke龙 阅读(42) 评论(0) 推荐(0)
链表
摘要:class ListNode { public: int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {} }; 实际使用 private: template <typename E> class Node { public: 阅读全文
posted @ 2025-07-07 10:07 boluke龙 阅读(8) 评论(0) 推荐(0)
数组
摘要:静态数组 int arr[10] 这段代码到底做了什么事情呢?主要有这么几件事: 1、在内存中开辟了一段连续的内存空间,大小是 10 * sizeof(int) 字节。一个 int 在计算机内存中占 4 字节,也就是总共 40 字节。 2、定义了一个名为 arr 的数组指针,指向这段内存空间的首地址 阅读全文
posted @ 2025-07-04 20:06 boluke龙 阅读(13) 评论(0) 推荐(0)