- 博客(11)
- 收藏
- 关注
原创 算法——堆(优先队列)
因为是完全二叉树,所以可以用一个一维数组来简单存储。// 定义一个存储 n 个节点的堆// 为了方便运算,下标 1 作为堆的根节点int n;// 任意节点 x 的左孩子: heap[2 * x];// 任意节点 x 的右孩子: heap[2 * x + 1];// 从 x 节点开始,向下调整堆int t = x;if (x!// 从 x 节点开始,向上调整堆u /= 2;// 建堆 O(n)i;
2024-11-07 11:21:16
290
原创 算法——二分算法
第一步,要判断题目是否具有二分性质。通常会根据二分性质设计一个check函数,有了该函数的返回值就能够很好的控制左右指针的移动。所以,难点在与提取二分性质(暂时没有学会很好的通用方法)。一般用问题的类型来判断是否使用二分,然后从二分问题的类型来进一步推断二分性质是什么。KK第二步,确定二分模板。注意左右区间的开闭,常用左闭右闭、左开右开。模板之间的转换在下面推导。
2024-10-12 20:24:25
611
原创 算法——并查集
一种用于管理元素所属集合的数据结构。实现为一个森林,其中每棵树表示一个集合,树根的编号就是整个集合的编号,每个节点存储它的父节点,px表示结点x的父节点。
2024-10-07 15:52:48
378
原创 工程优化笔记
工程优化笔记第1章优化模型一般形式:minf(x)s.t.{gi(x)≥0,i=1,2,⋯ ,m;hj(x)=0,i=1,2,⋯ ,l;x=(x1,⋯ ,xn)\begin{array}{l} \min f(x) \\ \text{s.t.} \left\{ \begin{array}{l} g_{i}(x) \ge 0, i = 1, 2, \cdots, m; \\ h_{j}(x) = 0, i = 1,2, \cdots, l; \end{arr
2024-04-15 16:07:30
1197
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人