최소 스패닝 트리의 예에 대한 자세한 설명
Minimum Spanning Tree - Prim's Algorithm and Kruskal's Algorithm
그래프의 스패닝 트리는 모든 꼭짓점을 포함하는 비순환 연결 하위 그래프이며, 가중치 그래프의 최소 스패닝 트리는 가장 작은 가중치 스패닝 트리를 갖는 그래프입니다.
Prim 알고리즘
알고리즘에 대한 간단한 설명
1) 입력: 정점 집합은 V이고 가장자리 집합은 E입니다. 2) 초기화: Vnew
= {x}, 여기서 x는 집합 V의 노드(시작점)이고 Enew = {}는 비어 있습니다. 3). V new
= V까지:a 집합 E에서 가장 작은 가중치 를 선택합니다. 여기서 u는 집합 Vnew
의 요소이고 v는 집합에 포함되지 않습니다. 집합 Vnew, 그리고 v∈V(위 조건을 충족하고 동일한 가중치를 갖는 모서리가 여러 개 있으면 임의로 그중 하나를 선택할 수 있음) b 집합 V에 v를 추가합니다. new
및 edge가 집합 Enew; 4에 추가됩니다. 출력: 결과 최소 스패닝 트리를 설명하려면 Vnew
및 Enew 집합을 사용합니다.
다음은 알고리즘의 범례 설명입니다
설명 | 선택 사항이 아닙니다 | 선택 | 선택됨(Vnew | )|
---|---|---|---|---|
| 이 임의로 시작점으로 선택되었습니다. 정점 A, B | ,E 및 F | 는 단일 모서리로D에 연결됩니다. A | 는D에 가장 가까운 정점이므로 A | 와 해당 가장자리
D 또는 A | D의 9, A의 7, E는 15, F는 6입니다. 따라서 F는 D 또는 A에 가장 가깝기 때문에 꼭지점 F과 해당 가장자리 DF가 강조 표시됩니다. 알고리즘은 위의 단계를 계속 반복합니다. 거리 A가 7인 정점 B이 강조 표시됩니다. | C | B, E, G | A, D, F |
|
현재 상황에서는 C, E, G 중에서 선택할 수 있습니다. C는 B의 8, E는 B의 7, G는 F의 11입니다. E가 가장 가깝기 때문에 정점 E과 해당 가장자리 BE가 강조 표시됩니다. | 없음 | C, E, G | A, D, F, B |
|
여기서 선택할 수 있는 유일한 정점은 C 및 G. C과 E 사이의 거리는 5이고, G과 E 사이의 거리는 9이므로 C가 선택되어 가장자리 EC와 함께 강조 표시됩니다. | 없음 | C, G | A, D, F, B, E |
VertexG 는 유일하게 남아 있는 정점입니다. F로부터의 거리는 11이고, E로부터의 거리는 9이며, E가 가장 가깝기 때문에 G와 해당 가장자리 EG가 강조 표시됩니다. | None | G | A, D, F, B, E, C | |
이제 모든 정점이 선택되었습니다. , 그림에서 녹색 부분은 연결된 그래프의 최소 스패닝 트리입니다. 이 예에서 최소 스패닝 트리의 가중치 합은 39입니다. | 없음 | 없음 | A, D, F, B, E, C, G |
알고리즘 구현은 Tsinghua Publishing House의 "알고리즘" 제4판 또는 "데이터 구조 - Java 언어 구현"을 참조하세요. (구현 방법이 더 명확하고 간단합니다.)
Kruskal Algorithm
1. 개요
Kruskal 알고리즘은 Joseph Kruskal이 1956년에 발표한 최소 신장 트리를 찾는 데 사용되는 알고리즘입니다. 동일한 문제를 해결하는 데 사용되는 Prim 알고리즘과 Boruvka 알고리즘도 있습니다. 세 가지 알고리즘 모두 그리디 알고리즘을 적용한 것입니다. Boruvka 알고리즘과의 차이점은 Kruskal 알고리즘은 그래프에 동일한 가중치를 갖는 간선이 있을 때에도 효과적이라는 점입니다.
2. 알고리즘에 대한 간단한 설명
1) 그래프에는 v 꼭지점과 e 모서리가 있다는 것을 기억하세요
2). , Graphnew 는 원본 그래프에 동일한 e 꼭지점을 가지지만 가장자리는 없습니다
3) 원본 그래프의 모든 e 가장자리를 가중치에 따라 작은 것에서 큰 것으로 정렬합니다4). 가중치 Graph의 모든 노드가 동일한 연결된 구성 요소에 있을 때까지 가장 작은 가장자리가 각 가장자리를 통과하기 시작합니다. 측면 가장자리에 연결된 두 노드는 Graph
new
到 그래프에 이 가장자리를 추가하여 그래프로 만들기 Graph
new
범례 설명:
우선, 그림 그래프와 몇 가지 점과 가장자리가 있습니다
모든 모서리의 모든 모서리 길이별로 정렬하고 정렬된 결과를 모서리 선택의 기초로 사용합니다. 여기에 다시 탐욕 알고리즘의 아이디어가 반영됩니다.
将용到综합합합) 로컬 최적 리소스를 선택합니다. 완료되면 가장 먼저 Edge AD를 선택하게 됩니다. 이런 식으로 우리 그림은 오른쪽 그림이 됩니다
나머지 변경 사항을 찾아보세요. CE를 찾았습니다. 여기의 가중치도 5
이고 비유적으로 6, 7, 7, 즉 DF, AB, BE를 찾습니다.
비슷한 EF는 EB, BA, AD, DF를 통해 연결 가능). 따라서 선택할 필요가 없습니다. 유사한 BD도 연결되어 있습니다. (위 그림의 연결선은 빨간색으로 표시되어 있습니다.) 결국 EG와 FG만 남았네요. 물론 우리는 EG를 선택했습니다.
🎜알고리즘 구현은 "알고리즘" 제4판의 코드를 참고하세요. 🎜🎜🎜
위 내용은 최소 스패닝 트리의 예에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP를 사용하여 새로 고침 가능한 이미지 확인 코드를 생성하는 방법 인터넷이 발달하면서 악의적인 공격과 자동 기계 작동을 방지하기 위해 많은 웹사이트에서 사용자 확인을 위해 확인 코드를 사용하고 있습니다. 일반적인 확인 코드 유형 중 하나는 이미지 확인 코드로, 임의의 문자가 포함된 그림을 생성하고 사용자가 계속 진행하기 전에 올바른 문자를 입력하도록 요구합니다. 이 문서에서는 PHP를 사용하여 새로 고칠 수 있는 이미지 확인 코드를 생성하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1단계: 인증 코드 이미지 생성 먼저 인증 코드 이미지를 생성해야 합니다.

데이터 과학 분야에서 무작위 데이터를 생성하는 것은 매우 중요합니다. 신경망 예측 구축, 주식 시장 데이터 등에서는 일반적으로 날짜가 매개 변수 중 하나로 사용됩니다. 통계 분석을 위해 두 날짜 사이에 난수를 생성해야 할 수도 있습니다. 이 기사에서는 random 및 datetime 모듈을 사용하여 주어진 두 날짜 사이에 k개의 무작위 날짜를 생성하는 방법을 보여줍니다. Datetime은 시간 처리를 위한 Python의 내장 라이브러리입니다. 반면에, Random 모듈은 난수를 생성하는 데 도움이 됩니다. 따라서 무작위 모듈과 날짜/시간 모듈을 결합하여 두 날짜 사이의 무작위 날짜를 생성할 수 있습니다. 여기서 구문 random.randint(start, end, k) random은 Python 무작위 라이브러리를 나타냅니다. randint 방법은 세 가지 중요한 방법을 사용합니다.

아이플라이텍은 음성 표현을 서면 초안으로 직접 변환할 수 있는 회의록 기능을 업그레이드했으며, AI는 녹음을 기반으로 회의록을 요약할 수 있다. AI는 회의록 작성을 완료하는 데 도움을 줄 수 있습니다. 8월 31일 iFlytek 웹 버전이 업그레이드되어 PC 측에 실시간 녹음 기능이 추가되어 인공지능을 사용하여 회의록을 지능적으로 생성할 수 있습니다. 이 기능의 출시로 사용자가 콘텐츠를 정리하고 회의 후 주요 작업 항목에 대해 후속 조치를 취하는 효율성이 크게 향상될 것입니다. 회의에 자주 참석하는 사람들에게 이 기능은 의심할 여지 없이 많은 시간과 에너지를 절약할 수 있는 매우 실용적인 도구입니다. 이 기능의 적용 시나리오는 주로 PC의 녹음 내용을 텍스트로 변환하고 자동으로 회의록을 생성하는 것입니다. 탁월한 서비스와 최첨단 기술을 갖춘 제품으로 사무실 효율성을 빠르게 향상시킵니다.

자연어 생성은 데이터를 자연어 텍스트로 변환하는 인공지능 기술이다. 오늘날의 빅데이터 시대에는 데이터를 시각화하거나 사용자에게 제시해야 하는 기업이 점점 더 많아지고 있으며, 자연어 생성은 매우 효과적인 방법입니다. PHP는 웹 애플리케이션을 개발하는 데 사용할 수 있는 매우 널리 사용되는 서버측 스크립팅 언어입니다. 이 기사에서는 기본적인 자연어 생성을 위해 PHP를 사용하는 방법을 간략하게 소개합니다. 자연어 생성 라이브러리 소개 PHP와 함께 제공되는 함수 라이브러리에는 자연어 생성에 필요한 함수가 포함되어 있지 않으므로

효율적인 정보 이해와 표현을 위해서는 데이터 시각화가 필수적입니다. 사용 가능한 다양한 차트 유형 중에서 와플 차트는 정사각형 타일이 있는 격자형 구조로 데이터를 표시하는 새로운 방법입니다. 강력한 Python 모듈인 PyWaffle은 많은 계산 및 데이터 분석 방법과 유사한 와플 차트 개발을 용이하게 합니다. 이 기사에서는 정교한 Python 모듈인 PyWaffle을 사용하여 와플 차트를 만드는 방법을 살펴보겠습니다. PyWafle을 설치하고 이를 사용하여 범주형 데이터를 시각화하는 방법을 살펴보겠습니다. cmd에서 다음 명령을 실행하여 라이브러리를 설치한 다음 이를 코드로 가져옵니다. pipinstallpywaffleExample1의 중국어 번역은 다음과 같습니다. 예 1 이 예에서는

PHP를 사용하여 시간 제한이 있는 QR 코드를 생성하는 방법은 무엇입니까? 모바일 결제와 전자티켓의 대중화로 QR코드는 보편화된 기술이 되었습니다. 많은 시나리오에서 시간 제한이 있는 QR 코드를 생성해야 할 수 있으며, 이는 일정 기간이 지나도 유효하지 않습니다. 이 기사에서는 PHP를 사용하여 시간 제한이 있는 QR 코드를 생성하는 방법을 소개하고 참조용 코드 예제를 제공합니다. PHPQRCode 라이브러리 설치 PHP를 사용하여 QR 코드를 생성하려면 먼저 PHPQRCode 라이브러리를 설치해야 합니다. 이 도서관

기술의 발달로 전자 문서는 우리의 일상 업무와 학습에 없어서는 안될 부분이 되었습니다. 전자 문서, 특히 긴 기사나 논문을 편집할 때 목차 생성은 매우 중요한 단계입니다. 목차를 사용하면 독자가 기사의 내용과 구조를 더 쉽게 찾을 수 있고 읽기 효율성을 높일 수 있습니다. 그러나 때때로 카탈로그 생성 과정에서 카탈로그 생성 오류, 순서 혼란 등 몇 가지 문제가 발생할 수 있습니다. 그렇다면 디렉토리라는 단어가 잘못 생성된 경우 어떻게 해결해야 할까요? 머리

온라인 질문에 대한 오답집을 생성하는 방법 오늘날의 정보화 시대에 온라인으로 질문에 답변하는 것은 많은 학생과 교육자에게 일반적인 작업이 되었습니다. 잘못된 질문은 학습 과정에서 항상 문제 중 하나였습니다. 많은 사람들은 지식을 더 잘 검토하고 마스터할 수 있도록 온라인 답변에 대한 오답 책을 쉽게 생성하기를 원합니다. 이 기사에서는 프로그래밍을 통해 온라인 답변 오류 책 생성 기능을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1단계: 온라인 답변 및 오류 책자를 생성하기 위한 웹 인터페이스 구축 질문과 답변을 표시하려면 웹 인터페이스가 필요합니다. HTML을 사용할 수 있습니다
