Postingan

Menampilkan postingan dari 2019

Tree

Gambar
class Node: def __init__ ( self , data): self .left = None self .right = None self .data = data def insert ( self , data): # Compare the new value with the parent node if self .data: if data < self .data: if self .left is None : self .left = Node(data) else : self .left.insert(data) elif data > self .data: if self .right is None : self .right = Node(data) else : self .right.insert(data) else : self .data = data # Print the tree def PrintTree ( self ): if self .left: self .left.PrintTree() print ( self .data) , if self .right: self .right.PrintTree() class Node: def __init__ ( self , data): self .left = None self .right = None self .data = data def insert ( sel...

Single Linked List

Gambar
class Node: def __init__ ( self , value): self .value = value self .next = None def getData ( self ): return self .value def getNext ( self ): return self .next def setData ( self , newData): self .value = newData def setNext ( self , newNext): self .next = newNext class OrderedList: def __init__ ( self ): self .head = None def show ( self ): current = self .head print ( 'Head->' , end = "" ) while current != None : print (current.getData() , end = "->" ) current = current.getNext() print ( 'None' ) def search ( self , item): current = self .head count = 0 while current is not None : if current.value == item: count += 1 print ( 'data ditemukan' ) print ( 'jumlah : ' , count) ...

Double Linked List(2)

Gambar
class Node: def __init__ ( self , initdata): self .data = initdata self .next = None self .prev = None def getData ( self ): return self .data def getNext ( self ): return self .next def getPrev ( self ): return self .prev def setData ( self , newdata): self .data = newdata def setNext ( self , newnext): self .next = newnext def setPrev ( self , newprev): self .prev = newprev class orderedlist: def __init__ ( self ): self .head = None def show ( self ): current = self .head print ( 'None <-' ) print ( 'Head ->' , end = '' ) while current != None : if current.getNext() == None : print (current.getData() , end = '->' ) else : print (current.getData() , end = '<->' ) current = current.getNext() print ( 'No...

Double Linked List

Gambar
class Node: def __init__ ( self , data): self .data = data self .next = None self .prev = None class DoublyLinkedList: def __init__ ( self ): self .first = None self .last = None def get_node ( self , index): current = self .first for i in range (index): if current is None : return None current = current.next return current def insert_after ( self , ref_node , new_node): new_node.prev = ref_node if ref_node.next is None : self .last = new_node else : new_node.next = ref_node.next new_node.next.prev = new_node ref_node.next = new_node def insert_before ( self , ref_node , new_node): new_node.next = ref_node if ref_node.prev is None : self .first = new_node else : new_node.prev = ref_node.prev new_node.prev.next = new_node r...

Circular Singly Linked List

Gambar
# Represents the node of list. class Node: def __init__ ( self , data): self .data = data; self .next = None ; class CreateList: # Declaring head and tail pointer as null. def __init__ ( self ): self .head = Node( None ); self .tail = Node( None ); self .head.next = self .tail; self .tail.next = self .head; # This function will add the new node at the end of the list. def add ( self , data): newNode = Node(data); # Checks if the list is empty. if self .head.data is None : # If list is empty, both head and tail would point to new node. self .head = newNode; self .tail = newNode; newNode.next = self .head; else : # tail will point to new node. self .tail.next = newNode; # New node will become new tail. self .tail = newNode; # Since, it is circular linked list tail will poin...

Bubblesort

Gambar
def bubblesort (list): # Swap the elements to arrange in order for iter_num in range ( len (list)- 1 , 0 , - 1 ): for idx in range (iter_num): if list[idx]>list[idx+ 1 ]: temp = list[idx] list[idx] = list[idx+ 1 ] list[idx+ 1 ] = temp list = [ 19 , 2 , 31 , 45 , 6 , 11 , 121 , 27 ] bubblesort(list) print (list)

Binnary Tree

class BSTNode: def __init__ ( self , key): self .key = key self .left = None self .right = None self .parent = None def insert ( self , node): if self .key > node.key: if self .left is None : self .left = node node.parent = self else : self .left.insert(node) elif self .key < node.key: if self .right is None : self .right = node node.parent = self else : self .right.insert(node) def inorder ( self ): if self .left is not None : self .left.inorder() print ( self .key , end = ' ' ) if self .right is not None : self .right.inorder() def replace_node_of_parent ( self , new_node): if self .parent is not None : if new_node is not None : new_node.parent = self .parent ...