Algorithms and Data Structures

30 articles

Open Addressing Hash Tables and Swiss Tables
Algorithms and Data Structures 2025-02-27

Open Addressing Hash Tables and Swiss Tables

Explore open addressing, Swiss tables, collision resolution techniques, and cache-efficient hash table design.

#Open Addressing Hash Table#Swiss Table#Data Structures
Implementing Sliding Window
Algorithms and Data Structures 2023-08-17

Implementing Sliding Window

Implement sliding window algorithms for efficient subarray searching with optimized time complexity and rate limiter applications.

#Sliding Window
Search Patterns in Binary Search Trees
Algorithms and Data Structures 2023-08-04

Search Patterns in Binary Search Trees

Learn DFS and BFS search patterns for binary search trees, including preorder, inorder, and postorder traversal methods.

#Binary Search Tree#DFS#BFS
About the Two Pointer Technique
Algorithms and Data Structures 2023-08-01

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.

#Two-Pointer Technique#Two-Pointer Approach
Algorithms and Data Structures - HashMap
Algorithms and Data Structures 2023-07-31

Algorithms and Data Structures - HashMap

Understand how HashMaps work: O(1) average access, open addressing vs. chaining for hash collision handling, and a basic Go HashMap implementation.

#HashMap
Adjacency List and Adjacency Matrix
Algorithms and Data Structures 2023-07-29

Adjacency List and Adjacency Matrix

Compare adjacency lists (O(V+E) space, efficient for sparse graphs) and adjacency matrices (O(V²) space, O(1) edge lookup). Includes Go implementations for directed and undirected graphs.

#Graph#Adjacency Matrix#Adjacency List
Implementation of Stack and Queue
Algorithms and Data Structures 2023-07-25

Implementation of Stack and Queue

Implement stack and queue data structures in Go with linked lists and slices for O(1) operations and optimal performance.

#Stack#Queue
Runner Technique for Linked Lists
Algorithms and Data Structures 2023-07-22

Runner Technique for Linked Lists

Summarizing the runner technique useful for traversing linked lists.

#Algorithm#Data Structure#Runner Technique#Tips
Reviewing the Basics of Algorithms and Data Structures
Algorithms and Data Structures 2023-06-28

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.

#Algorithm#Data Structure
Implementation of Counting Sort
Algorithms and Data Structures 2023-06-24

Implementation of Counting Sort

Implement counting sort using prefix sums in Go. Discover non-comparison sorting with efficient O(n) time complexity execution.

#Counting Sort
Implementing Backtracking
Algorithms and Data Structures 2023-06-23

Implementing Backtracking

Implement backtracking algorithm to explore constraint-satisfying combinations using recursive tree structures and subsequence generation.

#Backtrack
Algorithm Encyclopedia Revised Edition: 33 Algorithms Illustrated
Algorithms and Data Structures 2021-05-16

Algorithm Encyclopedia Revised Edition: 33 Algorithms Illustrated

Algorithm Encyclopedia Revised Edition: 33 Algorithms Illustrated

#Algorithms#Book Review#Data Structures
Algorithms and Data Structures - Bubble Sort
Algorithms and Data Structures 2020-02-01

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.

#Bubble Sort
Algorithms and Data Structures - Heap Sort
Algorithms and Data Structures 2020-02-01

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.

#Heap Sort
Algorithm and Data Structures - Insertion Sort
Algorithms and Data Structures 2020-02-01

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.

#Insertion Sort
Algorithms and Data Structures - Merge Sort
Algorithms and Data Structures 2020-02-01

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.

#Merge Sort
Algorithms and Data Structures - Quick Sort
Algorithms and Data Structures 2020-02-01

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.

#Quick Sort
Algorithms and Data Structures - Selection Sort
Algorithms and Data Structures 2020-02-01

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.

#Selection Sort
Algorithms and Data Structures - Binary Search Trees
Algorithms and Data Structures 2020-01-15

Algorithms and Data Structures - Binary Search Trees

Understand Binary Search Trees: O(log n) average search and insertion, DFS (preorder, inorder, postorder) and BFS traversal methods with a Go BST implementation.

#Binary Search Tree
Algorithms and Data Structures - Heap
Algorithms and Data Structures 2020-01-14

Algorithms and Data Structures - Heap

Learn how min-heaps and max-heaps work as priority queue data structures. Covers O(log n) insertion and deletion with a Go heap implementation.

#Heap