| { |
| "linear_search.txt": { |
| "topic": "Linear Search", |
| "category": "Searching", |
| "difficulty": "Easy", |
| "prerequisites": ["Arrays"] |
| }, |
| "binary_search.txt": { |
| "topic": "Binary Search", |
| "category": "Searching", |
| "difficulty": "Easy", |
| "prerequisites": ["Arrays", "Sorting"] |
| }, |
| "two_pointer_technique.txt": { |
| "topic": "Two Pointer Technique", |
| "category": "Array Techniques", |
| "difficulty": "Easy", |
| "prerequisites": ["Arrays", "Loops"] |
| }, |
| "sliding_window_technique.txt": { |
| "topic": "Sliding Window Technique", |
| "category": "Array Techniques", |
| "difficulty": "Medium", |
| "prerequisites": ["Arrays", "Two Pointer Technique"] |
| }, |
|
|
| "bubble_sort.txt": { |
| "topic": "Bubble Sort", |
| "category": "Sorting", |
| "difficulty": "Easy", |
| "prerequisites": ["Arrays", "Loops"] |
| }, |
| "selection_sort.txt": { |
| "topic": "Selection Sort", |
| "category": "Sorting", |
| "difficulty": "Easy", |
| "prerequisites": ["Arrays", "Loops"] |
| }, |
| "insertion_sort.txt": { |
| "topic": "Insertion Sort", |
| "category": "Sorting", |
| "difficulty": "Easy", |
| "prerequisites": ["Arrays"] |
| }, |
| "merge_sort.txt": { |
| "topic": "Merge Sort", |
| "category": "Sorting", |
| "difficulty": "Medium", |
| "prerequisites": ["Arrays", "Recursion"] |
| }, |
| "quick_sort.txt": { |
| "topic": "Quick Sort", |
| "category": "Sorting", |
| "difficulty": "Medium", |
| "prerequisites": ["Arrays", "Recursion", "Divide and Conquer"] |
| }, |
| "heap_sort.txt": { |
| "topic": "Heap Sort", |
| "category": "Sorting", |
| "difficulty": "Medium", |
| "prerequisites": ["Arrays", "Heap"] |
| }, |
| "counting_sort.txt": { |
| "topic": "Counting Sort", |
| "category": "Sorting", |
| "difficulty": "Medium", |
| "prerequisites": ["Arrays", "Hashing"] |
| }, |
| "radix_sort.txt": { |
| "topic": "Radix Sort", |
| "category": "Sorting", |
| "difficulty": "Medium", |
| "prerequisites": ["Counting Sort", "Number Representation"] |
| }, |
| "bucket_sort.txt": { |
| "topic": "Bucket Sort", |
| "category": "Sorting", |
| "difficulty": "Medium", |
| "prerequisites": ["Arrays", "Hashing"] |
| }, |
|
|
| "singly_linked_list.txt": { |
| "topic": "Singly Linked List", |
| "category": "Linked Lists", |
| "difficulty": "Easy", |
| "prerequisites": ["Pointers", "Structures"] |
| }, |
| "doubly_linked_list.txt": { |
| "topic": "Doubly Linked List", |
| "category": "Linked Lists", |
| "difficulty": "Easy", |
| "prerequisites": ["Pointers", "Singly Linked List"] |
| }, |
| "circular_linked_list.txt": { |
| "topic": "Circular Linked List", |
| "category": "Linked Lists", |
| "difficulty": "Medium", |
| "prerequisites": ["Linked Lists", "Pointers"] |
| }, |
|
|
| "stack.txt": { |
| "topic": "Stack", |
| "category": "Stacks and Queues", |
| "difficulty": "Easy", |
| "prerequisites": ["Arrays", "Linked Lists"] |
| }, |
| "queue.txt": { |
| "topic": "Queue", |
| "category": "Stacks and Queues", |
| "difficulty": "Easy", |
| "prerequisites": ["Arrays", "Linked Lists"] |
| }, |
| "circular_queue.txt": { |
| "topic": "Circular Queue", |
| "category": "Stacks and Queues", |
| "difficulty": "Medium", |
| "prerequisites": ["Queue", "Arrays"] |
| }, |
| "deque.txt": { |
| "topic": "Deque", |
| "category": "Stacks and Queues", |
| "difficulty": "Medium", |
| "prerequisites": ["Queue"] |
| }, |
| "monotonic_stack.txt": { |
| "topic": "Monotonic Stack", |
| "category": "Stacks and Queues", |
| "difficulty": "Hard", |
| "prerequisites": ["Stack", "Arrays"] |
| }, |
|
|
| "binary_tree.txt": { |
| "topic": "Binary Tree", |
| "category": "Trees", |
| "difficulty": "Easy", |
| "prerequisites": ["Recursion"] |
| }, |
| "binary_search_tree.txt": { |
| "topic": "Binary Search Tree", |
| "category": "Trees", |
| "difficulty": "Medium", |
| "prerequisites": ["Binary Tree", "Searching"] |
| }, |
| "avl_tree.txt": { |
| "topic": "AVL Tree", |
| "category": "Trees", |
| "difficulty": "Hard", |
| "prerequisites": ["Binary Search Tree", "Rotations"] |
| }, |
| "heap_minmax.txt": { |
| "topic": "Heap (Min/Max)", |
| "category": "Trees", |
| "difficulty": "Medium", |
| "prerequisites": ["Binary Tree", "Arrays"] |
| }, |
| "trie.txt": { |
| "topic": "Trie", |
| "category": "Trees", |
| "difficulty": "Medium", |
| "prerequisites": ["Trees", "Strings"] |
| }, |
| "segment_tree.txt": { |
| "topic": "Segment Tree", |
| "category": "Trees", |
| "difficulty": "Hard", |
| "prerequisites": ["Trees", "Recursion"] |
| }, |
| "fenwick_tree_binary_indexed_tree.txt": { |
| "topic": "Fenwick Tree (Binary Indexed Tree)", |
| "category": "Trees", |
| "difficulty": "Hard", |
| "prerequisites": ["Arrays", "Prefix Sum"] |
| }, |
|
|
| "bfs.txt": { |
| "topic": "Breadth-First Search", |
| "category": "Graph Traversal", |
| "difficulty": "Medium", |
| "prerequisites": ["Graphs", "Queues"] |
| }, |
| "dfs.txt": { |
| "topic": "Depth-First Search", |
| "category": "Graph Traversal", |
| "difficulty": "Medium", |
| "prerequisites": ["Graphs", "Recursion", "Stacks"] |
| }, |
| "dijkstras_algorithm.txt": { |
| "topic": "Dijkstra's Algorithm", |
| "category": "Graph Algorithms", |
| "difficulty": "Medium", |
| "prerequisites": ["Graphs", "Heap", "BFS"] |
| }, |
| "bellman-ford_algorithm.txt": { |
| "topic": "Bellman-Ford Algorithm", |
| "category": "Graph Algorithms", |
| "difficulty": "Hard", |
| "prerequisites": ["Graphs", "Shortest Path"] |
| }, |
| "floyd-warshall_algorithm.txt": { |
| "topic": "Floyd-Warshall Algorithm", |
| "category": "Graph Algorithms", |
| "difficulty": "Hard", |
| "prerequisites": ["Graphs", "Dynamic Programming"] |
| }, |
| "kruskals_algorithm_mst.txt": { |
| "topic": "Kruskal's Algorithm (MST)", |
| "category": "Minimum Spanning Tree", |
| "difficulty": "Medium", |
| "prerequisites": ["Graphs", "Union-Find"] |
| }, |
| "prims_algorithm_mst.txt": { |
| "topic": "Prim's Algorithm (MST)", |
| "category": "Minimum Spanning Tree", |
| "difficulty": "Medium", |
| "prerequisites": ["Graphs", "Heap"] |
| }, |
| "topological_sort.txt": { |
| "topic": "Topological Sort", |
| "category": "Graph Traversal", |
| "difficulty": "Medium", |
| "prerequisites": ["Graphs", "DFS"] |
| }, |
| "union-find_disjoint_set.txt": { |
| "topic": "Union-Find (Disjoint Set)", |
| "category": "Graph Algorithms", |
| "difficulty": "Medium", |
| "prerequisites": ["Graphs", "Trees"] |
| }, |
| "01_knapsack.txt": { |
| "topic": "0/1 Knapsack", |
| "category": "Dynamic Programming", |
| "difficulty": "Medium", |
| "prerequisites": ["Recursion", "Dynamic Programming Overview"] |
| }, |
| "activity_selection_problem.txt": { |
| "topic": "Activity Selection Problem", |
| "category": "Greedy", |
| "difficulty": "Medium", |
| "prerequisites": ["Sorting", "Greedy Algorithms Overview"] |
| }, |
| "backtracking_overview.txt": { |
| "topic": "Backtracking Overview", |
| "category": "Recursion and Backtracking", |
| "difficulty": "Medium", |
| "prerequisites": ["Recursion"] |
| }, |
| "bit_manipulation_basics.txt": { |
| "topic": "Bit Manipulation Basics", |
| "category": "Bit Manipulation", |
| "difficulty": "Easy", |
| "prerequisites": ["Number Representation"] |
| }, |
| "coin_change_problem.txt": { |
| "topic": "Coin Change Problem", |
| "category": "Dynamic Programming", |
| "difficulty": "Medium", |
| "prerequisites": ["Dynamic Programming Overview"] |
| }, |
| "dynamic_programming_overview.txt": { |
| "topic": "Dynamic Programming Overview", |
| "category": "Dynamic Programming", |
| "difficulty": "Medium", |
| "prerequisites": ["Recursion"] |
| }, |
| "edit_distance.txt": { |
| "topic": "Edit Distance", |
| "category": "Dynamic Programming", |
| "difficulty": "Hard", |
| "prerequisites": ["Dynamic Programming Overview", "Strings"] |
| }, |
| "fractional_knapsack.txt": { |
| "topic": "Fractional Knapsack", |
| "category": "Greedy", |
| "difficulty": "Medium", |
| "prerequisites": ["Sorting", "Greedy Algorithms Overview"] |
| }, |
| "greedy_algorithms_overview.txt": { |
| "topic": "Greedy Algorithms Overview", |
| "category": "Greedy", |
| "difficulty": "Medium", |
| "prerequisites": ["Sorting"] |
| }, |
| "hash_set_vs_hash_map.txt": { |
| "topic": "Hash Set vs Hash Map", |
| "category": "Hashing", |
| "difficulty": "Easy", |
| "prerequisites": ["Hash Table"] |
| }, |
| "hash_table.txt": { |
| "topic": "Hash Table", |
| "category": "Hashing", |
| "difficulty": "Easy", |
| "prerequisites": ["Arrays"] |
| }, |
| "longest_common_subsequence.txt": { |
| "topic": "Longest Common Subsequence", |
| "category": "Dynamic Programming", |
| "difficulty": "Medium", |
| "prerequisites": ["Dynamic Programming Overview", "Strings"] |
| }, |
| "longest_increasing_subsequence.txt": { |
| "topic": "Longest Increasing Subsequence", |
| "category": "Dynamic Programming", |
| "difficulty": "Medium", |
| "prerequisites": ["Dynamic Programming Overview", "Arrays"] |
| }, |
| "n-queens_problem.txt": { |
| "topic": "N-Queens Problem", |
| "category": "Recursion and Backtracking", |
| "difficulty": "Hard", |
| "prerequisites": ["Backtracking Overview"] |
| }, |
| "recursion_overview.txt": { |
| "topic": "Recursion Overview", |
| "category": "Recursion and Backtracking", |
| "difficulty": "Easy", |
| "prerequisites": ["Functions"] |
| }, |
| "subset_sum_power_set_generation.txt": { |
| "topic": "Subset Sum / Power Set Generation", |
| "category": "Recursion and Backtracking", |
| "difficulty": "Medium", |
| "prerequisites": ["Backtracking Overview", "Bit Manipulation Basics"] |
| }, |
| "xor_tricks.txt": { |
| "topic": "XOR Tricks", |
| "category": "Bit Manipulation", |
| "difficulty": "Medium", |
| "prerequisites": ["Bit Manipulation Basics"] |
| } |
| } |