#Algorithms
16 articles
Implementing Sliding Window
Implement sliding window algorithms for efficient subarray searching with optimized time complexity and rate limiter applications.
About the Two Pointer Technique
Master two-pointer technique for efficient array pair searching with O(N log N) complexity using sorting and index manipulation.
Runner Technique for Linked Lists
A summary of the runner technique, useful for traversing linked lists. I first learned about this approach of advancing two pointers through the list at different speeds in the book Cracking the Coding Interview, and this article explains the idea and where it comes in handy.
Challenges with Recursion
Understand recursion challenges involving return statements and call stack evaluation with practice strategies.
Reviewing the Basics of Algorithms and Data Structures
A comprehensive review of algorithms and data structures basics: arrays, strings, hash tables, linked lists, trees, stacks, queues, sorting, and time complexity for coding problems.
Implementation of Counting Sort
Implement counting sort using prefix sums in Go. Discover non-comparison sorting with efficient O(n) time complexity execution.
Implementing Backtracking
Implement backtracking algorithm to explore constraint-satisfying combinations using recursive tree structures and subsequence generation.
Algorithm Encyclopedia Revised Edition: 33 Algorithms Illustrated
A review of the illustrated algorithm guide covering 33 algorithms including sorting and searching. It explains them clearly with diagrams at the center, letting you grasp their behavior intuitively and making it a reference worth keeping close.
Algorithms and Data Structures - Bubble Sort
Learn Bubble Sort, a comparison-based sorting algorithm with O(n²) time complexity. Covers the adjacent-element swap logic and a complete Go implementation.
Algorithms and Data Structures - Heap Sort
Learn Heap Sort, which uses a binary heap tree to sort in O(n log n) time. Covers heap construction, root extraction, and a Go implementation.
Algorithm and Data Structures - Insertion Sort
Learn Insertion Sort, which divides the array into sorted and unsorted parts and builds the sorted sequence one element at a time. O(n²) time complexity with a Go implementation.
Algorithms and Data Structures - Merge Sort
Learn Merge Sort, a divide-and-conquer sorting algorithm with O(n log n) worst-case time complexity. Covers recursive splitting, merging steps, and a Go implementation.
Algorithms and Data Structures - Quick Sort
Understand Quick Sort: O(n log n) average, O(n²) worst-case time complexity. Covers pivot selection, partitioning into low/high ranges, and a randomized Go implementation.
Algorithms and Data Structures - Selection Sort
Understand Selection Sort, which repeatedly finds the minimum element and swaps it into position. Covers O(n²) time complexity and a Go implementation.
Everyone's Computer Science
A review of Everyone's Computer Science. A book for compactly grasping the big picture of computer science by its key points. Rather than diving deep into each topic, it is just right when you want a map of the CS field.
Starting Algorithms with JavaScript
Master fundamental JavaScript algorithms including linear and binary search, plus selection and bubble sort implementations.