Randall's Blog

Randall's Blog

算法

浅读算法导论-3-1渐近记号

渐近记号适用于函数,Θ(n2)就是函数an2+bn+c。渐近记号适用于刻画算法运行时间、算法使用的空间数量等的函数 O(1)<O(log2(n))<O(n)<O(nlog2(n))<O(n2)<O(2n)<O(n!)<O(nn) Θ记号、O记号、Ω记号 Θ记号 Θ记号限制一个函数在常量因子内,对所有
1
0
2022-12-26

关于各种排序

LSD(Least Significant Digit)基数排序 需要r个辅助队列(本代码中r为10) 时间复杂度O(d(n+r)) 空间复杂度O(r) int *LSD(int *a, int f, int l) { int n = l - f + 1; int m = log(n
0
0
2022-04-11

八数码问题

题目 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字。棋盘中留有一个空格,空格用0来表示。空格周围的棋子可以移到空格中。要求解的问题是:给出一种初始布局(初始状态)和目标布局,找到一种移动方法,实现从初始布局到目标布局的转变。 思路 依据题意可以优先考虑广度优先算法(BFS),创建一
0
0
2022-03-10

单调栈的解释及应用

单调栈定义 从名字上就听的出来,单调栈中存放的数据应该是有序的,所以单调栈也分为单调递增栈和单调递减栈 单调递增栈:单调递增栈就是从栈底到栈顶数据是从大到小 单调递减栈:单调递减栈就是从栈底到栈顶数据是从小到大 参考:[数据结构]——单调栈_lucky52529的博客-CSDN博客_单调递增栈 定义
0
0
2022-01-15

Python大作业——北印导航系统

项目成品下载 bigcmap.exe 简介 针对新生对校园了解的不足,帮助新生对校园中的各建筑有更加多方面的了解。同时可以对于校园工作人员优化校园工具的搬运选择最优的运输路径,提高运输的效率。通过对dijkstra算法进行编写,实现从一个顶点到其余各顶点的最短路径算法,解决的有向图中最短路径问题。主
0
0
2021-11-28

稳定匹配StableMaching

代码: #include<queue> #include <iostream> #define MAX 10 //医院学生最多为MAX个 using namespace std; int main(){ int hospital_num, student_num; //
0
0
2021-05-25

快速排序QuickSort

代码: #include <stdio.h> #include <iostream> #include <vector> using namespace std; //快速排序算法(从小到大) //arr:需要排序的数组,begin:需要排序的区间左边界,end:需要排序的区间的右边界 void
0
0
2021-05-25

区间调度IntervalScheduling

代码: #include <iostream> #include <vector> using namespace std; int _count[100][100]; //构造最优矩阵 int p[100][100]; int numbers[100]; void dp(int start[]
0
0
2021-05-25

背包问题BackpackProblem

代码 #include <stdio.h> #include <iostream> #include <vector> #include <string.h> using namespace std; void package(int *weight,int *size,int n,int c);/
0
0
2021-05-25

全点对最短路径All point pair shortest path

代码 #include <iostream> #include <vector> using namespace std; int minnum
2
0
2021-05-25