DEV Community

DSA & Algorithms in Python Series' Articles

Back to Bimal Kshetri's Series
The Complete DSA and Algorithms Series in Python: Every Post, In Order
Cover image for The Complete DSA and Algorithms Series in Python: Every Post, In Order

The Complete DSA and Algorithms Series in Python: Every Post, In Order

Comments
8 min read
What Is DSA? Data Structures and Algorithms Explained for Complete Beginners
Cover image for What Is DSA? Data Structures and Algorithms Explained for Complete Beginners

What Is DSA? Data Structures and Algorithms Explained for Complete Beginners

Comments
16 min read
Python From Zero: The Complete Beginner's Guide to the Language
Cover image for Python From Zero: The Complete Beginner's Guide to the Language

Python From Zero: The Complete Beginner's Guide to the Language

Comments
46 min read
Big O Notation: How to Measure an Algorithm Without Running It
Cover image for Big O Notation: How to Measure an Algorithm Without Running It

Big O Notation: How to Measure an Algorithm Without Running It

Comments
23 min read
Bubble Sort in Python: The Algorithm Everyone Learns First
Cover image for Bubble Sort in Python: The Algorithm Everyone Learns First

Bubble Sort in Python: The Algorithm Everyone Learns First

Comments
11 min read
Selection Sort in Python: The Fewest Swaps of Any Simple Sort
Cover image for Selection Sort in Python: The Fewest Swaps of Any Simple Sort

Selection Sort in Python: The Fewest Swaps of Any Simple Sort

Comments
15 min read
Insertion Sort in Python: The Fast One Nobody Expects
Cover image for Insertion Sort in Python: The Fast One Nobody Expects

Insertion Sort in Python: The Fast One Nobody Expects

Comments
16 min read
Merge Sort in Python: Guaranteed O(n log n), Every Single Time
Cover image for Merge Sort in Python: Guaranteed O(n log n), Every Single Time

Merge Sort in Python: Guaranteed O(n log n), Every Single Time

Comments
17 min read
Quick Sort in Python: The Fastest Sort in Practice, and Its One Weakness
Cover image for Quick Sort in Python: The Fastest Sort in Practice, and Its One Weakness

Quick Sort in Python: The Fastest Sort in Practice, and Its One Weakness

Comments
18 min read
Heap Sort in Python: O(n log n) Without Using Extra Memory
Cover image for Heap Sort in Python: O(n log n) Without Using Extra Memory

Heap Sort in Python: O(n log n) Without Using Extra Memory

Comments
18 min read
Counting Sort in Python: Sorting Without Comparing Anything
Cover image for Counting Sort in Python: Sorting Without Comparing Anything

Counting Sort in Python: Sorting Without Comparing Anything

Comments
21 min read
Radix Sort in Python: Sorting Digit by Digit, Faster Than O(n log n)
Cover image for Radix Sort in Python: Sorting Digit by Digit, Faster Than O(n log n)

Radix Sort in Python: Sorting Digit by Digit, Faster Than O(n log n)

Comments
17 min read
Timsort: The Algorithm Behind Python's sorted() and list.sort()
Cover image for Timsort: The Algorithm Behind Python's sorted() and list.sort()

Timsort: The Algorithm Behind Python's sorted() and list.sort()

Comments
24 min read
Linear Search in Python: The Simplest Algorithm, and When It's Still Right
Cover image for Linear Search in Python: The Simplest Algorithm, and When It's Still Right

Linear Search in Python: The Simplest Algorithm, and When It's Still Right

Comments
15 min read
Binary Search in Python: Halving the Problem Every Step
Cover image for Binary Search in Python: Halving the Problem Every Step

Binary Search in Python: Halving the Problem Every Step

Comments
21 min read
Arrays and Dynamic Arrays: How Python Lists Actually Work
Cover image for Arrays and Dynamic Arrays: How Python Lists Actually Work

Arrays and Dynamic Arrays: How Python Lists Actually Work

Comments
18 min read
Linked Lists in Python: Singly, Doubly, and Circular, From Scratch
Cover image for Linked Lists in Python: Singly, Doubly, and Circular, From Scratch

Linked Lists in Python: Singly, Doubly, and Circular, From Scratch

Comments
22 min read
Stacks in Python: Last In, First Out, and Where You Already Use One
Cover image for Stacks in Python: Last In, First Out, and Where You Already Use One

Stacks in Python: Last In, First Out, and Where You Already Use One

Comments
17 min read
Queues and Deques in Python: FIFO, Ring Buffers, and collections.deque
Cover image for Queues and Deques in Python: FIFO, Ring Buffers, and collections.deque

Queues and Deques in Python: FIFO, Ring Buffers, and collections.deque

Comments
19 min read
Hash Tables in Python: How Dictionaries Get O(1) Lookups
Cover image for Hash Tables in Python: How Dictionaries Get O(1) Lookups

Hash Tables in Python: How Dictionaries Get O(1) Lookups

Comments
22 min read
Binary Search Trees in Python: Ordered Data That Stays Fast
Cover image for Binary Search Trees in Python: Ordered Data That Stays Fast

Binary Search Trees in Python: Ordered Data That Stays Fast

Comments
18 min read
AVL Trees and Self-Balancing: Fixing the Binary Search Tree's Worst Case
Cover image for AVL Trees and Self-Balancing: Fixing the Binary Search Tree's Worst Case

AVL Trees and Self-Balancing: Fixing the Binary Search Tree's Worst Case

Comments
26 min read
Heaps and Priority Queues in Python: Always Knowing the Smallest Item
Cover image for Heaps and Priority Queues in Python: Always Knowing the Smallest Item

Heaps and Priority Queues in Python: Always Knowing the Smallest Item

Comments
26 min read
Tries in Python: The Data Structure Behind Autocomplete
Cover image for Tries in Python: The Data Structure Behind Autocomplete

Tries in Python: The Data Structure Behind Autocomplete

Comments
20 min read
Union-Find (Disjoint Set) in Python: Tracking Connected Things Fast
Cover image for Union-Find (Disjoint Set) in Python: Tracking Connected Things Fast

Union-Find (Disjoint Set) in Python: Tracking Connected Things Fast

Comments
23 min read
Graphs in Python: Adjacency Lists, Matrices, and Which to Use
Cover image for Graphs in Python: Adjacency Lists, Matrices, and Which to Use

Graphs in Python: Adjacency Lists, Matrices, and Which to Use

Comments
20 min read
Breadth-First Search (BFS) in Python: Shortest Paths, Level by Level
Cover image for Breadth-First Search (BFS) in Python: Shortest Paths, Level by Level

Breadth-First Search (BFS) in Python: Shortest Paths, Level by Level

Comments
18 min read
Depth-First Search (DFS) in Python: Going Deep Before Going Wide
Cover image for Depth-First Search (DFS) in Python: Going Deep Before Going Wide

Depth-First Search (DFS) in Python: Going Deep Before Going Wide

Comments
21 min read
Dijkstra's Algorithm in Python: Shortest Paths With Weighted Edges
Cover image for Dijkstra's Algorithm in Python: Shortest Paths With Weighted Edges

Dijkstra's Algorithm in Python: Shortest Paths With Weighted Edges

Comments
19 min read
Bellman-Ford in Python: Shortest Paths When Edges Can Be Negative
Cover image for Bellman-Ford in Python: Shortest Paths When Edges Can Be Negative

Bellman-Ford in Python: Shortest Paths When Edges Can Be Negative

Comments
23 min read