习题
1
1.
图论诞生于七桥问题?/p>
出生于瑞士得伟大数学家欧?/p>
?/p>
Leonhard Euler
?/p>
1707
?/p>
1783
?/p>
提出并解决了该问题。七桥问题就是这样描?/p>
得:一个人就是否能在一次步行中穿越哥尼?
堡(现在叫加里宁格勒,在波罗得海南岸)城
中全部得七座桥后回到起点,且每座桥只经过
一次,?/p>
1
?/p>
7
就是这条河以及河上得两个岛与
七座桥得草图。请将该问题得数据模型抽象出
来,并判断此问题就是否有解?/p>
七桥问题属于一笔画问题?/p>
输入:一个起?/p>
输出:相同得?/p>
1
?/p>
一次步?/p>
2
?/p>
经过七座桥,且每次只经历过一?/p>
3
?/p>
回到起点
该问题无解:能一笔画得图形只有两类:一类就是所有得点都就是偶点。另一类就是只
有二个奇点得图形?/p>
2
.在欧几里德提出得欧几里德算法中(即
最初得欧几里德算法
)用得不就是除法而就
是减法。请用伪代码描述这个版本得欧几里德算?/p>
1
?/p>
r=m-n
2
、循环直?/p>
r=0
2
?/p>
1
m=n
2
?/p>
2
n=r
2
?/p>
3
r=m-n
3
输出
m
3
.设计算法求数组中相差最小得两个元素(称为最接近数)得差。要求分别给出伪?/p>
码与
C
++
描述?/p>
//
采用分治?/p>
//
对数组先进行快速排?/p>
//
在依次比较相邻得?/p>
#include <iostream>
using namespace std;
int partions(int b[],int low,int high)
{
int prvotkey=b[low];
b[0]=b[low];
while (low<high)
{
while (low<high&&b[high]>=prvotkey)
--high;
b[low]=b[high];
while (low<high&&b[low]<=prvotkey)
++low;
?/p>
1
?/p>
7
七桥问题
北区
东区
岛区
南区