關節點 鄰接表

2022-05-03 01:30:10 字數 2728 閱讀 4141

#include "

stdafx.h

"#include

#include

#include

using

namespace

std;

#define infinity 65535

#define max_vertex_num 20 //

頂點最多個數

#define length 5 //

頂點字元長度

//*********************************鄰接表***********************************begin

typedef char

vertextype[length];

typedef

struct

arcnode

arcnode;

typedef

struct

vnode

vnode, adjlist[max_vertex_num];

typedef

struct

algraph;

int locatevex(const algraph & g, char

name[length])

}return -1;}

//圖的建造

void creategraph(algraph &g)

fcin>>g.arcnum;

char

archead[length];

char

arctail[length];

intweight;

arcnode *p, *q;

arcnode *ptmp;

for (int i = 0; i < g.arcnum; i++)

else

ptmp->nextarc =p;

}if (null ==g.vertices[y].firstarc)

else

ptmp->nextarc =q;

}/*p->adjvex = y;

p->nextarc = g.vertices[x].firstarc;

p->weight = weight;

g.vertices[x].firstarc = p;

q->adjvex = x;

q->nextarc = g.vertices[y].firstarc;

q->weight = weight;

g.vertices[y].firstarc = q;*/}

}//v的第乙個鄰接點

int firstadjvex(const algraph &g, int

v)

return -1;}

//v相對於w的下乙個鄰接點

int nextadjvex(const algraph &g, int v, int

w) }

return -1;}

//*********************************鄰接表***********************************end

//*********************************關節點***********************************begin

int countnum = 0

;int

visited[max_vertex_num];

intlow[max_vertex_num];

void dfsarticul(algraph g, int

v0)

if (low[w] >=visited[v0])

}else

if (visited[w] < minval) //

3、w是v0的祖先

}low[v0] =minval;

}void

findarticul(algraph g)

arcnode *p = g.vertices[0

].firstarc;

int v = p->adjvex;

dfsarticul(g, v);

if (countnum

}}}//

*********************************關節點***********************************end

//輔助函式,設定控制台的顏色

void

setconsoletextcolor(word dwcolor)

setconsoletextattribute(handle, dwcolor);

}

執行的介面如下:

建造圖的articul.txt檔案如下:

8

v1 v2 v3 v4 v5 v6 v7 v8

10v1 v2

6v1 v3

5v1 v4

5v1 v5

5v2 v3

3v4 v6

3v5 v6

5v6 v7

6v6 v8

4v7 v8

4

關節點 橋 關節點和橋模板 Tarjan

include include include using namespace std const int n 1e5,m 1e5 struct edge edge int v,int next,int idx v v next next idx idx e m int dfn n deep,hea...

複雜網路 有關節點

最近基本上看的都是有關複雜網路中有關節點影響力 重要節點的文章 網路的組成就是其中的節點,連線節點的邊,最多再加上乙個邊的權值或節點的權值 複雜網路分為 加權 不加權,有向 無向 一般是乙個二元組 或三元組 g 有三個屬性 節點,邊,權重 想要挖掘其中重要的節點 無非是從這些屬性出發 有以下幾個出發...

Hadoop 相關節點說明

hadoop框架中最核心的設計就是 mapreduce和hdfs。mapreduce的思想是由google的一篇 所提及而被廣為流傳的,簡單的一句話解釋mapreduce就是 任務的分解與結果的彙總 hdfs是hadoop分布式檔案系統 hadoop distributed file system ...