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 bbd0e71

Browse files
Code
1 parent b41b0c1 commit bbd0e71

File tree

59 files changed

+2998
-547
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+2998
-547
lines changed
File renamed without changes.

‎Graphs Algorithims/DFS.ipynb‎

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "code",
5+
"execution_count": null,
6+
"id": "6db59c4b",
7+
"metadata": {},
8+
"outputs": [],
9+
"source": [
10+
"\n",
11+
"def depth_first_search(start, goal, get_children):\n",
12+
" open_list = [start]\n",
13+
" closed_list = []\n",
14+
"\n",
15+
" while open_list:\n",
16+
" x = open_list.pop(0)\n",
17+
"\n",
18+
" if X == goal :\n",
19+
" return \"SUCCESS\"\n",
20+
"\n",
21+
" else:\n",
22+
" children = get_children(x)\n",
23+
" closed_list.append(x)\n",
24+
"\n",
25+
" for child in children:\n",
26+
" if (child in open_list) or (child in closed_list):\n",
27+
" continue\n",
28+
"\n",
29+
" open_list.insert(0, child)\n",
30+
"\n",
31+
" return \"FAIL\"\n",
32+
"\n",
33+
"\n",
34+
"import copy\n",
35+
"\n",
36+
"\n",
37+
"#Generating four Neighours\n",
38+
"def four_Neighours(array,x,y):\n",
39+
" list = []\n",
40+
" if x - 1>=0:\n",
41+
" tmp = copy.deepcopy(array)\n",
42+
" tmp[x][y], tmp[x-1][y] = tmp[x-1][y], tmp[x][y]\n",
43+
" list.append(tmp)\n",
44+
" if x+1<3:\n",
45+
" tmp = copy.deepcopy(array)\n",
46+
" tmp[x][y],tmp[x+1][y] = tmp[x+1][y],tmp[x][y]\n",
47+
" list.append(tmp)\n",
48+
" if y+1 < 3:\n",
49+
" tmp = copy.deepcopy(array)\n",
50+
" tmp[x][y], tmp[x][y + 1] = tmp[x][y + 1], tmp[x][y]\n",
51+
" list.append(tmp)\n",
52+
"\n",
53+
"\n",
54+
" if y-1 >= 0:\n",
55+
" tmp = copy.deepcopy(array)\n",
56+
" tmp[x][y], tmp[x][y - 1] = tmp[x][y - 1], tmp[x][y]\n",
57+
" list.append(tmp)\n",
58+
" return list\n",
59+
"\n"
60+
]
61+
}
62+
],
63+
"metadata": {
64+
"kernelspec": {
65+
"display_name": "Python 3 (ipykernel)",
66+
"language": "python",
67+
"name": "python3"
68+
},
69+
"language_info": {
70+
"codemirror_mode": {
71+
"name": "ipython",
72+
"version": 3
73+
},
74+
"file_extension": ".py",
75+
"mimetype": "text/x-python",
76+
"name": "python",
77+
"nbconvert_exporter": "python",
78+
"pygments_lexer": "ipython3",
79+
"version": "3.10.9"
80+
}
81+
},
82+
"nbformat": 4,
83+
"nbformat_minor": 5
84+
}
File renamed without changes.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"cells": [],
3+
"metadata": {},
4+
"nbformat": 4,
5+
"nbformat_minor": 5
6+
}

‎Graphs/Graph Adj List.ipynb‎

Lines changed: 214 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,214 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "code",
5+
"execution_count": 2,
6+
"id": "365adbb4",
7+
"metadata": {},
8+
"outputs": [
9+
{
10+
"name": "stdout",
11+
"output_type": "stream",
12+
"text": [
13+
"\n",
14+
"Explore Reachable Graph starting from\n",
15+
"=============\n",
16+
"Y visited\n",
17+
"N visited\n",
18+
"B visited\n",
19+
"F visited\n",
20+
"A visited\n",
21+
"P visited\n",
22+
"\n",
23+
"Explore Reachable Graph starting from\n",
24+
"=============\n",
25+
"B visited\n",
26+
"F visited\n",
27+
"\n",
28+
"Explore Complete Graph starting from\n",
29+
"=============\n",
30+
"starting traversal ...\n",
31+
"B visited\n",
32+
"F visited\n",
33+
"starting traversal ...\n",
34+
"R visited\n",
35+
"N visited\n",
36+
"A visited\n",
37+
"P visited\n",
38+
"starting traversal ...\n",
39+
"Y visited\n"
40+
]
41+
}
42+
],
43+
"source": [
44+
"class Graph:\n",
45+
" def __init__(self):\n",
46+
" self.data = []\n",
47+
"\n",
48+
" class GNode:\n",
49+
" def __init__(self, n):\n",
50+
" self.label = n\n",
51+
" self.adj = []\n",
52+
"\n",
53+
" def add_edge(self, from_loc, to_loc):\n",
54+
" self.data[from_loc].adj.append(to_loc)\n",
55+
"\n",
56+
" def explore_network(self, vertex_no, seen):\n",
57+
" if not seen[vertex_no]:\n",
58+
" seen[vertex_no] = True\n",
59+
" print(f\"{self.get_vertex(vertex_no)} visited\")\n",
60+
" for adj_vertex in self.data[vertex_no].adj:\n",
61+
" self.explore_network(adj_vertex, seen)\n",
62+
"\n",
63+
" def get_vertex(self, vno):\n",
64+
" return self.data[vno].label\n",
65+
"\n",
66+
" def add_vertex(self, st):\n",
67+
" self.data.append(self.GNode(st))\n",
68+
"\n",
69+
" def find_vertex(self, st):\n",
70+
" for j in range(len(self.data)):\n",
71+
" if self.data[j].label == st:\n",
72+
" return j\n",
73+
" return -1\n",
74+
"\n",
75+
" def add_directed_edge(self, from_loc, to_loc):\n",
76+
" from_loc = self.find_vertex(from_loc)\n",
77+
" to_loc = self.find_vertex(to_loc)\n",
78+
" if from_loc == -1 or to_loc == -1:\n",
79+
" exit(0) # exception\n",
80+
" self.add_edge(from_loc, to_loc)\n",
81+
"\n",
82+
" def add_undirected_edge(self, from_loc, to_loc):\n",
83+
" from_loc = self.find_vertex(from_loc)\n",
84+
" to_loc = self.find_vertex(to_loc)\n",
85+
" if from_loc == -1 or to_loc == -1:\n",
86+
" exit(0) # exception\n",
87+
" self.add_edge(from_loc, to_loc)\n",
88+
" self.add_edge(to_loc, from_loc)\n",
89+
"\n",
90+
" def traverse_reachable_graph(self, start=None):\n",
91+
" seen = [False] * len(self.data)\n",
92+
" if start:\n",
93+
" vno = self.find_vertex(start)\n",
94+
" if vno == -1:\n",
95+
" exit(0) # exception\n",
96+
" self.explore_network(vno, seen)\n",
97+
" else:\n",
98+
" self.explore_network(0, seen)\n",
99+
"\n",
100+
" def traverse_complete_graph(self):\n",
101+
" seen = [False] * len(self.data)\n",
102+
" for j in range(len(self.data)):\n",
103+
" if not seen[j]:\n",
104+
" print(\"starting traversal ...\")\n",
105+
" self.explore_network(j, seen)\n",
106+
"\n",
107+
"\n"
108+
]
109+
},
110+
{
111+
"cell_type": "code",
112+
"execution_count": 3,
113+
"id": "fedec90b",
114+
"metadata": {},
115+
"outputs": [
116+
{
117+
"name": "stdout",
118+
"output_type": "stream",
119+
"text": [
120+
"\n",
121+
"Explore Reachable Graph starting from\n",
122+
"=============\n",
123+
"Y visited\n",
124+
"N visited\n",
125+
"B visited\n",
126+
"F visited\n",
127+
"A visited\n",
128+
"P visited\n",
129+
"\n",
130+
"Explore Reachable Graph starting from\n",
131+
"=============\n",
132+
"B visited\n",
133+
"F visited\n",
134+
"\n",
135+
"Explore Complete Graph starting from\n",
136+
"=============\n",
137+
"starting traversal ...\n",
138+
"B visited\n",
139+
"F visited\n",
140+
"starting traversal ...\n",
141+
"R visited\n",
142+
"N visited\n",
143+
"A visited\n",
144+
"P visited\n",
145+
"starting traversal ...\n",
146+
"Y visited\n"
147+
]
148+
}
149+
],
150+
"source": [
151+
"if __name__ == \"__main__\":\n",
152+
" f = Graph()\n",
153+
"\n",
154+
" f.add_vertex(\"B\")\n",
155+
" f.add_vertex(\"R\")\n",
156+
" f.add_vertex(\"N\")\n",
157+
" f.add_vertex(\"F\")\n",
158+
" f.add_vertex(\"A\")\n",
159+
" f.add_vertex(\"P\")\n",
160+
" f.add_vertex(\"Y\")\n",
161+
"\n",
162+
" f.add_directed_edge(\"R\", \"N\")\n",
163+
" f.add_directed_edge(\"B\", \"F\")\n",
164+
" f.add_directed_edge(\"A\", \"P\")\n",
165+
" f.add_directed_edge(\"R\", \"A\")\n",
166+
" f.add_directed_edge(\"P\", \"F\")\n",
167+
" f.add_directed_edge(\"N\", \"B\")\n",
168+
" f.add_directed_edge(\"Y\", \"N\")\n",
169+
" f.add_directed_edge(\"Y\", \"F\")\n",
170+
" f.add_directed_edge(\"Y\", \"A\")\n",
171+
" f.add_directed_edge(\"R\", \"B\")\n",
172+
"\n",
173+
" print(\"\\nExplore Reachable Graph starting from\")\n",
174+
" print(\"=============\")\n",
175+
" f.traverse_reachable_graph(\"Y\")\n",
176+
" print(\"\\nExplore Reachable Graph starting from\")\n",
177+
" print(\"=============\")\n",
178+
" f.traverse_reachable_graph()\n",
179+
" print(\"\\nExplore Complete Graph starting from\")\n",
180+
" print(\"=============\")\n",
181+
" f.traverse_complete_graph()\n"
182+
]
183+
},
184+
{
185+
"cell_type": "code",
186+
"execution_count": null,
187+
"id": "a07b6c03",
188+
"metadata": {},
189+
"outputs": [],
190+
"source": []
191+
}
192+
],
193+
"metadata": {
194+
"kernelspec": {
195+
"display_name": "Python 3 (ipykernel)",
196+
"language": "python",
197+
"name": "python3"
198+
},
199+
"language_info": {
200+
"codemirror_mode": {
201+
"name": "ipython",
202+
"version": 3
203+
},
204+
"file_extension": ".py",
205+
"mimetype": "text/x-python",
206+
"name": "python",
207+
"nbconvert_exporter": "python",
208+
"pygments_lexer": "ipython3",
209+
"version": "3.10.9"
210+
}
211+
},
212+
"nbformat": 4,
213+
"nbformat_minor": 5
214+
}

0 commit comments

Comments
(0)

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