- 1770
- 1
- 约4.07万字
- 约 41页
- 2018-08-30 发布于湖北
- 举报
算法设计与分析(第2版)-王红梅-胡明-习题
答案
习题1
1. 图论诞生于七桥问题。出生于瑞士的伟大数学家欧拉(Leonhard Euler,1707—1783)
提出并解决了该问题。七桥问题是这样描述的: 北区
一个人是否能在一次步行中穿越哥尼斯堡(现在
东区
叫加里宁格勒,在波罗的海南岸)城中全部的七 岛区
座桥后回到起点,且每座桥只经过一次,图1.7
是这条河以及河上的两个岛和七座桥的草图。请 南区
将该问题的数据模型抽象出来,并判断此问题是 图1.7 七桥问题
否有解。
七桥问题属于一笔画问题。
输入:一个起点
输出:相同的点
1,一次步行
2,经过七座桥,且每次只经历过一次
3,回到起点
该问题无解:能一笔画的图形只有两类:一类是所有的点都是偶点。另一类是只有二个
奇点的图形。
2.在欧几里德提出的欧几里德算法中 (即最初的欧几里德算法)用的不是除法而是减
法。请用伪代码描述这个版本的欧几里德算法
1.r m-n
2.循环直到r 0
2.1 m n
2.2 n r
2.3 r m-n
3 输出m
3.设计算法求数组中相差最小的两个元素 (称为最接近数)的差。要求分别给出伪代
码和C++描述。
//采用分治法
//对数组先进行快速排序
//在依次比较相邻的差
第 1 页 共 41 页
#include iostream
using namespace std;
int partions(int b[],int low,int high)
{
int prvotkey b[low];
b[0] b[low];
while (lowhigh)
{
while (lowhighb[high] prvotkey)
--high;
b[low] b[high];
while (lowhighb[low] prvotkey)
++low;
b[high] b[low];
}
b[low] b[0];
return low;
}
void qsort(int l[],int low,int high)
{
int prvotloc;
if(lowhigh)
{
prvotloc partions(l,low,high); //将第一次排序的结果作为枢轴
qsort(l,low,prvotloc-1); //递归调用排序 由low 到prvotloc-1
qsort(l,prvotloc+1,high); //递归调用排序 由 prvotloc+1到 high
}
}
void quicksort(int l[],int n)
{
qsort(l,1,n); //第一个作为枢轴 ,从第一个排到第n个
}
int main()
{
int a[11] {0,2,32,43,23,45,36,57,14,27,39};
int value 0;//将最小差的值赋值给value
for (int b 1;b11;b++)
couta[b] ;
第 2 页 共 41 页
coutendl;
quicksort(a,11);
for(int i 0;i! 9;++i)
{
if( (a[i+1]-a[i]) (a[i+2]-a[i+1]) )
value a[i+1]-a[i];
else
value a[i+2]-a[i+1];
}
您可能关注的文档
最近下载
- 高考数学考点与题型全归纳.docx VIP
- (高清版)-B-T 30146-2023 安全与韧性 业务连续性管理体系 要求.pdf VIP
- 高考数学考点题型全归纳.pdf VIP
- 2026年度黑龙江省交通运输厅所属事业单位公开招聘工作人员86人备考题库带答案详解(完整版).docx
- 2026年01月20日路易达孚(青岛)粮油食路易达孚食品科技产业中心青岛董家口一期项目董家口港区港润大道以东、纬十四路以北.pdf VIP
- 【高中物理】题型全总结(16专题),详细总结与归类!.pdf VIP
- 安徽师大附中2026届高二化学第一学期期末综合测试试题含答案.doc
- 化学元素读音及顺口溜大全.doc VIP
- 成都市固体废弃物卫生处置场三期工程环评报告书小.pdf VIP
- 新编英语教程4(第三版)李观仪习题答案.pdf
原创力文档

文档评论(0)