Add files via upload · leo-aa88/data-structures-python@a6ebd6f · GitHub
Skip to content

Commit a6ebd6f

Browse files
authored
Add files via upload
1 parent b1fa451 commit a6ebd6f

4 files changed

Lines changed: 175 additions & 0 deletions

File tree

‎binary_tree.py‎

Lines changed: 52 additions & 0 deletions

‎linked_list.py‎

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
class Node:
2+
def __init__(self, value = None):
3+
self.value = value
4+
self.next = None
5+
6+
class LinkedList:
7+
def __init__(self):
8+
self.head = None
9+
10+
def printList(self):
11+
node = self.head
12+
while node is not None:
13+
print(node.value)
14+
node = node.next
15+
16+
def findNode(self, node):
17+
innerNode = self.head
18+
while innerNode is not None:
19+
if (innerNode.value == node.value):
20+
return True
21+
innerNode = innerNode.next
22+
return False
23+
24+
def insertAtHead(self, node):
25+
node.next = self.head
26+
self.head = node
27+
28+
def insertAtBottom(self, node):
29+
if (self.head is None):
30+
self.head = node
31+
else:
32+
innerNode = self.head
33+
while innerNode.next is not None:
34+
innerNode = innerNode.next
35+
innerNode.next = node
36+
37+
38+
if __name__ == "__main__":
39+
linkedlist1 = LinkedList()
40+
linkedlist1.insertAtHead(Node(1))
41+
linkedlist1.insertAtHead(Node(2))
42+
linkedlist1.insertAtHead(Node(3))
43+
linkedlist1.insertAtBottom(Node(69))
44+
linkedlist1.printList()
45+
print(linkedlist1.findNode(Node(1)))
46+
print(linkedlist1.findNode(Node(42)))

‎queue.py‎

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
class Node:
2+
def __init__(self, value):
3+
self.value = value
4+
self.next = None
5+
6+
class Queue:
7+
def __init__(self):
8+
self.head = None
9+
10+
def enqueue(self, node):
11+
if (self.head is None):
12+
self.head = node
13+
else:
14+
innerNode = self.head
15+
while(innerNode.next is not None):
16+
innerNode = innerNode.next
17+
innerNode.next = node
18+
19+
def dequeue(self):
20+
self.head = self.head.next
21+
22+
def printQueue(self):
23+
node = self.head
24+
while(node is not None):
25+
print(node.value)
26+
node = node.next
27+
28+
29+
if __name__ == "__main__":
30+
queue1 = Queue()
31+
queue1.enqueue(Node(1))
32+
queue1.enqueue(Node(2))
33+
queue1.enqueue(Node(3))
34+
queue1.printQueue()
35+
print("------------------")
36+
queue1.dequeue()
37+
queue1.printQueue()
38+
print("------------------")

‎stack.py‎

Lines changed: 39 additions & 0 deletions

0 commit comments

Comments
 (0)