1. 程式人生 > >06-圖3 六度空間(30 分)

06-圖3 六度空間(30 分)

題目來源:中國大學MOOC-陳越、何欽銘-資料結構-2018春
作者: 陳越
單位: 浙江大學
問題描述:
“六度空間”理論又稱作“六度分隔(Six Degrees of Separation)”理論。這個理論可以通俗地闡述為:“你和任何一個陌生人之間所間隔的人不會超過六個,也就是說,最多通過五個人你就能夠認識任何一個陌生人。”如圖1所示。
這裡寫圖片描述
圖1 六度空間示意圖
“六度空間”理論雖然得到廣泛的認同,並且正在得到越來越多的應用。但是數十年來,試圖驗證這個理論始終是許多社會學家努力追求的目標。然而由於歷史的原因,這樣的研究具有太大的侷限性和困難。隨著當代人的聯絡主要依賴於電話、簡訊、微信以及因特網上即時通訊等工具,能夠體現社交網路關係的一手資料已經逐漸使得“六度空間”理論的驗證成為可能。
假如給你一個社交網路圖,請你對每個節點計算符合“六度空間”理論的結點佔結點總數的百分比。
輸入格式:
輸入第1行給出兩個正整數,分別表示社交網路圖的結點數N(1

#include <iostream>
#include <cstdio>
#include <queue>
using namespace std;
const int maxn=10005;
int G[maxn][maxn]={0};
int N,M;//結點數,邊數

int length;
int bfs(int start)
{
    int isVisited[maxn]={0};
    queue<int> bfsQueue;
    int level=0;
    int last=start;
    int tail;
    int
countPointConnexted=1; bfsQueue.push(start); isVisited[start]=1; while(!bfsQueue.empty()) { int point=bfsQueue.front(); bfsQueue.pop(); for(int i=1;i<=N;i++) { if(G[point][i]&&isVisited[i]==0) { isVisited[i]=1
; bfsQueue.push(i); countPointConnexted++; tail=i; } } if(last==point) { level++; last=tail; } if(level==6) break; } return countPointConnexted; } int main() { cin>>N>>M; for(int i=1;i<=M;i++) { int p1,p2; cin>>p1>>p2; G[p1][p2]=G[p2][p1]=1; } for(int i=1;i<=N;i++) { int sum=bfs(i); float percentage=sum*100.0/N; printf("%d: %.2f%\n",i,percentage); } return 0; }

相關推薦

PAT 習題bitset 06-3 空間 30

包括 沒有 stream con 長度 text 翻轉 大量 集合 1 #include<iostream> 2 #include<string> 3 #include<bitset> 4 5 6 using names

06-3 空間30

題目來源:中國大學MOOC-陳越、何欽銘-資料結構-2018春 作者: 陳越 單位: 浙江大學 問題描述: “六度空間”理論又稱作“六度分隔(Six Degrees of Separat

06-3 空間鄰接表練習BFS

“六度空間”理論又稱作“六度分隔(Six Degrees of Separation)”理論。這個理論可以通俗地闡述為:“你和任何一個陌生人之間所間隔的人不會超過六個,也就是說,最多通過五個人你就能夠認識任何一個陌生人。”如圖1所示。圖1 六度空間示意圖“六度空間”理論雖然得到廣泛的認同,並且正在得到越來越多

7-7 空間 30

“六度空間”理論又稱作“六度分隔(Six Degrees of Separation)”理論。這個理論可以通俗地闡述為:“你和任何一個陌生人之間所間隔的人不會超過六個,也就是說,最多通過五個人你就能夠認識任何一個陌生人。”如圖1所示。 圖1 六度空間示意圖 “

7-7 空間 30 (bfs)c++簡短高效解決

“六度空間”理論又稱作“六度分隔(Six Degrees of Separation)”理論。這個理論可以通俗地闡述為:“你和任何一個陌生人之間所間隔的人不會超過六個,也就是說,最多通過五個人你就能夠認識任何一個陌生人。”如圖1所示。 圖1 六度空間示意圖 “六度空間”理論雖然得到廣泛的認

7-2 空間30

“六度空間”理論又稱作“六度分隔(Six Degrees of Separation)”理論。這個理論可以通俗地闡述為:“你和任何一個陌生人之間所間隔的人不會超過六個,也就是說,最多通過五個人你就能夠認識任何一個陌生人。”如圖1所示。圖1 六度空間示意圖“六度空間”理論雖然得到廣泛的認同,並且正在得到越來越多

7-10 空間30 bfs

思路:找出每個點到其他點距離小於等於六的路徑有多少條,求其佔全部路徑的百分比。 #include<stdio.h> #include<stdlib.h> #include<string.h> #include&l

06-3. 空間 (30)

資料有1萬個,鄰接矩陣掛了,所以只能套鄰接表。第一次直接是套的模板,搜尋過程也是參考教材指導書上的實現。 #include<stdio.h> #include<string.h> #include<algorithm> #i

06-3 空間   (30)

“六度空間”理論又稱作“六度分隔(Six Degrees of Separation)”理論。這個理論可以通俗地闡述為:“你和任何一個陌生人之間所間隔的人不會超過六個,也就是說,最多通過五個人你就能夠認識任何一個陌生人。”如圖1所示。 圖1 六度空間示意圖 “六度空間”

PTA 06-3 空間 (30)

#include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #inc

《資料結構》06-3 空間

題目 “六度空間”理論又稱作“六度分隔(Six Degrees of Separation)”理論。這個理論可以通俗地闡述為:“你和任何一個陌生人之間所間隔的人不會超過六個,也就是說,最多通過五個人你就能夠認識任何一個陌生人。”如圖1所示。 圖1 六度空間示意圖 “六度空間”理論雖

資料結構練習題 06-3 空間 BFS

“六度空間”理論又稱作“六度分隔(Six Degrees of Separation)”理論。這個理論可以通俗地闡述為:“你和任何一個陌生人之間所間隔的人不會超過六個,也就是說,最多通過五個人你就能夠認識任何一個陌生人。”如圖1所示。 圖1 六度空間示意圖 “六度空間”理論雖然得到廣泛的認同,並且正在得到

05-3. 空間 (30)

already and connect 釋放 creat err ons create pac 1 1500ms時間能夠慷慨揮霍 2 內存一般也能夠揮霍,可是要記得釋放用完的內存,否則可能累積到內存超限 3 BFS分層註意細節,下三角矩陣找鄰接節點也要註意細節

06-1 列出連通集 25

card 通過 reac string 包含 tasks 鄰接 查找 lse 06-圖1 列出連通集 (25 分) 給定一個有N個頂點和E條邊的無向圖,請用DFS和BFS分別列出其所有的連通集。假設頂點從0到N?1編號。進行搜索時,假設我們總是從編號最小的頂點出發,按

06-1 列出連通集25

給定一個有N個頂點和E條邊的無向圖,請用DFS和BFS分別列出其所有的連通集。假設頂點從0到N−1編號。進行搜尋時,假設我們總是從編號最小的頂點出發,按編號遞增的順序訪問鄰接點。 輸入格式: 輸入第1行給出2個整數N(0 思路: 1.DFS相當於圖版的前

空間MOOC

六度空間: “六度空間”理論又稱作“六度分隔(Six Degrees of Separation)”理論。這個理論可以通俗地闡述為:“你和任何一個陌生人之間所間隔的人不會超過六個,也就是說,最多通過五個人你就能夠認識任何一個陌生人。”如圖1所示。 “六度空間”理論雖然得到廣泛的

07-5 Saving James Bond - Hard Version30

bond style n) capture end maximum imp ant bar This time let us consider the situation in the movie "Live and Let Die" in which James Bo

7-3 詞頻統計30 巧解

2018年8月15日 于山東 7-3 詞頻統計(30 分) 請編寫程式,對一段英文文字,統計其中所有不同單詞的個數,以及詞頻最大的前10%的單詞。 所謂“單詞”,是指由不超過80個單詞字元組成的連續字串,但長度超過15的單詞將只擷取保留前15個單詞字元。而合法的“

章樹和二叉樹--樹和森林-計算機17級 7-2 家譜處理 30

7-2 家譜處理 (30 分) 人類學研究對於家族很感興趣,於是研究人員蒐集了一些家族的家譜進行研究。實驗中,使用計算機處理家譜。為了實現這個目的,研究人員將家譜轉換為文字檔案。下面為家譜文字檔案的例項: John Robert Frank And

7-3 不能用迴圈是一件多麼悲傷的事 30

軟體學院第十四次訓練 205 分 程式設計題共 9 小題,共計 205 分 剩餘時間: 692:04:25 剩餘時間: 692:04:25 程式設計題 7-3 不能用迴圈是一件多麼悲傷的事 (30 分) 下面是一個