六度空间

C/C++ 

PTA的六度空间问题:地址:请点击“六度空间”理论又称作“六度分隔(SixDegreesofSepa

各排序算法的简单对比

C/C++ 

直接插入折半插入希尔排序快排双向冒泡简单选择排序归并排序堆排序希尔排序出人意料,利用随机枢值的快速排

碉堡放置-图的搜索

C/C++ 

// Fire.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "iostream"#define NUM 100using namespace std;char cMap[NUM][NUM];int iBe

TSP旅行商问题

C/C++ 

// TSP.cpp: 定义控制台应用程序的入口点。//#include "stdafx.h"#include "iostream"#define NUM 100using namespace std;int n;int m;int x[NUM];int be

数字的全排列

C/C++ 

#include "stdafx.h"#include "iostream"using namespace std;void Perm(int list[], int k, int m) {if (k == m) {for (int i = 0; i <

字符数组的所有子集

C/C++ 

#include "stdafx.h"#include "iostream"#include <cmath>using namespace std;//输出子集void getSubset(char list[]) {int length = st

寻找数组中第k小(大)的元素

C/C++ 

#include "iostream"#define NUM 100using namespace std;int a[13]={1,4,5,6,3,16,8,9,11,13,26,15,36,};int select(int left,int right,int k){if(l

最长字段和-动态规划

C/C++ 

#include "stdafx.h"#include "iostream"#define num 100using namespace std;int a[num];int MaxSum(int n){int sum=0;int b=0;for(int i=

最大字段和-分治法

C/C++ 

#include "stdafx.h"#include "iostream"using namespace std;int a[1001];int b[8]={1,-3,7,8,-4,12,-10,6};int GetMax(int a,int b,int c

单调递增序列最大长度

C/C++ 

#include "stdafx.h"#include "iostream"#define num 100using namespace std;int a[num]; //原始数据//int c[num][num]; //最优解int LIS(int n){

背包问题-贪心算法-物品可分割

C/C++ 

#include "stdafx.h"#include "iostream"#include <algorithm> #define NUM 100using namespace std;struct bag{int w; //重量int v; /

0-1背包-动态规划

C/C++ 

include "stdafx.h"#include "iostream"#define CAP 1000 //背包重量上限#define num 100 //物品数量上限using namespace std;int w[num]; //重量int v[nu

基因序列

C/C++ 

#include "stdafx.h"#include "iostream"#include "string"#define NUM 100using namespace std;int n=0;char s1[NUM];char s2[N

老鼠跑的快

C/C++ 

#include "stdafx.h"#include "iostream"using namespace std;int count[1001]={0};int path[1001]={0};struct mouse{int weight,speed,id;

活动安排问题-贪心算法

C/C++ 

#include "stdafx.h"#include "iostream"#include <algorithm> #define NUM 100using namespace std;struct action{int start;int en

最长单调递增子序列-动态规划

C/C++ 

最长单调递增子序列设L={a1,a2,a3,...,an}是n个不同的实数组成的序列,L的递增子序列是这样一个序列:L`={ak1,ak2,ak3,...,akm}其中,k1<k2<k3<...<km,且ak1<=ak2<=ak3<=...<=akm求

n皇后问题-回溯法

C/C++ 

n皇后问题在n*n的棋盘上放置彼此不受攻击的n个皇后。按照国际象棋规则,皇后可以攻击与之处在同一行、同一列或同一斜线的棋子。要求:找出一个n*n的棋盘上放置n个皇后,并使其不能互相攻击的所有方案。样例: 输入: 5 输出: 1 3 5 2 4 1 4 2 5 3 2 4 1 3 5 3 1 4 2

装载问题-分支限界算法

C/C++ 

装载问题集装箱装载问题要求在不超过轮船载重量的前提下,将尽可能多的集装箱装上船;样例: 输入: 80 4 18 7 25 36 输出: 79分析:本题可采用FIFO队列式分支限界算法,将解空间树的所有节点按照广度搜索的顺序排列成一个先进先出的队列,并用-1作为每一层的分割符。C+