Graph is an abstract data type implementing undirected and directed graph concepts. Consists of vertices and edges, which can be internal or external entities. Edges may have values like labels or numeric attributes
Sorting arranges data in a particular order for easier access. Bubble sort repeatedly swaps adjacent elements until sorted. Algorithm works by iterating through array n times
Bubble Sort continuously swaps adjacent elements until array is in order. Algorithm works by comparing elements and swapping them. First pass processes elements from 0 to n-1. Second pass processes elements from 0 to n-2. Process continues n-1 times until sorted array is found
Founded in 2011 by Steven Halim for NUS students. Currently funded by Optiver until mid-2025. Features 24 visualization modules for data structures and algorithms. Available in English, Chinese, and Indonesian languages
C's qsort command can be used for array sorting. Optimal sorting algorithms run in O(n log(n)) comparisons. Radix Sort can sometimes perform better than O(n log(n))
TreeNode struct contains data, left, and right pointers for child nodes. BSTree class stores root pointer and allows empty tree initialization. Print() method visualizes tree structure using node data and children