PTA資料結構與演算法題目集 中文 7 32

2022-04-11 06:02:45 字數 1494 閱讀 3485

7-32 哥尼斯堡的「七橋問題」 (25 分)

哥尼斯堡是位於普累格河上的一座城市,它包含兩個島嶼及連線它們的七座橋,如下圖所示。

可否走過這樣的七座橋,而且每橋只走過一次?瑞士數學家尤拉(leonhard euler,1707—1783)最終解決了這個問題,並由此創立了拓撲學。

這個問題如今可以描述為判斷尤拉迴路是否存在的問題。尤拉迴路是指不令筆離開紙面,可畫過圖中每條邊僅一次,且可以回到起點的一條迴路。現給定乙個無向圖,問是否存在尤拉迴路?

輸入第一行給出兩個正整數,分別是節點數n (1)和邊數m;隨後的m行對應m條邊,每行給出一對正整數,分別是該條邊直接連通的兩個節點的編號(節點從1到n編號)。

若尤拉迴路存在則輸出1,否則輸出0。

6 10

1 22 3

3 14 5

5 66 4

1 41 6

3 43 6

1
5 8

1 21 3

2 32 4

2 55 3

5 43 4

0題目分析:一道利用 圖的遍歷的題 做這道題需要知道的是 無向圖存在尤拉迴路的充要條件 當且僅當該圖所有頂點度數為偶數,且該圖是連通圖

1

#define _crt_secure_no_warnings

2 #include3 #include

4 #include

56 typedef struct enode*edge;

7struct

enode8;

11 typedef struct gnode*graph;

12struct

gnode13;

1819

int degree[1010

];20

int collected[1010

];21

int flag = 1;22

int isedge(int v1,int

v2,graph gra)

2326

void

insert(graph gra, edge e)

2731 graph creategraph(int

nv)32

4142

graph buildgraph()

4355

return

gra;56}

5758

void dfs(graph gra,int

v)5968}

69int iscollected(int

nv)70

76int

main()

77

view code

PTA 資料結構與演算法題目集(中文)6 2

6 2 順序表操作集 20 分 本題要求實現順序表的操作集。list makeempty position find list l,elementtype x bool insert list l,elementtype x,position p bool delete list l,positio...

PTA 資料結構與演算法題目集(中文)6 5

6 5 鏈式表操作集 20 分 本題要求實現鏈式表的操作集。position find list l,elementtype x list insert list l,elementtype x,position p list delete list l,position p 其中list結構定義如...

PTA資料結構與演算法題目集(中文)7 18

題意 有兩個視窗a,b,題目給出a視窗處理完兩個顧客,b視窗處理完乙個顧客,並且當不同視窗同時處理完2個顧客時,a視窗顧客優先輸出。我們可以給出兩個佇列q1,q2分別表示a,b視窗,編號為奇數的顧客存放到q1中,為偶數的顧客存放到q2中。include include include include...