LV 2
LV 2
1. Complexity Analysis
• Learn to evaluate the efficiency of algorithms by understanding Big O notation. This is critical
for optimizing code and making it scalable.
2. Recursion
• Understand the concept of recursion and its role in solving complex problems.
• Learn how to employ recursion effectively within your code.
3. Conditions
• Learn how to make decisions in your code using conditional statements.
• Explore the world of branching and decision-making in programming.
8. Non-Linear Data Structures (Set, Multiset, Ordered Set, Map, Multimap, Unordered Map)
• Explore these structures for more complex data relations and quick data retrieval, insertion,
and deletion, crucial for performance in dynamic data handling.
1
9. Sorting Techniques (Bubble, Insertion, Selection, Merge, Quick Sort)
• Understand various sorting algorithms, their complexities, and practical applications to choose
the best sort mechanism for your data.
• Learn to customize sorting operations using compare functions, enabling tailored sorting cri-
teria for specific needs.
11. Binary Search (Basic, Binary Search in Doubles, Lower Bound, Upper Bound)
• Delve into binary search techniques to quickly find elements or boundaries in a sorted array,
reducing search complexity significantly.
13. Bitmask
• Investigate the use of bitmasking for compactly storing and manipulating data with bit-level
operations, useful in solving complex problems involving subsets or configurations.