Professional Documents
Culture Documents
Stog Red Stablo
Stog Red Stablo
Predrag Brođanac
Apstraktni tipovi podataka
• apstraktni tip podataka (ATP) – zadan je s:
– modelom podataka
– operacijama
• Definira se:
– što su podaci
– kako djeluju operacije nad podacima
• Ne definira se:
– kako su podaci predstavljeni u memoriji
– kako su implementirane operacije
def isEmpty(self):
return len(self.data) == 0
def pop(self):
if not self.isEmpty():
return self.data.pop()
else:
raise IndexError('Stog je prazan')
Strukture podataka i algoritmi 6
Stog – implementacija listom –
složenosti
• dodavanje (push) – O(1)
• brisanje (pop) – O(1)
head
def isEmpty(self):
return self.head == None
def pop(self):
if self.isEmpty():
raise IndexError('Stog je prazan')
else:
t = self.head
self.head = self.head.next
return t
Strukture podataka i algoritmi 9
Stog – implementacija vezanom
listom – složenosti
• dodavanje (push) – O(1)
• brisanje (pop) – O(1)
def isEmpty(self):
return len(self.data) == 0
def dequeue(self):
if not self.isEmpty():
return self.data.pop(0)
else:
raise IndexError('Stog je prazan')
Strukture podataka i algoritmi 13
Red – implementacija listom –
složenosti
• dodavanje (push) – O(1)
• brisanje (pop) – O(n) – svaki se element
pomiče za jedno mjesto prema lijevo
head
tail
def isEmpty(self):
return self.head == None
def dequeue(self):
if self.isEmpty():
raise IndexError('Red je prazan')
else:
t = self.head
self.head = self.head.next
return t
Strukture podataka i algoritmi 16
Red – implementacija listom –
složenosti
• dodavanje (push) – O(1)
• brisanje (pop) – O(1)
B C
D E F
G H I
– lijevo podstablo
D E F
– desno podstablo
G H I
– lijevo podstablo
D E F
– desno podstablo
G H I
– lijevo podstablo
D E F
– desno podstablo
G H I
A B
– lijevo podstablo
D E F
– desno podstablo
G H I
A B D
– lijevo podstablo
D E F
– desno podstablo
G H I
A B D E
– lijevo podstablo
D E F
– desno podstablo
G H I
A B D E G
– lijevo podstablo
D E F
– desno podstablo
G H I
A B D E G
– lijevo podstablo
D E F
– desno podstablo
G H I
A B D E G C
– lijevo podstablo
D E F
– desno podstablo
G H I
A B D E G C F H I
– korijen
D E F
– desno podstablo
G H I
D B G E
– korijen
D E F
– desno podstablo
G H I
D B G E A
– korijen
D E F
– desno podstablo
G H I
D B G E A C H F I
– desno podstablo
D E F
– korijen
G H I
D G E B
– desno podstablo
D E F
– korijen
G H I
D G E B H I F C
– desno podstablo
D E F
– korijen
G H I
D G E B H I F C A
Hvala na pozornosti!