![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法题
文章平均质量分 60
synapse0915
热爱计算机
展开
-
Emergency——Dijkstra算法
1003 Emergency (25分)比较早时候做的题,所以不算太规范代码#include<cstdio>#include<iostream>#include<cmath>#include<cstring>#include<algorithm>#include<iomanip>#define maxf 0x3f3f3f3fusing namespace std;int access[501][501];i原创 2020-09-26 19:28:22 · 151 阅读 · 0 评论 -
天梯地图——Dijkstra和数据结构
进阶实验6-3.3 天梯地图 (30分)代码#include <iostream>#include <vector>using namespace std;#define MaxDis 0x3f3f3f3f#define MaxNum (501)int n,m;int sum_time[MaxNum],dist[MaxNum],cnt[MaxNum],visit_time[MaxNum],path_time[MaxNum],path_dis[MaxNum],visit原创 2020-09-10 12:44:37 · 216 阅读 · 0 评论 -
旅游规划——Dijkstra算法
案例6-1.5 旅游规划 (25分)题目要求是找出最短的路径,最短路径不唯一就选择最便宜的路径输入格式:输入说明:输入数据的第1行给出4个正整数N、M、S、D,其中N(2≤N≤500)是城市的个数,顺便假设城市的编号为0~(N−1);M是高速公路的条数;S是出发地的城市编号;D是目的地的城市编号。随后的M行中,每行给出一条高速公路的信息,分别是:城市1、城市2、高速公路长度、收费额,中间用空格分开,数字均为整数且不超过500。输入保证解的存在。输出格式:在一行里输出路径的长度和收费总额,数字间以原创 2020-09-01 14:50:38 · 237 阅读 · 0 评论 -
整型关键字的平方探测法散列——散列查找
基础实验5-2.1 整型关键字的平方探测法散列 (25分)首先题目有说明表的大小要是大于等于所给表长的最小素数,表长求不好会影响之后的检测位置输入格式:首先第一行给出两个正整数 MSize(≤104)和 N(≤MSize),分别对应输入的表长和输入数字的个数。随后第二行给出 N 个不重复的正整数,数字间以空格分隔。输出格式:在一行中按照输入的顺序给出每个数字在散列表中的位置(下标从 0 开始)。如果某个数字无法插入,就在其位置上输出 -。输出间以 1 个空格分隔,行首尾不得有多余空格。代码原创 2020-08-31 17:04:33 · 953 阅读 · 0 评论 -
二叉搜索树+贪心—Find Coins
1048 Find Coins (25分)题目大意:你有n(最多105)这么多的硬币,找出2个硬币满足m,有多个解决方案,输出其中一个硬币面值最小的组合,找不出则输出No Solution输入样例18 151 2 8 7 2 4 11 15输出样例14 11输入样例27 141 8 7 2 4 11 15输出样例2No Solution我使用的方法是用二叉搜索树存储数据加贪心,从i=1和m-i开始找,找到直接输出,直到i>m/2,找不到就输出No Solut原创 2020-08-28 12:11:35 · 250 阅读 · 2 评论 -
Root of AVL Tree——二叉平衡树
1066 Root of AVL Tree (25分)输入样例1588 70 61 96 120输出样例170输入样例2788 70 61 96 120 90 65输出样例288运行截图代码#include <iostream>using namespace std;typedef struct AVLNode *Position;typedef Position AVLTree;struct AVLNode{ int data原创 2020-08-27 18:26:03 · 226 阅读 · 0 评论 -
列出叶结点——树和层序遍历
基础实验4-2.2 列出叶结点 (25分)建树+层序遍历运行结果代码#include <iostream>#include <queue>#include <cstring>using namespace std;#define NUL -1typedef struct TreeNode *Node;struct TreeNode{ int data; int Left; int Right;}s[50];int fla原创 2020-08-25 20:55:24 · 358 阅读 · 0 评论 -
求前缀表达式的值——线性结构
求前缀表达式的值需要从后往前读,其他和后缀表达式求值方式相同,利用堆栈求值##输入样例“ + + 2 * 3 - 7 4 / 8 ”##输出样例13.0#include <iostream>#include <iomanip>#include <stack>#include <cstring>#include <cmath>using namespace std;stack<double> num;boo原创 2020-08-25 20:15:20 · 575 阅读 · 0 评论 -
插入排序还是归并排序——判断排序
案例7-1.2 插入排序还是归并排序 (25分)为了练习打排序算法,我的方法就是把两个排序都模拟出来,一边模拟一边判断序列是哪种排序算法#include <iostream>using namespace std;int n;int s[102];int a[102];int tmp[102];int tips=0;void merge(int A[],int TmpA[],int L,int R,int RightEnd){ int LeftEnd=R-1;原创 2020-08-24 20:07:31 · 469 阅读 · 0 评论 -
汉密尔顿回路问题
汉密尔顿回路 (25分)著名的“汉密尔顿(Hamilton)回路问题”是要找一个能遍历图中所有顶点的简单回路(即每个顶点只访问 1 次)。本题就要求你判断任一给定的回路是否汉密尔顿回路。代码#include<iostream>#include<cstdlib>using namespace std;#define MaxNum 210typedef int Vertex;typedef struct GNode *PtrNode;struc原创 2020-08-24 19:46:46 · 953 阅读 · 0 评论 -
六度空间——图与线性结构
六度空间“六度空间”理论又称作“六度分隔(Six Degrees of Separation)”理论。这个理论可以通俗地阐述为:“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过五个人你就能够认识任何一个陌生人。”如图1所示。“六度空间”理论虽然得到广泛的认同,并且正在得到越来越多的应用。但是数十年来,试图验证这个理论始终是许多社会学家努力追求的目标。然而由于历史的原因,这样的研究具有太大的局限性和困难。随着当代人的联络主要依赖于电话、短信、微信以及因特网上即时通信等工具,能够体现社原创 2020-08-16 10:12:03 · 463 阅读 · 0 评论