Skip to content

Commit ace3457

Browse files
committed
README.mdd
1 parent 3825243 commit ace3457

File tree

3 files changed

+57
-108
lines changed

3 files changed

+57
-108
lines changed

Assignments/A16/main.py

Lines changed: 1 addition & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -4,63 +4,32 @@
44
# Date: 11/08/2021
55

66
class Person:
7-
# instance variable
87
grade = 0
98
name = ""
109

11-
# constructor
1210
def __init__(self, a = 0, b = ""):
1311
self.grade = a
1412
self.name = b
1513

16-
# mutator and accessor
1714
def set_grade(self, newGrade):
1815
self.grade = newGrade
1916

2017
def get_grade(self):
2118
return self.grade
2219

2320

24-
# instance method
2521
def close(self):
2622
print('I am closing')
2723

28-
# instance method
2924
def greeting(self, g):
30-
# print('Your grade was: ', self.get_grade())
31-
# self.set_grade(0)
32-
# print('I assigned your garde to: ', self.grade)
3325
print(g, self.name)
34-
#self.close()
3526

3627
class Student(Person):
3728
gradYear = 0
3829
def __init__(self, grade, name, graduationYear):
39-
#super.__init__()
4030
Person.__init__(self, grade, name)
4131
self.gradYear = graduationYear
4232

4333

44-
4534
stu1 = Student(100, 'Saikat', 2021)
46-
print(stu1.grade, stu1.name)
47-
# stu1.greeting('Hello')
48-
49-
50-
51-
# obj1 = Person(23, 'Saikat')
52-
# obj2 = Person(100, 'Das')
53-
# oldGrade = obj1.get_grade()
54-
# print('Your grade was: ', oldGrade)
55-
# obj1.set_grade(oldGrade+10)
56-
# print('Your current grade is: ', obj1.grade)
57-
# g = "Hello "
58-
# # print(obj1.name, obj1.grade)
59-
# # print(obj2.name, obj2.grade)
60-
# obj1.greeting(g)
61-
# # obj1.close()
62-
63-
#print('Hello World')
64-
65-
# def greet():
66-
# pass
35+
print(stu1.grade, stu1.name)

Assignments/A18/class.py

Lines changed: 20 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,24 @@
1-
def __init__(self):
2-
"""
3-
initialize your data structure here.
4-
"""
5-
self.stack = []
1+
class MinStack:
2+
def __init__(self):
3+
self.stack = []
64

7-
def push(self, x):
8-
"""
9-
:type x: int
10-
:rtype: None
11-
"""
12-
if not self.stack:
13-
self.stack.append((x, x))
14-
else:
15-
self.stack.append((x, min(x, self.stack[-1][1])))
5+
def push(self, x):
6+
if not self.stack:
7+
self.stack.append((x, x))
8+
else:
9+
self.stack.append((x, min(x, self.stack[-1][1])))
1610

17-
def pop(self):
18-
"""
19-
:rtype: None
20-
"""
21-
self.stack.pop()
11+
def pop(self):
12+
self.stack.pop()
2213

23-
def top(self):
24-
"""
25-
:rtype: int
26-
"""
27-
if self.stack:
28-
return self.stack[-1][0]
29-
else:
30-
return None
14+
def top(self):
15+
if self.stack:
16+
return self.stack[-1][0]
17+
else:
18+
return None
3119

32-
def getMin(self):
33-
"""
34-
:rtype: int
35-
"""
36-
if self.stack:
37-
return self.stack[-1][1]
38-
else:
39-
return None
20+
def getMin(self):
21+
if self.stack:
22+
return self.stack[-1][1]
23+
else:
24+
return None

Assignments/A20/main.py

Lines changed: 36 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,42 @@
1-
# Python
2-
# @author Loic Konan
3-
# Semester: Fall 2021
4-
# Date: 11/22/2021
1+
'''Python program to print DFS traversal for complete graph'''
2+
from collections import defaultdict
53

4+
# this class represents a directed graph using adjacency list representation
65

7-
from collections import defaultdict
86

97
class Graph:
10-
def __init__(self):
11-
self.graph = defaultdict(list)
12-
self.nodes = 12
13-
# function to add an edge to graph
14-
def addEdge(self,u,v):
15-
self.graph[u].append(v)
16-
17-
def BFS(self, root):
18-
visited = [False] * (self.nodes + 1)
19-
# print(len(visited))
20-
q = []
21-
q.append(root)
22-
visited[root] = True
23-
24-
while len(q) != 0:
25-
root = q.pop(0)
26-
print(root, end = " ")
27-
28-
for i in self.graph[root]:
29-
if visited[i] == False:
30-
q.append(i)
31-
visited[i] = True
32-
33-
34-
def dfs(self, visited, node):
35-
if node not in visited:
36-
print(node, end = " ")
37-
visited.add(node)
38-
for neighbor in self.graph[node]:
39-
self.dfs(visited, neighbor)
40-
41-
def printGraph(self):
42-
print(self.graph)
8+
# Constructor
9+
def __init__(self):
10+
# default dictionary to store graph
11+
self.graph = defaultdict(list)
12+
13+
# Function to add an edge to graph
14+
def addEdge(self, u, v):
15+
self.graph[u].append(v)
16+
# A function used by DFS
17+
18+
def DFSUtil(self, v, visited):
19+
# Mark the current node as visited and print it
20+
visited.add(v)
21+
print(v)
22+
23+
# recur for all the vertices adjacent to this vertex
24+
for neighbour in self.graph[v]:
25+
if neighbour not in visited:
26+
self.DFSUtil(neighbour, visited)
27+
# The function to do DFS traversal. It uses recursive DFSUtil
28+
29+
def DFS(self):
30+
# create a set to store all visited vertices
31+
visited = set()
32+
# call the recursive helper function to print DFS traversal starting from all
33+
# vertices one by one
34+
for vertex in self.graph:
35+
if vertex not in visited:
36+
self.DFSUtil(vertex, visited)
37+
# Driver code
38+
# create a graph given in the above diagram
39+
4340

4441
g = Graph()
4542
g.addEdge(0, 1)
@@ -48,7 +45,5 @@ def printGraph(self):
4845
g.addEdge(2, 0)
4946
g.addEdge(2, 3)
5047
g.addEdge(3, 3)
51-
52-
53-
g.BFS(2)
48+
g.DFS()
5449

0 commit comments

Comments
 (0)