Algorithms On Heapsort Heapsort is one of my favorite sorting algorithms because it highlights the importance of considering the right data structures in algorithm design. Heapsort also has an upper-bound O(n log n) time complexity,

Topological Sorting On Partial Ordering, Total Ordering, and The Topological Sort Scheduling problems – problems that seek to order a sequence of tasks while preserving an order of precedence – can be solved by performing a topological sort on a directed acyclic graph (DAG). Certainly, we

Data Structures On Binary Search and The AVL Tree Binary search is a powerful search algorithm that has a worst-case performance in logarithmic time. In a list of 200,000 items, for example, a binary search will locate an item in at

C# On a Lesson Learned from Immutability and Cloning I was introduced to the concepts behind immutability when I was building with Redux in 2016, back when my understanding of immutability was simply “unchangeable.” But unchangeable, how? And for what significance? I