![](https://img-blog.csdnimg.cn/20210712135255542.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法设计与分析
关于算法设计与分析用到的一点点代码
豆豆豆豆芽
这个作者很懒,什么都没留下…
展开
-
7.八皇后问题-C++实现
问题描述如下:代码如下:#include <iostream>using namespace std;const int ArSize = 8;//这个数等于几,就是几皇后。int num = 0;void solve(bool arr[ArSize][ArSize], int row);bool check(bool arr[ArSize][ArSize], int row, int column);void outPut(bool arr[ArSize][Ar.原创 2022-03-23 19:53:54 · 695 阅读 · 0 评论 -
6.给定自然数n,确定满足下述关系的最小的数s,s可表示为两对不同自然数n次方之和,找出最小的数s,使得: s=an + bn =cn + dn
题目要求如下:分析如下:1.定义一个链表,从大到小放入s,先行后列进行计算,然后再逐次插入链表,插入的过程中,与每个数做判断2.若大于后一个数,小于前一个数则直接插入3.直至出现相等的情况,则找到最小s,程序结束代码如下:#include<iostream>using namespace std;//定义一个链表,从大到小放入s,先行后列进行计算,然后再逐次插入链表,插入的过程中,与每个数做判断//若大于后一个数,小于前一个数则直接插入//直至出现相等的情况,原创 2022-03-13 20:18:45 · 1435 阅读 · 0 评论 -
5.求解前n个素数
利用c++代码#include<iostream>#include"math.h"using namespace std;bool isPrimeNumber(int number) { //判断是否为素数 float sqrtOfNum = sqrt(number); //减少判断次数 for (int j = 2; j <= sqrtOfNum; j++) //从2到number的算术平方根迭代 if (number / j * j ==原创 2022-03-13 17:37:18 · 1484 阅读 · 0 评论 -
有一座高度是10级台阶的楼梯,从下往上走,每跨一步只能向上1级或者2级台阶。要求用程序求出一共有多少种走法。
题目描述:有一座高度是10级台阶的楼梯,从下往上走,每跨一步只能向上1级或者2级台阶。要求用程序求出一共有多少种走法。思想:使用动态规划易得:F(10)=F(9)+F(8)F(n)=F(n-1)+F(n-2)因此比较斐波那契数列可得代码结构:#include<iostream>using namespace std;int stair2(int i, int n, int x, int y){ if (i <= n) stair2(i + 1,原创 2021-05-08 17:32:08 · 1818 阅读 · 0 评论 -
多段图问题
求由s到t的最小成本路径下面由5段图为例找到1到12 的最短路径以及路径长度#include <iostream>#include<fstream>#include <vector>#define MAX 9999using namespace std;//初始化表void read_file(vector<vector<int> >& g, vector<vector<int> >原创 2021-05-09 13:16:56 · 382 阅读 · 0 评论 -
插入排序 C++实现
插入排序使用C++实现#include<iostream>#include<fstream>#include<vector>using namespace std;vector<int> Datalist;void read_file(){ ifstream infile; infile.open("in.txt", ios::in);//打开文件 if (!infile.fail()) {原创 2021-05-12 00:05:42 · 93 阅读 · 0 评论 -
分治法-二分检索法查找
二分检索算法int search(int num, int a[]){ int low = 0; //数组第一个数下标 int high = a.size(); //数组最后一个数下标 while (low <= high) //分治法进行检索 { int mid = (low + high) / 2; if (num < a[mid]) high = mid - 1; else if (num > a[mid]) low = mid +原创 2021-05-11 21:28:57 · 113 阅读 · 0 评论