Materi Stack, Queue, dan Deque - Struktur Data
Materi Stack, Queue, dan Deque
A. Stack
Stack adalah kumpulan barang yang disusun di mana penambahan barang baru dan penghapusan barang yang ada selalu terjadi pada akhir yang sama. Ujung ini biasanya disebut sebagai “puncak.” Ujung yang berlawanan dengan bagian atas dikenal sebagai “basis”.
Prinsip susunan ini kadang-kadang disebut LIFO / FILO.
LIFO = Last in First out (Terakhir masuk Duluan keluar)
FILO = First in Last out (Duluan masuk Terakhir keluar)
Beberapa Method yang ada di Stack :
- Stack() membuat tumpukan baru yang kosong. Tidak perlu parameter dan mengembalikan tumpukan kosong.
- push(item) menambahkan item baru ke bagian atas tumpukan. Ia membutuhkan item dan mengembalikan apa-apa.
- pop() menghapus item teratas dari tumpukan. Tidak perlu parameter dan mengembalikan item. Tumpukan dimodifikasi.
- peek() mengembalikan item teratas dari tumpukan tetapi tidak menghapusnya. Tidak perlu parameter. Tumpukan tidak diubah.
- isEmpty() tes untuk melihat apakah tumpukan kosong. Tidak perlu parameter dan mengembalikan nilai boolean.
- size() mengembalikan jumlah item pada stack. Tidak perlu parameter dan mengembalikan integer.
class Stack:
def __init__(self):
self.items = []
def isEmpty(self):
return self.items == []
def push(self, item):
self.items.append(item)
def pop(self):
return self.items.pop()
def peek(self):
return self.items[len(self.items)-1]
def size(self):
return len(self.items)
s=Stack()
s.push('hello')
s.push('true')
print(s.isEmpty)
print(s.peek())
while not s.isEmpty():
print(s.pop())
Hasil Run :
Python 3.5.2 (default, Nov 23 2017, 16:37:01)
[GCC 5.4.0 20160609] on linux
Type "copyright", "credits" or "license()" for more information.
>>>
======================== RESTART: /home/rejeb/xxx.py ========================
>
true
true
hello
>>>
B. Queue
Queue adalah kumpulan item yang disusun di mana penambahan item baru terjadi di satu ujung, yang disebut "belakang," dan penghapusan item yang ada terjadi di ujung yang lain, biasa disebut "depan."
Prinsip susunan ini kadang-kadang disebut FIFO, first-in first-out. Ini juga dikenal sebagai "pertama datang pertama dilayani."
- Queue() membuat antrean baru yang kosong. Tidak perlu parameter dan mengembalikan antrian kosong.
- enqueue(item) menambahkan item baru ke belakang antrian. Ia membutuhkan item dan mengembalikan apa-apa.
- dequeue() menghapus item depan dari antrian. Tidak perlu parameter dan mengembalikan item. Antrian dimodifikasi.
- isEmpty() tes untuk melihat apakah antrian kosong. Tidak perlu parameter dan mengembalikan nilai boolean.
- size() mengembalikan jumlah item dalam antrian. Tidak perlu parameter dan mengembalikan integer.
Sources Code :
class Queue:
def __init__(self):
self.items = []
def isEmpty(self):
return self.items == []
def enqueue(self, item):
self.items.insert(0,item)
def dequeue(self):
return self.items.pop()
def size(self):
return len(self.items)
q=Queue()
q.enqueue(4)
q.enqueue('dog')
q.enqueue(True)
print(q.size())
print(q.dequeue())
Hasil Run :
Python 3.5.2 (default, Nov 23 2017, 16:37:01)
[GCC 5.4.0 20160609] on linux
Type "copyright", "credits" or "license()" for more information.
>>>
======================== RESTART: /home/rejeb/xxx.py ========================
3
4
>>>
C. Deque
Deque juga dikenal sebagai antrian ganda-berakhir, adalah kumpulan item yang teratur mirip dengan antrean. Ini memiliki dua ujung, depan dan belakang, dan barang-barang tetap diposisikan dalam koleksi.
Beberapa Method yang ada di Queue :
- Deque() membuat deque baru yang kosong. Tidak perlu parameter dan mengembalikan deque kosong.
- addFront(item) menambahkan item baru ke bagian depan deque. Ia membutuhkan item dan mengembalikan apa-apa.
- addRear(item) menambahkan item baru ke bagian belakang deque. Ia membutuhkan item dan mengembalikan apa-apa.
- removeFront() menghapus item depan dari deque. Tidak perlu parameter dan mengembalikan item. Deque dimodifikasi.
- removeRear() menghapus item belakang dari deque. Tidak perlu parameter dan mengembalikan item. Deque dimodifikasi.
- isEmpty() menguji untuk melihat apakah deque kosong. Tidak perlu parameter dan mengembalikan nilai boolean.
- size() mengembalikan jumlah item dalam deque. Tidak perlu parameter dan mengembalikan integer.
Sources Code :
class Deque:
def __init__(self):
self.items = []
def isEmpty(self):
return self.items == []
def addFront(self, item):
self.items.append(item)
def addRear(self, item):
self.items.insert(0,item)
def removeFront(self):
return self.items.pop()
def removeRear(self):
return self.items.pop(0)
def size(self):
return len(self.items)
d=Deque()
print(d.isEmpty())
d.addRear(4)
d.addRear('dog')
d.addFront('cat')
d.addFront(True)
print(d.size())
print(d.isEmpty())
d.addRear(8.4)
print(d.removeRear())
print(d.removeFront())
Hasil Run :
Python 3.5.2 (default, Nov 23 2017, 16:37:01)
[GCC 5.4.0 20160609] on linux
Type "copyright", "credits" or "license()" for more information.
>>>
======================== RESTART: /home/rejeb/xxx.py ========================
True
4
False
8.4
True
>>>
Comments
Post a Comment