데이터 구조 제6 장 학습 소결
그 다음 에 그림 의 저장 구 조 는 여기 서 주로 인접 행렬 과 인접 표 가 있 고 인접 행렬 은 주로 두 개의 그룹 이 있 으 며 정점 표 와 인접 행렬 이 있 으 며 가중치 가 있 으 면 행렬 에 해당 하 는 값 을 부여 해 야 한다.그 다음 에 인접 표 입 니 다. 여 기 는 지침 과 관련 되 고 구축 할 때 세 개의 구조 체 가 있 습 니 다. 저 는 개인 적 으로 지정 지침 이라는 것 을 잊 기 쉬 우 며 교과서 로 많이 돌아 가 야 합 니 다.
그림 을 옮 겨 다 니 는 데 는 주로 두 가지 알고리즘 인 BFS 와 DFS 가 있다.직접 코드 올 리 기:
void DFS_AM(AMGraph G, int v)
{ // G
cout << v << " "; // v
visited[v] = true;
for(w=0; w// v
if((G.arcs[v][w]!=0)&& (!visited[w]))
DFS_AM(G, w); //w v , w , DFS_AM
}
void DFSTraverse(Graph G)
{ // G
for(v=0; vv)
visited[v] = FALSE; //
for (v=G.vexnum-1; v>=0; --v)
if (!visited[v]) DFS(G, v); // DFS
}
BFS, 저 는 개인 적 으로 잘 모 르 니 교과 서 를 많이 봐 야 합 니 다.
void BFS(Graph &G, int j)
{//
visited[j] = true;
queue<int> qu;
qu.push(j);
while(qu.size() != 0)
{
int mark = qu.front();
qu.pop();
cout<" ";
for(int i=0; i)
{
if(G.edges[i][mark] == 1 && visited[i] == false)
{
visited[i] = true;
qu.push(i);
}
}
}
}
그 다음 에 최소 생 성 트 리 는 두 가지 중요 한 방법 이 있 습 니 다. 하 나 는 최소 가중치 를 구성 할 수 있 는 변 의 정점 을 계속 찾 아 집합 U 에 보충 하 는 것 입 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.