Skip to main content

Session 4 - Coding Single & Double Linked List + Resources

Di session 4 hari ini, belajar tentang coding single dan double linked list.
Karena di session 3 sudah ada codingan tentang linked list, saya tinggal menambahkan beberapa hal yang belum disebut di post session 3.
Jadi linked list itu adalah bentuk lebih sempurna dari array, linked list seperti namanya artinya setiap node-node saling berhubungan melalui pointer yang menunjuk alamat node lain.

struct node *node = (struct node*) malloc(sizeof(struct node));
Malloc(memory allocation) itu merupakan fungsi untuk mengalokasi memori yang diikuti dengan sizeof. Beda dengan array, di linked list kita tidak perlu deklarasi terlebih dahulu size dari struct kita berapa, melainkan ketika ingin menambah data baru tinggal dibuat node baru. 
Untuk return value dari node pointer adalah dengan typecast agar bisa mengakses data yang disimpan dalam buffer(tempat penyimpanan sementara) yang dialokasikan.
Kegunaan malloc adalah mengembalikan pointer kesejumlah n byte ruang memori yang belum diinisialiasikan

free(curr)
Di linked list, kita menggunakan free untuk menghapus data dengan menggunakan library stdlib.h dengan #include<stdlib.h>

Jadi saya lanjut ke ppt yang didapatkan dari resources di sesi 4 yaitu Stack dan Queue


  1. Stack
          - Konsep Stack
                 Stack menggunakan konsep LIFO(Last In First Out). Analoginya adalah sama seperti kita  menyusun piring setelah dicuci, kita menyusun dari bawah/belakang ke atas/depan sampai penuh, tetapi ketika kita ingin menggunakan piring tersebut, kita mengambil yang paling atas/depan. 

      2. Queue
       
          - Konsep Queue
                 Queue menggunakan konsep FIFO(First In First Out) /  sesuai urutan. Contohnya : Antri menggunakan toilet, orang yang duluan antri adalah yang dapat masuk dulu. 


Penjelasan lebih lanjut dari stack dan queue akan dijelaskan lebih lanjut di post selanjutnya setelah saya searching dan mengerti.

Comments

Popular posts from this blog

Binary Search Tree

Binary Search Tree        -         Pengertian       Binary search tree (BST) adalah sebuah data struktur yang digunakan untuk mempercepat        searching, sorting, insertion dan deletion.       BST juga dikenal sebagai binary tree yang sudah disortir       Untuk sebuah node x dari BST : è Value di subtree kiri lebih kecil dari value dalam x è Value di subtree kanan lebih besar dari value dalam x       -         Binary search tree operations       BST mempunyai beberapa operasi : è Search(x) : untuk mencari key x di dalam BST Misalnya kita ingin mencari key x : o    Pertama kita mulai dari root o    Jika root adalah x maka proses selesai o    Jika x lebih kecil dari key root maka dilakukan searching secara rekursif di subtree sebelah kiri, be...

AVL Tree (Insertion and Deletion)

AVL Tree adalah Binary Search Tree yang memiliki perbedaan tinggi maksimal 1 antara subtree kiri dan subtree kanan. AVL Tree digunakan untuk melakukan searching yang lebih singkat dan sederhana. Ada 4 case dalam melakukan operasi insert : Single Rotation Ada 2 case yang dapat diselesaikan dengan single rotation, yaitu ketika node terdalam terletak pada subtree kiri dan anak kiri T, (left rotation) dan ketika node terdalam terletak pada subtree kanan dan anak kanan T (right rotation). Double Rotation Di double rotation juga terdapat 2 case yang dapat terselesaikan dengan double rotation, yaitu jika node terdalam terletak pada subtree kanan dan anak kiri T (right-left), dan node terdalam terletak pada subtree kiri dan anak kanan T (left-right). Ada 2 case yang terjadi saat operasi delete : Jika node yang akan dihapus berada pada posisi leaf atau node tanpa anak, maka dapat langsung di hapus. Jika node yang akan dihapus memiliki anak, maka pros...