![](https://img-blog.csdnimg.cn/5cd2f0f3418144c38e0d4b3b76444578.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法程序设计
文章平均质量分 57
各算法经验
青年有志
【进化计算、群体智能、多目标优化、机器学习、深度学习】 仰望星空,脚踏实地~
展开
-
二叉搜索树 | 二叉查找树 | 二叉排序树 (Binary Search Tree,简称 BST)
相同点二叉树结构:两者都是二叉树,但具有不同的结构和排序特性。基本操作:都支持插入、删除和查找操作。不同点排序特性BST:左子树小于根节点,右子树大于根节点。堆:最大堆中每个节点大于等于其子节点,最小堆中每个节点小于等于其子节点。结构特性BST:没有特别的结构约束,可能是平衡的也可能是不平衡的。堆:必须是完全二叉树。操作复杂度BST:查找、插入和删除的平均时间复杂度为 O(log n),但在最坏情况下为 O(n)。原创 2024-07-22 11:22:50 · 814 阅读 · 0 评论 -
【算法】蓝桥搜索题
搜索原创 2022-09-20 16:36:30 · 261 阅读 · 0 评论 -
【搜索】IDA*
180. 排书181. 回转游戏原创 2024-01-31 15:37:24 · 158 阅读 · 0 评论 -
【搜索】双向DFS
171. 送礼物原创 2024-01-31 15:35:08 · 224 阅读 · 0 评论 -
【搜索】迭代加深
170. 加成序列原创 2024-01-31 15:33:56 · 214 阅读 · 0 评论 -
DFS之剪枝与优化
【代码】DFS之剪枝与优化。原创 2024-01-31 15:31:58 · 218 阅读 · 0 评论 -
DFS之搜索顺序
【代码】DFS之搜索顺序。原创 2024-01-31 15:30:19 · 198 阅读 · 0 评论 -
DFS之连通性模型
【代码】DFS之连通性模型。原创 2024-01-31 15:28:57 · 179 阅读 · 0 评论 -
【搜索】A*
178. 第K短路179. 八数码原创 2024-01-31 15:27:38 · 223 阅读 · 0 评论 -
【搜索】双向广搜
【代码】【搜索】双向广搜。原创 2024-01-31 15:26:22 · 150 阅读 · 0 评论 -
双端队列广搜
【代码】双端队列广搜。原创 2024-01-31 15:24:46 · 149 阅读 · 0 评论 -
最小步数模型
【代码】最小步数模型。原创 2024-01-31 15:23:47 · 104 阅读 · 0 评论 -
多源BFS
【代码】多源BFS。原创 2024-01-31 15:22:28 · 170 阅读 · 0 评论 -
BFS 最短路模型
【代码】BFS 最短路模型。原创 2024-01-31 15:21:03 · 113 阅读 · 0 评论 -
Flood Fill
【代码】Flood Fill。原创 2024-01-31 15:17:59 · 101 阅读 · 0 评论 -
广度优先搜索(BFS)
【代码】广度优先搜索(BFS)原创 2024-01-31 15:16:36 · 184 阅读 · 0 评论 -
深度优先搜索(DFS)
【代码】深度优先搜索(DFS)原创 2024-01-31 15:15:26 · 205 阅读 · 0 评论 -
【模版】区间问题
【模版】区间问题原创 2024-01-19 10:21:41 · 350 阅读 · 0 评论 -
【模版】动态规划
【代码】【模版】动态规划。原创 2024-01-18 19:28:59 · 334 阅读 · 0 评论 -
【模版】数学知识
② n 的任何一个因数 x假如他是合数,那么他绝对可以由 n 的小于x的质因数所相乘而得。① 一个合数可以由多个比他小的质数相乘而得,而这些质数就是他的质因数。③ 一个数的因数,如果排序的话,最开始的因数肯定是质因数,后面才有合数。时间复杂度为 O(n * logb)原创 2023-10-16 09:46:38 · 81 阅读 · 0 评论 -
【模板】搜索与图论
【代码】搜索与图论模板。原创 2023-10-16 09:45:36 · 75 阅读 · 0 评论 -
【模板】各类递归方式
和上面不同的是,上面是第 1 个坑选了 2 之后,第 2 个坑还可以从 2 之前的数开始填坑,现在是第1个坑选了2之后,填坑,从填1个坑到填n个坑。坑可以随便填,比如第1个坑选了2之后,第2个坑可以填1(非升序),也可以填3(升序)当前位于的坑pos,当前可以选的最小数字start,当前的目标总坑数tar,当前已经填的坑数组a[]。即,当前的坑pos处填了num,则填下一个坑pos+1时,只能从大于num的数里选择填坑。state ^= 1原创 2023-10-16 09:44:38 · 213 阅读 · 0 评论 -
【模板】数据结构
【代码】数据结构模板。原创 2023-10-16 09:42:24 · 61 阅读 · 0 评论 -
【算法】树状数组和线段树
树状数组和线段树原创 2022-09-20 16:45:35 · 91 阅读 · 0 评论 -
【动态规划】数字三角形模型
数字三角形原创 2022-09-20 15:15:56 · 195 阅读 · 0 评论 -
【动态规划】状态机模型
状态机原创 2022-09-20 14:55:01 · 143 阅读 · 0 评论 -
【动态规划】区间DP
区间DP原创 2022-09-20 14:39:31 · 248 阅读 · 0 评论 -
【算法】背包问题应用
背包问题应用原创 2022-09-19 22:59:41 · 576 阅读 · 0 评论 -
【模版】基础算法知识
算法模板原创 2022-09-14 11:30:59 · 302 阅读 · 0 评论 -
【操作指导 | 代码实现】挑战程序设计竞赛2:算法和数据结构
挑战程序设计竞赛2:算法和数据结构原创 2022-09-08 11:06:57 · 1292 阅读 · 4 评论 -
算法常用 C++ 容器总结
算法容器总结原创 2022-08-28 11:13:18 · 392 阅读 · 0 评论 -
算法 — 整数划分
整数划分原创 2022-06-16 10:36:55 · 117 阅读 · 0 评论 -
【动态规划】状态压缩
状态压缩原创 2022-06-20 08:32:47 · 149 阅读 · 0 评论 -
【动态规划】最长上升子序列模型
最长上升子序列原创 2022-05-13 09:14:25 · 173 阅读 · 0 评论 -
最短编辑距离
最短编辑距离输入10AGTCTGACGC11AGTAAGTAGGC输出4题解首先我们将操作划分为四个部分, 删除、 插入、 替换、 不操作代码如何书写?对 每一步 先执行插入和删除操作,取最小值,进一步判断当前是否可以进行替换 或者不操作来降低 操作步数。代码实现#include <bits/stdc++.h>using namespace std;const int N = 1010;int n, m;char a[N], b[N];int原创 2022-05-11 09:19:27 · 292 阅读 · 0 评论 -
【动态规划】背包问题详解
01背包问题输入4 51 22 43 44 5输出8题解核心思路1. 矩阵 f 初始化为全零,这样可以保证只要体积不超过 j 都能装入f[i][j] : 即从前 i 个物品中选,总体积不超过 j 的方案数。f[i - 1][j - v] 表示: 当前为要处理的物品 i, 当满足 j >= v 时, 当前物品可以装入,计算装入后是否会使得总价值变大,所以需要从之前的 i - 1, j - v, 转移过来用来代表 f[i][j]当背包容量够时:选:f[i][j原创 2022-05-05 19:15:11 · 2479 阅读 · 0 评论 -
【动态规划】背包问题求方案数
经典算法之解决所有背包问题求方案数问题1、从前i个物品中选,且总体积不超过j的总方案数,初始化是f[0][i] = 1, 0 <= i <= m,其余是001 背包例子:给你一堆物品,每个物品有一定的体积,每个物品只能选一个,求总体积不超过 m的方案数输入4 52 2 3 7输出7二维代码#include <bits/stdc++.h>using namespace std;const int N = 100;int f[N][N];int原创 2022-05-04 16:11:59 · 904 阅读 · 0 评论 -
【动态规划】背包求最大最小价值问题
《经典算法之背包求最大最小价值问题》原创 2022-05-04 16:09:59 · 4574 阅读 · 0 评论