算法
逢着
18级本科生
展开
-
校园导航系统设计
描述:图的最短路径问题是指从指定的某一点v开始,求得从该地点到图中其它各地点的最短路径。并且给出求得的最短路径的长度及途径的地点。设计学校的平面图,至少包括10个以上的场所,每两个场所间可以 有不同的路,且路长也可能不同,找出从任意场所到达另一场所最短路径(即用迪杰斯特拉算法),以及从任意场所到达所有场所的最短路径(即用弗洛伊德算法)。要求:输出顶点信息:将校园内各景点输出。输出边的信息:将校园内每两个位置(若两个位置之间有直接路径)的距离输出。修改:修改两个位置(若两个位置之间有直接路径)的距原创 2020-12-22 18:52:43 · 2283 阅读 · 6 评论 -
用贪心法求解活动安排问题
#include<iostream>using namespace std;const int activityNCounts = 11;int ActiveManage(int s[], int f[], int B[], int n){ int i,j=0,count=1; B[0]=1; //安排活动1 // j=0;count=1; for (i=1; i<n; i++) //依次考察每一个活动 { if (s[i原创 2020-11-26 13:09:55 · 560 阅读 · 0 评论 -
用贪心法求解背包问题
#include<iostream>using namespace std;const int bagVolume = 50;//背包体积const int itemNumber = 3;//准备放入的物品数量//贪心法求背包问题int KnapSack(int w[], int v[], int C){ double x[itemNumber]={0}; int maxValue=0,i=0; for (i=0; w[i]<C; i++) {原创 2020-11-26 13:08:12 · 750 阅读 · 0 评论 -
动态规划旅游问题:汽车加满油可以跑n千米,中途有若干个加油站,请用动态规划的方式求解中途加油次数最少的方案。
算法课的课堂测试,问题大概就是这些描述。动态规划旅游问题: 汽车加满油可以跑n千米,中途有若干个加油站,请用动态规划的方式求解中途加油次数最少的方案。我的代码:#include<iostream>using namespace std;const int car = 10;//汽车加满油后的续航里程void travel(int gasNumber[], int weight[], int count){ if (car < weight[0]) {原创 2020-10-31 11:07:34 · 1929 阅读 · 0 评论 -
用动态规划方法求解最大字段和问题
如果你对动态规划方法求解最大字段和问题的思路不太清楚,直接阅读代码不是一个好的建议。推荐一个讲解视频:最大子序和 - 动态规划练习网址(视频配套的练习)#include<iostream>using namespace std;int maxSubArray(int a[], int length){ int final_max=a[0]; for (int i = 1; i < length; i++) { if (a[i-1] &原创 2020-10-29 19:15:19 · 1456 阅读 · 0 评论 -
用动态规划方法求解0-1背包问题
如果你对动态规划方法求解0-1背包问题的思路不清晰,直接阅读代码并不是一个好的建议。推荐一个B站up主的视频讲解:0/1背包问题-动态规划练习地址(B站视频配套的网址)#include<iostream>using namespace std;const int bagVolume = 6;//背包体积const int itemNumber = 4;//准备放入的物品数量const int rows = itemNumber + 1;//table表格的行:0,1,2,3,4原创 2020-10-29 18:43:55 · 2457 阅读 · 0 评论 -
实现递归折半算法
package com.tust.half_search;/** * @Author: Liyutian * @Date:Create:in 2020/10/9 11:03 */public class HalfSearch { /** * 返回目标数的索引值 * @param a 数组 * @param low 数组最头索引 0 * @param high 数组尾索引 * @param x 你想要在数组a中查找的数 * @r原创 2020-10-09 17:49:44 · 304 阅读 · 0 评论