Algorithm Time Complexity (Average Case) Best Time Complexity Worst Time Complexity Space Complexity Is Stable Is In-place B...
Sorting Algorithms
High Performance Architecture: Load Balancing
Single server, no matter how optimised, no matter how good hardware is used, there will always be a performance ceiling. When the performance of a single server cannot meet the business needs, it i...
High Performance Architecture: Caching
Caching is a vital technique used in software architecture to enhance the performance and scalability of applications. By storing frequently accessed data in a temporary storage area (cache), appli...
High Performance Architecture: Database Sharding & Partitioning
Read-write separation disperses the pressure of database read-write operations, but does not disperse the storage pressure. When the amount of data reaches ten million or even hundreds of millions ...
High Performance Architecture: Read-Write Separation
Read-write separation is an architectural pattern used to improve the performance, scalability, and reliability of database systems. This pattern is particularly useful for applications with high r...
Three Principles of Architecture Design
With the ever-changing business, emerging technologies, and diverse design concepts, it may seem difficult to have a common set of guidelines to apply to all architectural design scenarios. But in ...
Why do We Need Software Architecture?
Software architecture is a critical aspect of software engineering that defines the structure, components, and interactions of a system. Contents What is Software Architecture? Histor...
Bitmap and Bloom Filter
Contents What is a Bitmap? Advantages of Bitmaps Applications of Bitmaps How Bitmaps Work Basic Operations Example in Java Bloom Fil...
Algorithmic Thinking: Dynamic Programming
Contents What is Dynamic Programming? Key Principles Advantages of Dynamic Programming Disadvantages of Dynamic Programming Applications of Dynamic Programmi...
Algorithmic Thinking: Backtracking
Contents What is a Backtracking Algorithm? Key Principles Advantages of Backtracking Disadvantages of Backtracking Applications of Backtracking Algorithms ...