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 Version(30 分)
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 分) 下面是一個