![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
TwoCM
小新手一枚
在校
展开
-
旅行售货员问题
旅行售货员问题:某售货员要到若干城市去推销商品,已知各城市之间的路程(或旅费)。他要选定一条从驻地出发,经过每个城市一次,最后回到驻地的路线,使总的路程最短(或旅费最少)。参考网址1(点这里)参考网址2(点这里)#include <iostream>#include <string.h> //memset()using namespace std;const int maxNum = 1000; //定义一个最大值const int NoEdge = -1; .原创 2022-04-26 17:36:54 · 2101 阅读 · 0 评论 -
0/1背包问题
0/1背包问题:给定n种物品和一背包,物品i的重量是wi,其价值为vi,背包的容量为c。问应如何选择装入背包的物品,使得装入背包中物品的总价值最大?在选择装入背包的物品时,对每种物品i只有两种选择,即装入背包或不装入背包,不能将物品i装入背包多次,也不能只装入部分的物品i。参考网址1(点这里)参考网址2(点这里)//ctime分函数和类两种用途。//ctime功能是 把日期和时间转换为字符串,//而ctime类的对象表示的时间是基于格林威治标准时间(GMT)的。#include<.原创 2022-04-26 17:33:07 · 184 阅读 · 0 评论 -
排序算法:执行一系列基准测试来比较归并排序和快速排序哪个执行得更快。基准测试里面应该包含“随机“序列和“几乎“已排序的序列。
排序算法:执行一系列基准测试来比较归并排序和快速排序哪个执行得更快。基准测试里面应该包含"随机"序列和"几乎"已排序的序列。以下代码用了一下四种方法选择排序快速排序希尔排序计数排序思路参考网址点这里#include <iostream>#include <time.h> //time()#include <stdlib.h> //rand()#include <math.h>using namespace std;#define.原创 2022-04-26 17:29:41 · 60 阅读 · 0 评论 -
凯撒密码问题
凯撒密码:凯撒密码是最早的加密技术,其所涉及替换情报中的每一个字母,用在字母表中继该字母固定数目后的字母进行替换。 因此,在情报中,我们可以把每个A都用D替换,每个B都用E替换,每个C都用F替换,等等,即移动三个字母。以此类推,直到用Z替换W。之后,我们将此替换模式循环,即将X用A替换,Y用B替换,Z用C替换。为情报执行凯撒加密法编写程序,其中包括大小写字符。原创 2022-04-26 17:22:10 · 374 阅读 · 0 评论 -
c++ 动态规划图的传递闭包问题
文章目录问题描述解决方法(完整代码)代码细节说明二维数组的运用初始化时的直接有向路径的相关两个顶点思路参考问题描述问题:求任意n个顶点的有向连通图的传递闭包。传递闭包可以定义为⼀个n阶布尔矩阵T=tij ,如果从第i个顶点到第j个顶点之间存在⼀条有效的有向路径(即⻓度⼤于0的有向路径),矩阵第i⾏(1≤i≤n)第j列(1≤j≤n)的元素为1,否则, tij为0.1.请设计⼀个动态规划算法求解该问题。2. 理解动态规划法的设计思想。解题提示:1. 解法⼀:采⽤深度优先查找或⼴度优先查找可⽣成有向原创 2021-12-06 18:30:39 · 1169 阅读 · 0 评论 -
C++ 算法设计与分析中作业调度问题
问题:作业调度: 如果在单处理器上,有 n 个运行时间分别为 t1,t2,t3, …, tn的已知作业,请考虑它们的调度问题。这些作业可以按任意顺序执行,一次只能执行一个作业。要求:(1)安排一个调度计划,使得所有的作业在系统中花费的时间最少(一个作业在系统中花费的时间是该作业用于等待的时间和用于运行的时间的总和。)思路:按照作业运行时间递增的顺序进行调度(运行时间一样,按照id递增的顺序进行调度为该问题设计一个贪婪算法;(2)分析该贪婪算法是否总是能产生最优解?代码中用到的部分知识.转载 2021-12-03 21:32:06 · 1692 阅读 · 0 评论 -
c++使用线程将a、b按照交替的顺序进行输出
c++使用线程将a、b按照交替的顺序进行输出线程注意事项单线程操作交替打印a和b多线程操作交替打印a和b程序结果分析线程注意事项线程是同步进行的,运行结果不分定义的线程对象调用函数的先后顺序(即线程的执行顺序与语句定义的先后顺序关系不大)//举个例子 --下面的fb和fa都是函数名称thread tb(fb); //创建了一个线程对象tb,使用函数fb进行线程初始化thread ta(fa); //创建了一个线程对象ta,使用函数fa进行线程初始化//这里程序运行可能先执行的是线程ta再执行线原创 2021-11-02 17:42:23 · 1097 阅读 · 0 评论 -
交替放置的碟子
问题描述:假设有数量为 2n 的一排碟子,n 黑 n 白交替放置:黑、白、黑、白、黑、…。现在要把黑碟子都放在右边,白碟子都放在左边,但只允许通过互换相邻碟子的位置来实现,为该谜题写个算法,并确定该算法需要执行的换位次数//假设有数量为 2n 的一排碟子,n 黑 n 白交替放置:黑、白、黑、白、黑、......。//现在要把黑碟子都放在右边,白碟子都放在左边,但只允许通过互换相邻碟子的位置来实现,//为该谜题写个算法,并确定该算法需要执行的换位次数。#include<iostream原创 2021-11-08 18:11:27 · 1273 阅读 · 2 评论 -
最优装载问题(将一批集装箱装上一艘载重为轮船,其中集装箱i的重量为Wi(0<=i<=n-1) 最优装载问题是指在装载体积不受限制的情况下,求使得集装箱数目最多的装载方案 )
最优装载问题是将一批集装箱装上一艘载重为轮船,其中集装箱i的重量为Wi(0<=i<=n-1)最优装载问题是指在装载体积不受限制的情况下,求使得集装箱数目最多的装载方案e.g: 设有重量为(4,6,3,5,7,2,9)的7个集装箱,轮船的载重为26,求最优解选择策略: 重量最轻者先装,可产生最优解#include<iostream>using namespace std;void boxWeightSort(int boxWeight[],int boxNumber).原创 2021-11-15 18:42:03 · 3515 阅读 · 0 评论