Skip to content

Commit

Permalink
Merge pull request theja-m#8 from vcccaat/master
Browse files Browse the repository at this point in the history
fix tail pointer in linked list
  • Loading branch information
theja-m authored Jul 24, 2020
2 parents e9e953f + eb13406 commit 39c2db5
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 24 deletions.
21 changes: 9 additions & 12 deletions Data Structures - Linked Lists/Linked List.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,19 +53,15 @@ def insert(self,index,data):
def remove(self,index):
temp = self.head
i=0
if index>self.length:
if index>=self.length:
print("Entered wrong index")


if index == 0:
self.head = self.head.next
self.length -= 1
return

while i<self.length:
if index == 0:
self.head = temp.next
self.length -= 1
break
if i == self.length-1:
temp.next = None
self.tail = temp
self.length -= 1
break
if i == index-1:
temp.next = temp.next.next
self.length-=1
Expand Down Expand Up @@ -99,6 +95,7 @@ def reverse(self):
l.prepend(1)
l.insert(2,99)
l.insert(34,23)
#l.remove(4)
l.remove(5)
l.reverse()
l.printl()
print(l.head.data, l.tail.data)
24 changes: 12 additions & 12 deletions Data Structures - Stacks and Queues/Stacks using Linked List.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,28 +19,28 @@ def push(self,data):
self.top = self.bottom
self.length = 1
else:
self.top.next = new_node
self.top = self.top.next
new_node.next = self.top
self.top = new_node
self.length += 1
# print("top:",self.top.data,"top next:",self.top.next.data)

def pop(self):
i = 1
curr_node = self.bottom
while i != self.length-1:
curr_node = curr_node.next
i+=1
popped_value = curr_node.next
curr_node.next = None
self.top = curr_node
if not self.top:
return None
holderPointer = self.top
self.top = self.top.next
self.length -= 1
return popped_value.data
if self.length==0:
self.bottom = None
return holderPointer.data

def printt(self):
temp = self.bottom
temp = self.top
while temp != None:
print(temp.data , end = ' -> ')
temp = temp.next
print()

mystack = Stack()
mystack.push('google')
mystack.push('microsoft')
Expand Down
18 changes: 18 additions & 0 deletions Dynamic Programming/Memoization.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,24 @@ def memoizedadd80(n):
print(memoizedadd80(6))

#Memoization 2
def memoizedadd80():
cache = {}

def memoized(n):
if n in cache:
return n + 80
else:
print('Long time')
cache[n] = n+80
return cache[n]
return memoized

memo = memoizedadd80()
print(memo(7))
print(memo(7))



# https://docs.python.org/3.3/library/functools.html --> Doc for lru_cache

from functools import lru_cache
Expand Down

0 comments on commit 39c2db5

Please sign in to comment.