The Draftsbook Blog
Articles, deep dives, and notes from the engineering community.
Part 1: Assembly Language Fundamentals, Computer Architecture & x86-64 Systems
A foundational masterclass in modern x86-64 assembly, exploring computer architecture, register hierarchy, machine code translation, and the CPU instruction lifecycle.
By Md. Harun-Or-Roshid
Library Sort: Mechanism, Complexity Analysis & Interactive Visualizer
A gapped variation of Insertion Sort: leaves empty slots (gaps) in the array, allowing elements to be inserted in \(O(1)\) shift time on average by avoiding massive shifts.
By Md. Harun-Or-Roshid
Tournament Sort: Mechanism, Complexity Analysis & Interactive Visualizer
An educational predecessor of Heapsort: finds the minimum element of the remaining unsorted range using a binary tournament tree of comparisons, swapping the champion to the sorted list.
By Md. Harun-Or-Roshid
Strand Sort: Mechanism, Complexity Analysis & Interactive Visualizer
A unique list-extraction sorting algorithm: repeatedly pulls out sorted ascending chains (strands) from the unsorted data, merging them step-by-step into a growing sorted list.
By Md. Harun-Or-Roshid
Bozo Sort: Mechanism, Complexity Analysis & Interactive Visualizer
A randomized educational sorting algorithm: checks if the array is sorted, and if not, swaps a single random pair of elements and repeats.
By Md. Harun-Or-Roshid
Bogo Sort: Mechanism, Complexity Analysis & Interactive Visualizer
The ultimate joke sorting algorithm: shuffles elements randomly and checks if they are sorted, repeating until luck prevails.
By Md. Harun-Or-Roshid
Slow Sort: Mechanism, Complexity Analysis & Interactive Visualizer
A humorous sorting algorithm based on the "multiply and surrender" paradigm: recursively sorts halves, swaps the mid and end values to find the local max, and recurse again on the remaining prefix.
By Md. Harun-Or-Roshid
Stooge Sort: Mechanism, Complexity Analysis & Interactive Visualizer
An educational recursive sorting algorithm: achieves correct sorting by recursively sorting the first two-thirds, last two-thirds, and first two-thirds of the list again.
By Md. Harun-Or-Roshid
Replacement Selection Sort: Mechanism, Complexity Analysis & Interactive Visualizer
An optimized run generation algorithm: uses a Min-Heap buffer to stream sorted runs to disk, producing runs that are on average twice the size of available system RAM.
By Md. Harun-Or-Roshid
Cascade Merge Sort: Mechanism, Complexity Analysis & Interactive Visualizer
A highly sophisticated asymmetric external sort: dynamically decreases the merge fan-in order step-by-step from \(T-1\) down to 2, optimizing tape operations without requiring rewinds.
By Md. Harun-Or-Roshid
Balanced Multiway Merge Sort: Mechanism, Complexity Analysis & Interactive Visualizer
An advanced external sorting algorithm: distributes runs evenly across a pool of input channels, executing multi-way merges into output channels, dramatically reducing the number of external storage sweep passes.
By Md. Harun-Or-Roshid
Polyphase Merge Sort: Mechanism, Complexity Analysis & Interactive Visualizer
An optimized external sorting algorithm: distributes sorted runs across tape drives using Fibonacci sequence ratios to continuously merge segments without ever rewinding the tapes.
By Md. Harun-Or-Roshid