Topic

#Algorithms

33 posts tagged “Algorithms”.

The Lycoris Team The Lycoris Team · · 4 min read

How Regular Expressions Work Under the Hood

Regular expressions are matched by finite automata or backtracking engines. How regex engines parse patterns, and why some patterns run slowly.

#Computer Science #Algorithms #Developer Tools
The Lycoris Team The Lycoris Team · · 4 min read

P vs NP: What Does 'NP-Complete' Actually Mean?

P is problems solvable quickly; NP is problems whose solutions are quickly checkable. Whether P equals NP is one of computing's open questions.

#Computer Science #Algorithms
The Lycoris Team The Lycoris Team · · 4 min read

The KMP Algorithm: Fast String Matching Explained

The Knuth-Morris-Pratt algorithm finds a pattern inside a text in linear time by never re-examining characters it has already matched.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 5 min read

What Is a Ring Buffer?

A ring buffer is a fixed-size array that wraps its read and write pointers around, giving O(1) enqueue and dequeue without ever resizing.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 5 min read

Fenwick Trees (Binary Indexed Trees), Explained

A Fenwick tree, or binary indexed tree, answers prefix-sum queries and point updates in O(log n) with far less memory than a segment tree.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

Bit Manipulation Basics Every Developer Should Know

Bit manipulation uses operators like AND, OR, XOR, and shifts to work directly on binary representations — the basics behind flags, masks, and fast math.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

Amortized Analysis Explained: Average Cost Over Time

Amortized analysis measures the average cost of an operation over a sequence of calls, not its worst case. How dynamic array resizing gets O(1) amortized inserts.

#Computer Science #Algorithms #Performance
The Lycoris Team The Lycoris Team · · 4 min read

Hash Collision Resolution: Chaining vs Open Addressing

When two keys hash to the same slot, a hash table needs a collision strategy. Chaining and open addressing solve it differently — here's the tradeoff.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 5 min read

Segment Trees Explained: Fast Range Queries

A segment tree answers range queries — sum, min, max — over an array in logarithmic time, and supports updates without rebuilding the whole structure.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

Backtracking Algorithms Explained

Backtracking solves problems by building candidate solutions incrementally and abandoning any path that can't lead to a valid answer. How it works, with examples.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 5 min read

Union-Find (Disjoint Set) Explained

Union-find tracks a collection of disjoint sets and answers 'are these two items connected?' in near-constant time. How it works and where it's used.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

Topological Sort Explained

Topological sort orders the nodes of a directed acyclic graph so every dependency comes before what depends on it. How it works and where it's used.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 5 min read

The Two Pointers Technique Explained

Two pointers walk a sorted array or string from both ends (or in tandem) to solve problems in one linear pass instead of nested loops.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

The Sliding Window Technique Explained

The sliding window technique tracks a moving subrange of an array or string, turning many O(n²) brute-force problems into a single O(n) linear pass.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 6 min read

Dijkstra's Algorithm vs A* Search, Explained

Dijkstra's algorithm finds shortest paths by exploring uniformly outward; A* reaches the same answer faster by using a heuristic to aim at the goal.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

What Is a Skip List?

A skip list is a layered linked list with shortcut pointers giving O(log n) search, insert, and delete — a simpler alternative to balanced trees.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 5 min read

Greedy Algorithms vs Dynamic Programming

Greedy algorithms commit to the locally best choice at each step; dynamic programming weighs every subproblem. When each one actually works.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

Red-Black Trees vs AVL Trees Explained

Red-black and AVL trees both keep binary search trees balanced, but trade off rebalancing cost against lookup speed differently. How each works.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

What Is a Finite State Machine?

A finite state machine models a system as a fixed set of states and the transitions between them. How FSMs work and where they show up in real software.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

What Is an LRU Cache?

An LRU cache evicts the least recently used item first when it runs out of room, keeping the most useful data in memory. Here's how it's built.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

Recursion vs. Iteration, Explained

Recursion solves a problem by calling itself on smaller inputs; iteration solves it with a loop. Same results, different trade-offs in memory and clarity.

#Computer Science #Algorithms #Programming
The Lycoris Team The Lycoris Team · · 5 min read

Quicksort vs Mergesort: Sorting Algorithms Explained

Quicksort and mergesort are the two classic O(n log n) sorting algorithms — how they differ in memory use, stability, and worst-case behavior.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

Consistent Hashing Explained

Consistent hashing maps keys and nodes onto the same ring so adding or removing a server only reshuffles a small fraction of keys, not all of them.

#Computer Science #Algorithms #Databases
The Lycoris Team The Lycoris Team · · 5 min read

Graph Data Structures: BFS vs DFS Explained

Graphs model networks of connected nodes; BFS and DFS are the two core ways to traverse them. How each works, and which to reach for.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

Stacks vs Queues: LIFO and FIFO Data Structures

Stacks remove the most recent item first (LIFO); queues remove the oldest first (FIFO). How each works, their operations, and where they show up.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

What Is a Trie? Prefix Tree Data Structure Explained

A trie stores strings by sharing common prefixes across tree branches, making prefix lookups and autocomplete fast. How it compares to hash tables and BSTs.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

What Is a Heap? The Data Structure Behind Priority Queues

A heap is a tree-based structure that keeps the smallest or largest element at the root, enabling priority queues and heap sort in logarithmic time.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 5 min read

What Is a Bloom Filter? Probabilistic Set Membership

A Bloom filter is a compact data structure that tests whether an item might be in a set, using far less memory than storing the set itself.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

What Is a Linked List? Data Structure Explained

A linked list stores elements as nodes linked by pointers rather than contiguous memory, trading fast random access for cheap insertion and removal.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

What Is Dynamic Programming? A Practical Explainer

Dynamic programming solves complex problems by breaking them into overlapping subproblems and caching results, avoiding redundant recomputation.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

Binary Search Trees Explained: How They Work

A binary search tree keeps every left descendant smaller and every right descendant larger than its parent. How lookups, inserts, and balance work.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 4 min read

What Is a Hash Table? Fast Lookups, Explained

A hash table maps keys to array slots with a hash function for near O(1) lookups. How hashing, collisions, and resizing actually work under the hood.

#Computer Science #Algorithms #Data Structures
The Lycoris Team The Lycoris Team · · 5 min read

What Is Big O Notation? Algorithm Complexity Explained

Big O notation describes how an algorithm's time or memory grows as input grows. The common classes, what they mean, and how to reason about them.

#Computer Science #Performance #Algorithms

← All topics