Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 3a43032

Browse files
code
1 parent cc8064a commit 3a43032

File tree

4 files changed

+606
-0
lines changed

4 files changed

+606
-0
lines changed

‎Graphs Algorithims/Minimum Spanning Tree Algorthims/Prim's Algorithm/.ipynb_checkpoints/Prim's Algorithm-checkpoint.ipynb

Lines changed: 257 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
## Prim's Algorithm
2+
3+
### Introduction
4+
5+
Prim's Algorithm is a popular greedy algorithm used for finding the minimum spanning tree (MST) of a connected, undirected graph. The goal of the algorithm is to connect all the vertices of the graph with the minimum possible total edge weight. This makes it particularly useful in network design, such as laying out an efficient and cost-effective network of roads, pipelines, or communication channels.
6+
7+
## Prim's Algorithm Pseudocode
8+
9+
Prim's Algorithm(graph):
10+
Initialize an empty set MST to store the minimum spanning tree
11+
Choose a starting vertex, add it to MST
12+
Initialize a priority queue (min heap) with edges and their weights from the starting vertex
13+
while MST does not include all vertices:
14+
Select the edge with the minimum weight from the priority queue
15+
If adding the selected edge does not create a cycle in MST:
16+
Add the edge to MST
17+
Add the destination vertex of the edge to MST
18+
Enqueue the edges connected to the destination vertex with their weights
19+
return MST
20+
21+
22+
### Purpose
23+
24+
The main purpose of Prim's Algorithm is to find a subset of edges that forms a tree including every vertex, where the total weight of all the edges in the tree is minimized. This helps in optimizing various network-related problems, ensuring that the connected infrastructure is both cost-effective and efficient.
25+
26+
### Applications
27+
28+
Prim's Algorithm finds applications in various domains:
29+
30+
- **Network Design**: Designing cost-effective and efficient networks for communication or transportation.
31+
32+
- **Cluster Analysis**: Identifying clusters or groups of related entities in data.
33+
34+
- **Maze Generation**: Creating mazes with corridors that are as short as possible.
35+
36+
- **Circuit Design**: Optimizing the layout of electronic circuits.
37+
38+
39+
### Time Complexity
40+
41+
The time complexity of Prim's Algorithm is O(E log V), where E is the number of edges and V is the number of vertices in the graph. This is mainly due to the priority queue operations.
42+
43+
### Space Complexity
44+
45+
The space complexity of Prim's Algorithm is O(V + E), where V is the number of vertices and E is the number of edges in the graph. This accounts for the space used to store the minimum spanning tree (MST) and the priority queue.
46+

‎Graphs Algorithims/Minimum Spanning Tree Algorthims/Prim's Algorithm/Prim's Algorithm.ipynb

Lines changed: 257 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
## Prim's Algorithm
2+
3+
### Introduction
4+
5+
Prim's Algorithm is a popular greedy algorithm used for finding the minimum spanning tree (MST) of a connected, undirected graph. The goal of the algorithm is to connect all the vertices of the graph with the minimum possible total edge weight. This makes it particularly useful in network design, such as laying out an efficient and cost-effective network of roads, pipelines, or communication channels.
6+
7+
## Prim's Algorithm Pseudocode
8+
9+
Prim's Algorithm(graph):
10+
Initialize an empty set MST to store the minimum spanning tree
11+
Choose a starting vertex, add it to MST
12+
Initialize a priority queue (min heap) with edges and their weights from the starting vertex
13+
while MST does not include all vertices:
14+
Select the edge with the minimum weight from the priority queue
15+
If adding the selected edge does not create a cycle in MST:
16+
Add the edge to MST
17+
Add the destination vertex of the edge to MST
18+
Enqueue the edges connected to the destination vertex with their weights
19+
return MST
20+
21+
22+
### Purpose
23+
24+
The main purpose of Prim's Algorithm is to find a subset of edges that forms a tree including every vertex, where the total weight of all the edges in the tree is minimized. This helps in optimizing various network-related problems, ensuring that the connected infrastructure is both cost-effective and efficient.
25+
26+
### Applications
27+
28+
Prim's Algorithm finds applications in various domains:
29+
30+
- **Network Design**: Designing cost-effective and efficient networks for communication or transportation.
31+
32+
- **Cluster Analysis**: Identifying clusters or groups of related entities in data.
33+
34+
- **Maze Generation**: Creating mazes with corridors that are as short as possible.
35+
36+
- **Circuit Design**: Optimizing the layout of electronic circuits.
37+
38+
39+
### Time Complexity
40+
41+
The time complexity of Prim's Algorithm is O(E log V), where E is the number of edges and V is the number of vertices in the graph. This is mainly due to the priority queue operations.
42+
43+
### Space Complexity
44+
45+
The space complexity of Prim's Algorithm is O(V + E), where V is the number of vertices and E is the number of edges in the graph. This accounts for the space used to store the minimum spanning tree (MST) and the priority queue.
46+

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /