Skip to main content

Pertemuan 6 Data Structure

Pertemuan 06 Data Structure, Binary Search Tree (L).
Materi :
- Binary Search Tree
- Binary Search Tree Operations.


Binary Tree Search Tree
Binary Search tree is one kind of data structures that supports faster searching, rapid sorting, and easy insertion & deletion. Binary Tree has three basic operations which consist of find, insert and remove.

  • Find
Begins at root, recursively decided (if X is less than root's key then goes left, if X is more than root's key then goes right, if X equals root's key than it is found.
  • Insert
Begins at root. If X is less than node's key insert into left sub tree. if X is more than node's key, insert into right sub tree. operation is done recursively.
  • Remove
If the key that we want to remove is just a leaf, we just need to delete that node. Well, it starts getting complicated when we need to delete a node which has one child. In this case we need to delete the node an connect it's child to it's parent. When we want to remove a data with two children or more, it need to be done recursively.


I've studied some code for today, which is a simple insertion for binary tree.
#include<stdio.h>
#include<stdlib.h>

struct node{ 
int key; 
struct node *left, *right; 
}; 
struct node *newNode(int item){ 
struct node *temp = (struct node *)malloc(sizeof(struct node)); 
temp->key = item; 
temp->left = temp->right = NULL; 
return temp; 
}
struct node* insert(struct node* node, int key){ 
if (node == NULL)return newNode(key); 
if (key < node->key)node->left = insert(node->left, key); 
else node->right = insert(node->right, key); 
return node; 
}

Comments

Popular posts from this blog

Rankuman Akhir

Rangkuman Akhir 10 Juni 2020 Nama: Johanes Peter Vincentius NIM: 2301864461 Nama Dosen:Henry Chong(D4460) & Ferdinand Ariandy Luwinda (D4522) Before continuing to my summary, i just want to make a clarification that I did not copas, and if the language is simillar, it's just because I summarize directly from PPT and use a bit of internet for clarification. The point is, I studied while making this summary, sorry if it might have a slight resemblance to the ppt. The summary : Heaps And Tries, both are a data structures algorithm concept In this blog I will be summarizing : Heap Concept Min Heap  Max Heap Min-Max Heap Heap Applications Tries Concept Tries Applications Heap is a complete binary tree which impliments the "heap" property. Heap property ?  Min Heap and Max Heap Min Heap means every node's element is smaller than its children's Max Heap means every node's element is larger than its children's ...

Pertemuan III Mengenai pengaplikasian Linked List

Linked List, banyak hal dapat dilakukan dalam linked list, seperti push(insert), pop(delete). memahami konsep Singly Linked List dapat dibilang relatif mudah, namun pengaplikasian kodingnya perlu waktu untuk pemahaman. Saya Johanes Peter akan merangkum apa yang diajarkan di kelas besar pertemuan 3, yaitu mengenai koding linked list. Struct struct Data {     int value;     struct Data *next,*prev; }*head,*curr,*tail; Push tail (insert sebuah data di paling belakang) void push(int a) {     curr = (struct Data*)malloc(sizeof(struct Data));     curr->value = a;     if(head==NULL){         head = tail = curr;     }     else{         tail->next = curr;         curr->prev = tail;         tail = curr;     }     head->prev = tail->next = NULL; } Print isi dalam...

HALF SEMESTER SUMMARY

Data Structures Summary Dear reader, due to the recent outbreak of the COVID-19 pandemic, we've all been forced to study at home. It is a challenge to keep track of the subject matter, so in this blog, I will be putting all my summary about what I've learned in this half semester from Data Structures. I've been thinking about the final project of making a pacman game using linked list... I can make a pacman game with 2d arrays, but a Linked List as a map ? It still leaves me in confusion ... For now I'll be studying more too be closer on approaching the final project Linked List II,  a linear data structure where each element is a separate object. Materials : - Circular Linked List - Circular Single Linked List - Doubly Linked List - Circular Doubly Linked List Circular Linked List Circular Single Linked List is a variation of linked list which its first element points to the last element and the last element points to the first element. In this list, there is...