From 202b802f1cb40fa41ad165b1783fc975a4795142 Mon Sep 17 00:00:00 2001 From: Ajay-Dhangar Date: Mon, 11 Nov 2024 21:21:45 +0530 Subject: [PATCH] resolve Docs --- docs/Depth_first_traversal.md | 101 ------ .../Approximation Algorithm/Approximation.md | 0 docs/{ => extra}/Banker's Algorithm/Banker.md | 0 docs/{ => extra}/Boyer Moore/Boyer-Moore.md | 0 .../{ => extra}/Circular_array/Application.md | 0 .../Circular_array/Introduction.md | 0 .../Add_two_number_as_LL.md | 0 ...inked List with Random and Next Pointer.md | 0 .../Contains_duplicate.md | 0 .../Convert Date to Binary.md | 0 .../Cousins in Binary Tree.md | 0 .../Delete middle node.md | 0 .../Delete_occurences_of_key.md | 0 .../Find Indices of stable mountains.md | 0 .../Loop in linked list.md | 0 .../Merge Two Sorted Arrays.md | 0 .../Merge_K_Sorted_Arrays.md | 0 .../DSA-Problem-Solution/Palindrome-number.md | 0 .../DSA-Problem-Solution/Plus-one.md | 0 ...regate even and odd nodes in LinkedList.md | 0 .../Size_of_largest_BST_in_binary_tree.md | 0 .../Sliding Window Maximum.md | 0 .../DSA-Problem-Solution/Symmetric Tree.md | 0 .../flattening-a-linked-list.md | 0 .../DSA-Problem-Solution/house-robber.md | 0 ...t_substring_without_repeated_characters.md | 0 .../lowest_common_ancestor.md | 0 .../DSA-Problem-Solution/merge_intervals.md | 0 .../odd-even-linked-list.md | 0 .../palindrome_linked_list.md | 0 .../partition_equal_subset_sum.md | 0 .../removing-stars-from-string.md | 0 .../DSA-Problem-Solution/reverse-bits.md | 0 .../reverse-linked-list.md | 0 .../DSA-Problem-Solution/rotten-oranges.md | 0 .../DSA-Problem-Solution/two_sum.md | 0 .../Divide and Conquer/Maximum-minimum.md | 0 .../Strassen's-Matrix-Mutiplication.md | 0 .../Divide and Conquer/convex-hull.md | 0 docs/{ => extra}/Fenwick Tree/FenwickTree.md | 0 docs/{ => extra}/Hashing/CollisionHandling.md | 0 .../{ => extra}/Hashing/OperationInsertion.md | 0 docs/{ => extra}/Hashing/OperationSearch.md | 0 docs/{ => extra}/Hashing/OperationUpdate.md | 0 docs/{ => extra}/Hashing/Tigerhashing.md | 0 docs/{ => extra}/Hashing/_category_.json | 0 .../Hashing/deletion-in-hash-table.md | 0 docs/{ => extra}/Hashing/hashsets.md | 0 docs/{ => extra}/Hashing/imp-of-hashing.md | 0 docs/{ => extra}/Hashing/what-is-hashing.md | 0 docs/{ => extra}/Jump Search/Jump Search.md | 1 - .../KMP searching pattern/_category_.json | 0 .../KMP searching pattern/readme.md | 0 .../Divisibility and Prime Numbers.md | 0 docs/{ => extra}/Number theory/GCD.md | 0 docs/{ => extra}/Number theory/LCM.md | 0 .../Number theory/Modular Arithmetic.md | 0 .../Number theory/counting-divisors.md | 0 .../Number theory/modular-exponentiation.md | 0 .../Number theory/sieve-of-eratosthenes.md | 0 .../4-pillars-of-oops.md | 0 .../ApplicationofOOPS.md | 0 .../Polymorphism.md | 0 .../_category_.json | 0 .../abstraction.md | 0 .../Object Oriented Programming/car.png | Bin .../classes-and-objects.md | 0 .../constructors-destructors.md | 0 .../interfaces-vs-abstract-classes.md | 0 .../intro-to-oops.md | 0 .../Object Oriented Programming/intro.png | Bin .../real-world-examples.md | 0 .../typesOfInheritance.md | 0 docs/{ => extra}/Queue/Blocked-queue.png | Bin docs/{ => extra}/Queue/Circular-queue.png | Bin docs/{ => extra}/Queue/Priority-queue.png | Bin docs/{ => extra}/Queue/Problem-Practice.md | 0 docs/{ => extra}/Queue/Two-Stack-Queue.md | 0 docs/{ => extra}/Queue/_category_.json | 0 docs/{ => extra}/Queue/blocked-queue.md | 0 .../Queue/check-palindrome-using-dequeue.md | 0 docs/{ => extra}/Queue/circular-queue.md | 0 docs/{ => extra}/Queue/concurrent-queue.md | 0 .../Queue/design-circular-Dueque.md | 0 .../Queue/design-circular-Queue.md | 0 docs/{ => extra}/Queue/double-ended-queue.md | 0 docs/{ => extra}/Queue/doubleendedqueue.png | Bin docs/{ => extra}/Queue/priority-queue.md | 0 .../Queue/priority_queue_questions.md | 0 .../Rabin-Karp Algorithm/Rabin-Karp.md | 0 .../Randomized-Quicksort.md | 0 .../{ => extra}/Recursion-depths/Recursion.md | 0 .../Recursion-depths/advanced-topics.md | 0 .../Recursion-depths/basic-concepts.md | 0 .../Recursion-depths/handling-depth-errors.md | 0 .../performance-consideration.md | 0 docs/{ => extra}/Recursion/Ackerman.md | 0 .../Count-all-subsequences-with-sum-K.md | 0 .../Recursion/GrayCodeGeneration.md | 0 .../{ => extra}/Recursion/Josephus-Queries.md | 0 .../Recursion/Knight's_Tour_Problem.md | 0 .../Letter-Combinations-of-a-Phone-number.md | 0 docs/{ => extra}/Recursion/N Queen 2.png | Bin docs/{ => extra}/Recursion/N Qween 1.png | Bin .../{ => extra}/Recursion/Reversing_String.md | 0 docs/{ => extra}/Recursion/SmawkAlgorithm.md | 0 docs/{ => extra}/Recursion/Sodoko.md | 0 .../Recursion/StonePaperScissor.md | 0 docs/{ => extra}/Recursion/TowersOfHanoi.md | 0 .../Recursion/Unwinding_in_recursion.md | 0 docs/{ => extra}/Recursion/VoseAlias.md | 0 docs/{ => extra}/Recursion/WaterJug.md | 0 docs/{ => extra}/Recursion/_category_.json | 0 docs/{ => extra}/Recursion/catalannumber.md | 0 docs/{ => extra}/Recursion/fibonacci.md | 0 .../Recursion/generate-parantheses.md | 0 docs/{ => extra}/Recursion/josephus.md | 0 docs/{ => extra}/Recursion/look-and-say.md | 0 docs/{ => extra}/Recursion/n-queen.md | 0 docs/{ => extra}/Recursion/recursion.md | 0 docs/{ => extra}/Recursion/ulamsequence.md | 0 .../Segment-Trees/Dynamic Segment Trees.md | 0 .../Segment-Trees/Practice Porblem.md | 0 .../Segment Trees Introduction.md | 0 .../Segment-Trees/Segment-Tree-img.png | Bin .../IntroductionToSlidingWindow.jpg | Bin .../Sliding-Window/Problem-Practice.md | 0 .../Sliding-Window/_category_.json | 0 .../Sliding-Window/character-replacement.md | 0 .../introduction-to-sliding-window.md | 0 ...longest-repeating-character-replacement.md | 0 ...t-substring-with-K-different-characters.md | 0 .../maximum-sum-subarray-size-K.md | 0 .../minimize-maximum-of-two-arrays.md | 0 .../{ => extra}/Stack/Balanced-Parenthesis.md | 0 .../Stack/Balanced-parentheses-checker.md | 0 docs/{ => extra}/Stack/Conversion.md | 0 docs/{ => extra}/Stack/Evaluation.md | 0 .../Stack/Introduction_to_Stack.png | Bin docs/{ => extra}/Stack/Min-Stack.md | 0 docs/{ => extra}/Stack/MonotonicStack.md | 0 .../Stack/Next Greater Element (NGE).md | 0 docs/{ => extra}/Stack/Problem-Practice.md | 0 docs/{ => extra}/Stack/Reverse-Stack.md | 0 docs/{ => extra}/Stack/Stack-permutation.md | 0 docs/{ => extra}/Stack/Stock-span.md | 0 docs/{ => extra}/Stack/String_Reversal.md | 0 .../Stack/Trapping Rain Water Problem.md | 0 docs/{ => extra}/Stack/_category_.json | 0 .../Stack/introduction-to-stack.md | 0 docs/{ => extra}/Stack/stack.md | 0 .../STL-algorithms.md | 0 .../STL-containers.md | 0 .../STL-iterators.md | 0 .../Standard Template Library/STL-theory.md | 0 docs/{ => extra}/Strings/Problem-Practice.md | 0 docs/{ => extra}/Strings/String Basics.md | 0 docs/{ => extra}/Strings/String Operation.md | 0 docs/{ => extra}/Tarjan's Algorithm/Tarjan.md | 0 .../Tarjan's Algorithm/algorithm.png | Bin .../Task Scheduling/Task-schedule.md | 0 .../Task Scheduling/_category_.json | 0 docs/{ => extra}/Trees/AVL Tree.md | 0 docs/{ => extra}/Trees/B-Trees.md | 0 docs/{ => extra}/Trees/Expression-tree.md | 0 docs/{ => extra}/Trees/Heap-tree.md | 0 docs/{ => extra}/Trees/Practice Problems.md | 0 docs/{ => extra}/Trees/Sum-tree.md | 0 .../Trees/Trees Practice Problems.md | 0 docs/{ => extra}/Trees/Types of Trees.md | 0 docs/{ => extra}/Trees/balanced-tree.md | 0 docs/{ => extra}/Trees/binary-search-tree.md | 0 docs/{ => extra}/Trees/binary-tree.md | 0 docs/{ => extra}/Trees/k-d tree algorithm.md | 0 docs/{ => extra}/Trees/tree-data-structure.md | 0 docs/{ => extra}/Tries/Problem-Practice.md | 0 .../Tries/Tries and its Implementation.md | 0 docs/{ => extra}/Tries/tries-examples.md | 0 docs/{ => extra}/Tries/tries-theory.md | 0 .../advance-data-structure/_category_.json | 0 .../advance-data-structure/disjoint-set.md | 0 .../advance-data-structure/fenwick-tree.md | 0 .../advance-data-structure/segment-tree.md | 0 .../ edmonds-karp-algorithm.md | 0 .../algorithms/Application-of-Recursion.md | 0 .../algorithms/Application-of-linked-list.md | 0 .../bentley-ottmann-algo.md | 0 .../algorithms/Bloom-Filter-Algorithm.md | 0 .../Buchberger's Algorithm.md | 0 .../algorithms/CNN-deep-learning-algorithm.md | 0 .../algorithms/Computer-Vision-ML-Theory.md | 0 .../algorithms/DLX algorithm/DLX.md | 0 .../Dijkstra\342\200\231s Algorithm.md" | 0 .../DutchNationalFlag.md | 0 .../_category_.json | 0 .../Encryption algorithms/Caesar Cipher.md | 0 .../advanced_encryption_standard.md | 0 .../asymmetric_encryption.md | 0 .../blockchain_encryption.md | 0 .../elliptic_curve_cryptography.md | 0 .../Encryption algorithms/hashing.md | 0 .../homomorphic-encryption.md | 0 .../post-quantum-encryption.md | 0 .../steganography-algo.md | 0 .../symmetric_encryption.md | 0 .../algorithms/GAN-ML-Algorithm.md | 0 .../Gale-Shapley-Algorithm/GaleShapley.md | 0 .../algorithms/Hashing-algorithm.md | 0 .../Legendre's Algorithm/legendre-algo.md | 0 .../N-Queens-Dynamic-programming-algorithm.md | 0 .../algorithms/RNN-ML-algorithm.md | 0 .../SMAWK Algorithm/SMAWK Algorithm.md | 0 .../EarliestDeadlineFirst.md | 0 .../FirstComeFirstServed.md | 0 .../LeastRecentlyUsed.md | 0 .../PriorityScheduling.md | 0 .../Scheduling Algorithms/RoundRobin.md | 0 .../ShortestJobRemainingFirst.md | 0 .../Scheduling Algorithms/SweepLine.md | 0 .../Scheduling Algorithms/_category_.json | 0 .../least-recently-used.md | 0 .../multilevel-queue-scheduling.md | 0 .../priority-scheduling.md | 0 .../Searching Algorithms/A-Search.md | 0 .../Searching Algorithms/AO-Search.md | 0 .../Searching Algorithms/Best-First-Search.md | 0 .../Searching Algorithms/BinarySearch.md | 0 .../Boyer-Moore-Search.md | 0 .../Breadth-First-Search-(BFS)-Algo.md | 0 .../Searching Algorithms/ComparisonSearch.md | 0 .../Depth-First-Search-(DFS)-Algo.md | 0 .../Searching Algorithms/DigitalSearch.md | 0 .../Searching Algorithms/ExponentialSerach.md | 0 .../Searching Algorithms/FibbonaciSearch.md | 0 .../Searching Algorithms/HashingSearch.md | 0 .../Interpolation-search-algorithm.md | 0 .../InterpolationSearch.md | 0 .../Searching Algorithms/JumpSearch.md | 0 .../Searching Algorithms/LinearSearch.md | 0 .../Meta-binary-search.md | 0 .../Searching Algorithms/PrioritySearch.md | 0 .../Rabin-Karp-Algorithm.md | 0 .../Searching Algorithms/SentinelSearch.md | 0 .../Searching Algorithms/Sublist-Search.md | 0 .../Searching Algorithms/TernarySearch.md | 0 .../Uniform-Cost-Search.md | 0 .../IntroductionToTwoPointers.png | Bin .../algorithms/Two-Pointers/Max_Distance.md | 0 .../Two-Pointers/Problem-Practice.md | 0 .../algorithms/Two-Pointers/_category_.json | 0 .../Two-Pointers/imp-of-two-pointers.md | 0 .../introduction-to-two-pointers.md | 0 .../Yolo-Object-detection-ML-Algorithm.md | 0 docs/{ => extra}/algorithms/_category_.json | 0 .../Bron-Kerbosch-Algorithm.md | 0 .../N-QueensProblem.md | 0 .../backtracking-algorithms/_category_.json | 0 .../backtracking-questions.md | 0 .../hamilton-path-cyle.md | 0 .../imp-of-backtracking.md | 0 .../backtracking-algorithms/m-coloring.md | 0 .../n-queens_algorithm.md | 0 .../what-is-backtracking.md | 0 .../greedy-algorithms/Fractional_Knapsack.md | 0 .../greedy-algorithms/Huffman-coding.md | 0 .../Job-sequencing-problem.md | 0 ...rim\342\200\231s-Minimum-Spanning-Tree.md" | 0 .../greedy-algorithms/Problem-Practice.md | 0 .../greedy-algorithms/_category_.json | 0 .../greedy-algorithms/activity-selection.md | 0 .../commonly-asked-greedy-questions.md | 0 .../greedy-algorithms/fractional-knapsack.md | 0 .../greedy-algorithms/greedy-theory.md | 0 .../kadane-algorithm/_category_.json | 0 .../kadane-algorithm/kadane-algo.md | 0 .../mathematics-algorithms/_category_.json | 0 .../discrete-logarithm.md | 0 .../euclidean-algorithm.md | 0 .../fermat-little-theorem.md | 0 .../mathematics-algorithms/gcd-lcm.md | 0 .../imp-of-mathematics.md | 0 .../modular-arithmetic.md | 0 .../sieve-of-eratosthenes.md | 0 .../sweep-line-algorithm.md | 0 .../what-is-mathematical-algorithms.md | 0 .../memoisation-algorithms/_category_.json | 0 .../imp-of-memoisation.md | 0 .../what-is-memoisation.md | 0 .../modular-exponentiation-algorithm.md | 0 .../moore-voting-algo.md | 0 .../recursive-algorithms/DirectRecursion.md | 0 .../recursive-algorithms/IndirectRecursion.md | 0 .../recursive-algorithms/_category_.json | 0 .../recursive-algorithms/mutual-recursion.md | 0 .../non-tail-recursion.md | 0 .../recursive-algorithms/tail-recursion.md | 0 .../recursive-algorithms/tree-recursion.md | 0 .../sorting-algorithms/BitonicSort.md | 0 .../algorithms/sorting-algorithms/BogoSort.md | 0 .../sorting-algorithms/BubbleSort.md | 0 .../sorting-algorithms/BucketSort.md | 0 .../sorting-algorithms/CocktailShakerSort.md | 0 .../algorithms/sorting-algorithms/CombSort.md | 0 .../sorting-algorithms/CountingSort.md | 0 .../sorting-algorithms/CycleSort.md | 0 .../sorting-algorithms/Dutch-flag-algo.md | 0 .../sorting-algorithms/GnomeSort.md | 0 .../algorithms/sorting-algorithms/HeapSort.md | 0 .../sorting-algorithms/InsertionSort.md | 0 .../algorithms/sorting-algorithms/JumpSort.md | 0 .../sorting-algorithms/MergeSort.md | 0 .../sorting-algorithms/Odd-Even-Sort.md | 0 .../sorting-algorithms/OddEvenSort.md | 0 .../Pancake-sorting-algorithm.md | 0 .../sorting-algorithms/Pigeonhole.md | 0 .../sorting-algorithms/QuickSort.md | 0 .../sorting-algorithms/RadixSort.md | 0 .../sorting-algorithms/SelectionSort.md | 0 .../sorting-algorithms/ShellSort.md | 0 .../sorting-algorithms/StoogeSort.md | 0 .../algorithms/sorting-algorithms/TimSort.md | 0 .../Topological-sorting-algorithm.md | 0 .../algorithms/sorting-algorithms/TreeSort.md | 0 .../sorting-algorithms/_category_.json | 0 .../sorting-algorithms/odd-even-sorting.md | 0 .../parity-partition-sort.md | 0 .../sorting-algorithms/strand-sort.md | 0 .../Naive-String-Matching-Algorithm.md | 0 .../string-algorithms/Naive-search.md | 0 .../Suffix-Tree-Algorithm.md | 0 .../string-algorithms/Z-Algorithm.md | 0 .../string-algorithms/_category_.json | 0 .../aho-corasick-algorithm.md | 0 .../apostolico-giancarlo-algorithm.md | 0 .../berry-ravindran-algorithm.md | 0 .../string-algorithms/bitap-algorithm.md | 0 .../string-algorithms/bndm-algorithm.md | 0 .../string-algorithms/colussi-algorithm.md | 0 .../commentz-walter-algorithm.md | 0 .../crochemores-algorithm.md | 0 .../finite-state-automation-algorithm.md | 0 .../string-algorithms/kmp-algorithm.md | 0 .../string-algorithms/kmp-algorithms.md | 0 .../string-algorithms/lcs-algorithm.md | 0 .../levenshtein-distance-algorithm.md | 0 .../string-algorithms/manacher-algorithm.md | 0 .../needleman-wunsch-algorithm.md | 0 .../not-so-naive-algorithm.md | 0 .../optimal-mismatch-algorithm.md | 0 .../quick-search-algorithm.md | 0 .../rabin-karp-algorithms.md | 0 .../reverse-factor-algorithm.md | 0 .../string-algorithms/shift-or-algorithm.md | 0 .../string-algorithms/simon-algorithm.md | 0 .../smith-waterman-algorithm.md | 0 .../suffix-array-algorithm.md | 0 .../string-algorithms/sunday-algorithm.md | 0 .../turbo-boyer-moore-algorithm.md | 0 .../two-way-string-matching-algorithm.md | 0 .../string-algorithms/ukkonens-algorithm.md | 0 .../zhu-takaoka-algorithm.md | 0 docs/{ => extra}/b-tree/B-Tree-1.md | 0 docs/{ => extra}/b-tree/B-Tree-2.md | 0 docs/{ => extra}/b-tree/B-Tree-3.md | 0 docs/{ => extra}/b-tree/image/BTree2Ins.png | Bin docs/{ => extra}/b-tree/image/BTreeIns3.png | Bin docs/{ => extra}/b-tree/image/BTreeIns4.png | Bin docs/{ => extra}/b-tree/image/BTreeIns6.png | Bin .../b-tree/image/BTreeSplit-1024x321.jpg | Bin docs/{ => extra}/b-tree/image/Btree1.png | Bin docs/{ => extra}/b-tree/image/delete.png | Bin docs/{ => extra}/b-tree/image/delete2.png | Bin docs/{ => extra}/b-tree/image/output253.png | Bin docs/{ => extra}/b-tree/image/output254.png | Bin docs/{ => extra}/b-tree/image/output255.png | Bin docs/{ => extra}/b-tree/image/output256.png | Bin .../backtracking algorithms/Tiling-problem.md | 0 .../balancedBinTree/balancedBinTree.md | 0 .../balancedBinTree/balancedBinTreejava.md | 0 .../balancedBinTreejavaScript.md | 0 .../basic-dsa/Method Overriding.md | 0 .../basic-dsa/Operator Overloading.md | 0 .../basic-dsa/Strings/Advanced-techniques.md | 0 .../Strings/Highest freqyuency letter.md | 0 .../basic-dsa/Strings/Isomorphic strings.md | 0 .../basic-dsa/Strings/Reversing a string.md | 0 .../basic-dsa/Strings/What_is String.md | 0 .../{ => extra}/basic-dsa/Strings/kmp-algo.md | 0 docs/{ => extra}/basic-dsa/_category_.json | 0 docs/{ => extra}/basic-dsa/array/2d-arrays.md | 0 .../basic-dsa/array/Kadane-Algorithm.md | 0 .../array/ProudctOfArrayExceptSelf.md | 0 .../basic-dsa/array/_category_.json | 0 .../basic-dsa/array/arrays-bubblesort-dsa.md | 0 .../{ => extra}/basic-dsa/array/arrays-dsa.md | 0 .../basic-dsa/array/arrays-insertionsort.md | 0 .../array/arrays-kadanesalgorithm-dsa.md | 0 .../basic-dsa/array/arrays-selectionsort.md | 0 .../basic-dsa/array/bucket-sort.md | 0 .../basic-dsa/array/counting-sort.md | 0 docs/{ => extra}/basic-dsa/array/heap-sort.md | 0 .../{ => extra}/basic-dsa/array/quick-sort.md | 0 .../{ => extra}/basic-dsa/array/radix-sort.md | 0 .../basic-dsa/matrix-data-structure.md | 0 docs/{ => extra}/basic-dsa/pointer.md | 0 .../binary-search-tree/Binary search tree.md | 0 .../Post_order_traversal.md | 0 .../binary-search-tree/Problem-Practice.md | 0 .../binary-search-tree/_category_.json | 0 .../binary-search-tree/avl-tree.md | 0 .../binary-search-tree/delete-BST.md | 0 .../inorder-predecessor-BST.md | 0 .../inorder-successor-BST.md | 0 .../binary-search-tree/insert-BST.md | 0 .../binary-search-tree/red-black-trees.md | 0 .../binary-search-tree/search-BST.md | 0 .../binary-search/Exponential-Search.md | 0 .../binary-search/Iterative_binary_search.md | 0 .../Painter_Partition_problem.md | 0 .../binary-search/Problem-Practice.md | 0 .../{ => extra}/binary-search/_category_.json | 0 .../binary-search/binary-search.md | 0 .../binary-search_rotated-sorted-array.md | 0 docs/{ => extra}/binary-search/binary.md | 0 .../binary-search/binary_search_questions.md | 0 .../binary-search/matrix-binary-dsa.md | 0 .../binary-search/recursive_binary_search.md | 0 docs/{ => extra}/binary-trees/_category_.json | 0 .../binary-trees/basic-operations.md | 0 docs/{ => extra}/binary-trees/binary-tree.md | 0 .../binary-trees/expression-tree.md | 0 .../{ => extra}/binary-trees/maximum-depth.md | 0 docs/{ => extra}/binary-trees/merkle-tree.md | 0 .../{ => extra}/binary-trees/minimum-depth.md | 0 .../binary-trees/practice-problems.md | 0 docs/{ => extra}/binary-trees/splay-trees.md | 0 .../bit-manipulation/_category_.json | 0 .../bit-manipulation-technique.md | 0 .../bitmanipulation-practice-problem.md | 0 .../bit-manipulation/brain-kernighan-algo.md | 0 .../bit-manipulation/clear-ith-Bit.md | 0 .../bit-manipulation/count-set-bits.md | 0 .../bit-manipulation/power-of-two.md | 0 .../toggle-bit-at-position.md | 0 .../challenges solutions/Challenge4.md | 0 .../challenges solutions/_category_.json | 0 .../challenges solutions/challenge1.md | 0 .../challenges solutions/challenge2.md | 0 .../challenges solutions/challenge3.md | 0 .../combinatorics/Practice-problems.md | 0 .../{ => extra}/combinatorics/_category_.json | 0 .../combinatorics/combinatorics-examples.md | 0 .../combinatorics/combinatorics-theory.md | 0 docs/{ => extra}/complexity/_category_.json | 0 .../complexity/how-to-calculate-complexity.md | 0 docs/{ => extra}/complexity/image-1.png | Bin docs/{ => extra}/complexity/image.png | Bin .../complexity/space-complexity.md | 0 .../{ => extra}/complexity/time-complexity.md | 0 .../complexity/time-space-complexity.md | 0 docs/{ => extra}/dsa/_category_.json | 0 docs/{ => extra}/dsa/imp-of-dsa.md | 0 docs/{ => extra}/dsa/roadmap-to-dsa.md | 0 docs/{ => extra}/dsa/types-of-dsa.md | 0 docs/{ => extra}/dsa/what-is-dsa.md | 0 .../dynamic-programming/Beautiful-Subgrids.md | 0 .../Matrix-chain-multiplication.md | 0 .../dynamic-programming/Multistage-graph.md | 0 .../Two-City-Scheduling-3D-DP.md | 0 .../dynamic-programming/_category_.json | 0 .../dynamic-programming/approaches.md | 0 .../dynamic-programming-optimizations.md | 0 .../dynamic-programming/fence-painting.md | 0 .../dynamic-programming/house-robber.md | 0 .../dynamic-programming/how-to-identify.md | 0 .../longest-zig-zag-subsequence.md | 0 .../longest_common_subsequence.md | 0 .../minimum_flips_to_zero_matrix.md | 0 .../palindrome_partitioning_IV.md | 0 .../practice-problems-different-patterns.md | 0 .../dynamic-programming/trapped-rainwater.md | 0 .../fundamentals/Conditional Statement.md | 0 .../fundamentals/Functions/Function Call.md | 0 .../Functions/Function Closures.md | 0 .../Functions/Function Composition.md | 0 .../Functions/Function Currying.md | 0 .../Functions/Function Declaration.md | 0 .../Functions/Function Memoization.md | 0 .../Functions/Function Overloading.md | 0 .../Functions/Function Parameters.md | 0 .../Functions/Function Recursion.md | 0 .../fundamentals/Functions/Function Return.md | 0 .../fundamentals/Functions/Function Scope.md | 0 docs/{ => extra}/fundamentals/Loops.md | 0 docs/{ => extra}/game-Theory/gameTheory.md | 0 .../game-Theory/gameTheoryExamples.md | 0 docs/{ => extra}/graphs/Adjacency-List.md | 0 docs/{ => extra}/graphs/Adjacency-Matrix.md | 0 docs/{ => extra}/graphs/Disjoint Set Union.md | 0 docs/{ => extra}/graphs/Johnson's-algo.md | 0 .../{ => extra}/graphs/Longest-path-in-DAG.md | 0 .../{ => extra}/graphs/Page-Rank-Algorithm.md | 0 docs/{ => extra}/graphs/Practice Problems.md | 0 docs/{ => extra}/graphs/_category_.json | 0 .../graphs/ant-colony-optimization-tsp.md | 0 docs/{ => extra}/graphs/bfs.md | 0 docs/{ => extra}/graphs/bipartite-graph.md | 0 docs/{ => extra}/graphs/dfs.md | 0 docs/{ => extra}/graphs/dfs_java.md | 0 docs/{ => extra}/graphs/dijkstra-algo.md | 0 docs/{ => extra}/graphs/eulerian-graphs.md | 0 docs/{ => extra}/graphs/flood-fill.md | 0 docs/{ => extra}/graphs/floyd-algorithm.md | 0 docs/{ => extra}/graphs/graph-cloning.md | 0 docs/{ => extra}/graphs/graph-coloring.md | 0 docs/{ => extra}/graphs/graph-reversal.md | 0 .../graphs/hopcroft-karp-algorithm.md | 0 docs/{ => extra}/graphs/kahn-algo.md | 0 docs/{ => extra}/graphs/kosaraju-algorithm.md | 0 docs/{ => extra}/graphs/kruskal-algorithm.md | 0 .../graphs/minimum-cost-spanning-tree.md | 0 docs/{ => extra}/graphs/practice-problems.md | 0 docs/{ => extra}/graphs/prims-algorithm.md | 0 .../A-star-algorithm.md | 0 .../Prims-algorithm.md | 0 .../shortest-path-algorithms/_category_.json | 0 .../bell-man-ford-algorithm.md | 0 .../dijkstra-algorithm.md | 0 .../floyd-warshall-algorithm.md | 0 docs/{ => extra}/graphs/tarjans-algo.md | 0 docs/{ => extra}/graphs/warshall-algo.md | 0 .../greedy-algorithms/Graph-Coloring.md | 0 .../fractional-knapsack-algorithm.md | 0 .../greedy-algorithms/job-scheduling.md | 0 .../greedy-algorithms/kruskals-algorithm.md | 0 .../greedy-algorithms/prims-algorithm.md | 0 docs/{ => extra}/hash/Practice Problems.md | 0 docs/{ => extra}/hash/_category_.json | 0 docs/{ => extra}/hash/hash-tables.md | 0 .../heap/Add-Merge-k-sorted-lists.md | 0 .../heap/Kth-largest-using-min_heap.md | 0 docs/{ => extra}/heap/Median-of-a-stream.md | 0 docs/{ => extra}/heap/Problem-Practice.md | 0 docs/{ => extra}/heap/_category_.json | 0 docs/{ => extra}/heap/heap-basics.md | 0 docs/{ => extra}/heap/heap-operations.md | 0 docs/{ => extra}/heap/kth-largest.md | 0 docs/{ => extra}/heap/kth-smallest.md | 0 docs/{ => extra}/heap/time-complexity.md | 0 .../heap/top-k-frequent-elements.md | 0 .../knapsack-disaster-relief.md | 1 - .../linked-list/CircularDoubly.png | Bin .../linked-list/CircularLinkedList.png | Bin .../linked-list/Doubly-linked-list-C.md | 0 docs/{ => extra}/linked-list/DoublyLL.png | Bin docs/{ => extra}/linked-list/Hare-Tortoise.md | 0 .../Intersection_Linked_list_python.md | 0 docs/{ => extra}/linked-list/LinkedList.png | Bin .../linked-list/Polynomial-Addition.md | 0 .../linked-list/Polynomial_multiplication.md | 0 .../linked-list/Practice-Problems.md | 0 docs/{ => extra}/linked-list/_category_.json | 0 .../circular-doubly-linked-list.md | 0 .../linked-list/doubly-linked-list.md | 0 .../linked-list/floyds-cycle-detection.md | 0 .../linked-list/gircular-linked-list.md | 0 .../linked-list/intersection-linked-lists.md | 0 .../introduction-to-linked-list.md | 0 .../linked-list/linked-list-approaches.md | 0 .../max-twin-sum-of-linked-list.md | 0 .../linked-list/merge-two-sorted-list.md | 0 .../next-greater-node-in-linked-list.md | 0 .../linked-list/polynomial-representation.md | 0 .../linked-list/range-sum-of-linked-list.md | 0 .../remove-duplicates-from-sorted-list.md | 0 ...pping-node-in-a-linked-list-at-kth-node.md | 0 docs/{ => extra}/machine-learning/AdaBoost.md | 0 .../machine-learning/Autoencoders.md | 0 .../machine-learning/BeamSearch.md | 0 docs/{ => extra}/machine-learning/Catboost.md | 0 .../Convolutional_Neural_Network.md | 0 .../DBSCAN_Clustering_Algorithm.md | 0 .../machine-learning/Extra_Trees.md | 0 docs/{ => extra}/machine-learning/GBM.md | 0 .../Gaussian_Mixture_Model.md | 0 .../Generative_Adversarial_Networks.md | 0 docs/{ => extra}/machine-learning/HBOS.md | 0 .../machine-learning/Hidden_Markov_Model.md | 0 .../machine-learning/HierarchialClustering.md | 0 .../Independent Component Analysis.md | 0 .../machine-learning/K-Means_clustering.md | 0 .../machine-learning/K-NearestNeighbours.md | 0 .../machine-learning/LinearRegression.md | 0 .../machine-learning/LogisticRegression.md | 0 .../Long_Short_Term_Memory.md | 0 .../machine-learning/PC_Visualizations.md | 0 .../Recurrent_Neural_Network.md | 0 .../Reinforcement_Learning.md | 0 .../machine-learning/RidgeRegression.md | 0 docs/{ => extra}/machine-learning/SDG.md | 0 docs/{ => extra}/machine-learning/SVM.md | 0 .../{ => extra}/machine-learning/Silhoutte.md | 0 .../Singular_Value_Decomposition_Algorithm.md | 0 .../Statistical_Anomaly_Detection.md | 0 .../Time_Series_Forecasting_Algo.md | 0 docs/{ => extra}/machine-learning/XGBoost.md | 0 .../machine-learning/decisionTree.md | 0 .../machine-learning/deep-q-networks.md | 328 +++++++++--------- .../hierarchical-clustering-visualizations.md | 0 .../machine-learning/lasso_regression.md | 0 .../machine-learning/naive-bayes.md | 0 .../machine-learning/neuralNetworks.md | 0 .../policy-gradient-visualization.md | 282 +++++++-------- .../principal-component-analysis.md | 0 .../{ => extra}/machine-learning/qLearning.md | 258 +++++++------- .../machine-learning/random-forest.md | 0 .../machine-learning/regression_algorithm.md | 0 .../supervised_learning_algo.md | 0 .../support-vector-machine.md | 0 .../t-SNE_Dimensionality_Reduction.md | 0 .../machine-learning/tsne-visualization.md | 192 +++++----- .../unsupervised_learning_algo.md | 0 docs/{ => extra}/sortings/Sortings.md | 0 docs/{ => extra}/sortings/shell-sort .md | 0 docs/index.md | 2 +- docs/programming-fundamentals/Loops.md | 117 ------- docs/programming-fundamentals/Variables.md | 149 -------- docs/programming-fundamentals/_category_.json | 14 +- .../control-structures/_category_.json | 8 + .../language-syntax/_category_.json | 8 + .../language-syntax/operators.md | 211 +++++++++++ .../language-syntax/variables.md | 176 ++++++++++ 632 files changed, 941 insertions(+), 907 deletions(-) delete mode 100644 docs/Depth_first_traversal.md rename docs/{ => extra}/Approximation Algorithm/Approximation.md (100%) rename docs/{ => extra}/Banker's Algorithm/Banker.md (100%) rename docs/{ => extra}/Boyer Moore/Boyer-Moore.md (100%) rename docs/{ => extra}/Circular_array/Application.md (100%) rename docs/{ => extra}/Circular_array/Introduction.md (100%) rename docs/{ => extra}/DSA-Problem-Solution/Add_two_number_as_LL.md (100%) rename docs/{ => extra}/DSA-Problem-Solution/Clone Linked List with Random and Next Pointer.md (100%) rename docs/{ => extra}/DSA-Problem-Solution/Contains_duplicate.md (100%) rename docs/{ => extra}/DSA-Problem-Solution/Convert Date to Binary.md (100%) rename docs/{ => extra}/DSA-Problem-Solution/Cousins in Binary Tree.md (100%) rename docs/{ => extra}/DSA-Problem-Solution/Delete middle node.md (100%) rename docs/{ => extra}/DSA-Problem-Solution/Delete_occurences_of_key.md (100%) rename docs/{ => extra}/DSA-Problem-Solution/Find Indices of stable mountains.md (100%) rename docs/{ => extra}/DSA-Problem-Solution/Loop in linked list.md (100%) rename docs/{ => extra}/DSA-Problem-Solution/Merge Two Sorted Arrays.md (100%) rename docs/{ => extra}/DSA-Problem-Solution/Merge_K_Sorted_Arrays.md (100%) rename docs/{ => extra}/DSA-Problem-Solution/Palindrome-number.md (100%) rename docs/{ => extra}/DSA-Problem-Solution/Plus-one.md (100%) rename docs/{ => extra}/DSA-Problem-Solution/Segregate even and odd nodes in LinkedList.md (100%) rename docs/{ => extra}/DSA-Problem-Solution/Size_of_largest_BST_in_binary_tree.md (100%) rename docs/{ => extra}/DSA-Problem-Solution/Sliding Window Maximum.md (100%) rename docs/{ => extra}/DSA-Problem-Solution/Symmetric Tree.md (100%) rename docs/{ => extra}/DSA-Problem-Solution/flattening-a-linked-list.md (100%) rename docs/{ => extra}/DSA-Problem-Solution/house-robber.md (100%) rename docs/{ => extra}/DSA-Problem-Solution/longest_substring_without_repeated_characters.md (100%) rename docs/{ => extra}/DSA-Problem-Solution/lowest_common_ancestor.md (100%) rename docs/{ => extra}/DSA-Problem-Solution/merge_intervals.md (100%) rename docs/{ => extra}/DSA-Problem-Solution/odd-even-linked-list.md (100%) rename docs/{ => extra}/DSA-Problem-Solution/palindrome_linked_list.md (100%) rename docs/{ => extra}/DSA-Problem-Solution/partition_equal_subset_sum.md (100%) rename docs/{ => extra}/DSA-Problem-Solution/removing-stars-from-string.md (100%) rename docs/{ => extra}/DSA-Problem-Solution/reverse-bits.md (100%) rename docs/{ => extra}/DSA-Problem-Solution/reverse-linked-list.md (100%) rename docs/{ => extra}/DSA-Problem-Solution/rotten-oranges.md (100%) rename docs/{ => extra}/DSA-Problem-Solution/two_sum.md (100%) rename docs/{ => extra}/Divide and Conquer/Maximum-minimum.md (100%) rename docs/{ => extra}/Divide and Conquer/Strassen's-Matrix-Mutiplication.md (100%) rename docs/{ => extra}/Divide and Conquer/convex-hull.md (100%) rename docs/{ => extra}/Fenwick Tree/FenwickTree.md (100%) rename docs/{ => extra}/Hashing/CollisionHandling.md (100%) rename docs/{ => extra}/Hashing/OperationInsertion.md (100%) rename docs/{ => extra}/Hashing/OperationSearch.md (100%) rename docs/{ => extra}/Hashing/OperationUpdate.md (100%) rename docs/{ => extra}/Hashing/Tigerhashing.md (100%) rename docs/{ => extra}/Hashing/_category_.json (100%) rename docs/{ => extra}/Hashing/deletion-in-hash-table.md (100%) rename docs/{ => extra}/Hashing/hashsets.md (100%) rename docs/{ => extra}/Hashing/imp-of-hashing.md (100%) rename docs/{ => extra}/Hashing/what-is-hashing.md (100%) rename docs/{ => extra}/Jump Search/Jump Search.md (99%) rename docs/{ => extra}/KMP searching pattern/_category_.json (100%) rename docs/{ => extra}/KMP searching pattern/readme.md (100%) rename docs/{ => extra}/Number theory/Divisibility and Prime Numbers.md (100%) rename docs/{ => extra}/Number theory/GCD.md (100%) rename docs/{ => extra}/Number theory/LCM.md (100%) rename docs/{ => extra}/Number theory/Modular Arithmetic.md (100%) rename docs/{ => extra}/Number theory/counting-divisors.md (100%) rename docs/{ => extra}/Number theory/modular-exponentiation.md (100%) rename docs/{ => extra}/Number theory/sieve-of-eratosthenes.md (100%) rename docs/{ => extra}/Object Oriented Programming/4-pillars-of-oops.md (100%) rename docs/{ => extra}/Object Oriented Programming/ApplicationofOOPS.md (100%) rename docs/{ => extra}/Object Oriented Programming/Polymorphism.md (100%) rename docs/{ => extra}/Object Oriented Programming/_category_.json (100%) rename docs/{ => extra}/Object Oriented Programming/abstraction.md (100%) rename docs/{ => extra}/Object Oriented Programming/car.png (100%) rename docs/{ => extra}/Object Oriented Programming/classes-and-objects.md (100%) rename docs/{ => extra}/Object Oriented Programming/constructors-destructors.md (100%) rename docs/{ => extra}/Object Oriented Programming/interfaces-vs-abstract-classes.md (100%) rename docs/{ => extra}/Object Oriented Programming/intro-to-oops.md (100%) rename docs/{ => extra}/Object Oriented Programming/intro.png (100%) rename docs/{ => extra}/Object Oriented Programming/real-world-examples.md (100%) rename docs/{ => extra}/Object Oriented Programming/typesOfInheritance.md (100%) rename docs/{ => extra}/Queue/Blocked-queue.png (100%) rename docs/{ => extra}/Queue/Circular-queue.png (100%) rename docs/{ => extra}/Queue/Priority-queue.png (100%) rename docs/{ => extra}/Queue/Problem-Practice.md (100%) rename docs/{ => extra}/Queue/Two-Stack-Queue.md (100%) rename docs/{ => extra}/Queue/_category_.json (100%) rename docs/{ => extra}/Queue/blocked-queue.md (100%) rename docs/{ => extra}/Queue/check-palindrome-using-dequeue.md (100%) rename docs/{ => extra}/Queue/circular-queue.md (100%) rename docs/{ => extra}/Queue/concurrent-queue.md (100%) rename docs/{ => extra}/Queue/design-circular-Dueque.md (100%) rename docs/{ => extra}/Queue/design-circular-Queue.md (100%) rename docs/{ => extra}/Queue/double-ended-queue.md (100%) rename docs/{ => extra}/Queue/doubleendedqueue.png (100%) rename docs/{ => extra}/Queue/priority-queue.md (100%) rename docs/{ => extra}/Queue/priority_queue_questions.md (100%) rename docs/{ => extra}/Rabin-Karp Algorithm/Rabin-Karp.md (100%) rename docs/{ => extra}/Randomized Algorithm/Randomized-Quicksort.md (100%) rename docs/{ => extra}/Recursion-depths/Recursion.md (100%) rename docs/{ => extra}/Recursion-depths/advanced-topics.md (100%) rename docs/{ => extra}/Recursion-depths/basic-concepts.md (100%) rename docs/{ => extra}/Recursion-depths/handling-depth-errors.md (100%) rename docs/{ => extra}/Recursion-depths/performance-consideration.md (100%) rename docs/{ => extra}/Recursion/Ackerman.md (100%) rename docs/{ => extra}/Recursion/Count-all-subsequences-with-sum-K.md (100%) rename docs/{ => extra}/Recursion/GrayCodeGeneration.md (100%) rename docs/{ => extra}/Recursion/Josephus-Queries.md (100%) rename docs/{ => extra}/Recursion/Knight's_Tour_Problem.md (100%) rename docs/{ => extra}/Recursion/Letter-Combinations-of-a-Phone-number.md (100%) rename docs/{ => extra}/Recursion/N Queen 2.png (100%) rename docs/{ => extra}/Recursion/N Qween 1.png (100%) rename docs/{ => extra}/Recursion/Reversing_String.md (100%) rename docs/{ => extra}/Recursion/SmawkAlgorithm.md (100%) rename docs/{ => extra}/Recursion/Sodoko.md (100%) rename docs/{ => extra}/Recursion/StonePaperScissor.md (100%) rename docs/{ => extra}/Recursion/TowersOfHanoi.md (100%) rename docs/{ => extra}/Recursion/Unwinding_in_recursion.md (100%) rename docs/{ => extra}/Recursion/VoseAlias.md (100%) rename docs/{ => extra}/Recursion/WaterJug.md (100%) rename docs/{ => extra}/Recursion/_category_.json (100%) rename docs/{ => extra}/Recursion/catalannumber.md (100%) rename docs/{ => extra}/Recursion/fibonacci.md (100%) rename docs/{ => extra}/Recursion/generate-parantheses.md (100%) rename docs/{ => extra}/Recursion/josephus.md (100%) rename docs/{ => extra}/Recursion/look-and-say.md (100%) rename docs/{ => extra}/Recursion/n-queen.md (100%) rename docs/{ => extra}/Recursion/recursion.md (100%) rename docs/{ => extra}/Recursion/ulamsequence.md (100%) rename docs/{ => extra}/Segment-Trees/Dynamic Segment Trees.md (100%) rename docs/{ => extra}/Segment-Trees/Practice Porblem.md (100%) rename docs/{ => extra}/Segment-Trees/Segment Trees Introduction.md (100%) rename docs/{ => extra}/Segment-Trees/Segment-Tree-img.png (100%) rename docs/{ => extra}/Sliding-Window/IntroductionToSlidingWindow.jpg (100%) rename docs/{ => extra}/Sliding-Window/Problem-Practice.md (100%) rename docs/{ => extra}/Sliding-Window/_category_.json (100%) rename docs/{ => extra}/Sliding-Window/character-replacement.md (100%) rename docs/{ => extra}/Sliding-Window/introduction-to-sliding-window.md (100%) rename docs/{ => extra}/Sliding-Window/longest-repeating-character-replacement.md (100%) rename docs/{ => extra}/Sliding-Window/longest-substring-with-K-different-characters.md (100%) rename docs/{ => extra}/Sliding-Window/maximum-sum-subarray-size-K.md (100%) rename docs/{ => extra}/Sliding-Window/minimize-maximum-of-two-arrays.md (100%) rename docs/{ => extra}/Stack/Balanced-Parenthesis.md (100%) rename docs/{ => extra}/Stack/Balanced-parentheses-checker.md (100%) rename docs/{ => extra}/Stack/Conversion.md (100%) rename docs/{ => extra}/Stack/Evaluation.md (100%) rename docs/{ => extra}/Stack/Introduction_to_Stack.png (100%) rename docs/{ => extra}/Stack/Min-Stack.md (100%) rename docs/{ => extra}/Stack/MonotonicStack.md (100%) rename docs/{ => extra}/Stack/Next Greater Element (NGE).md (100%) rename docs/{ => extra}/Stack/Problem-Practice.md (100%) rename docs/{ => extra}/Stack/Reverse-Stack.md (100%) rename docs/{ => extra}/Stack/Stack-permutation.md (100%) rename docs/{ => extra}/Stack/Stock-span.md (100%) rename docs/{ => extra}/Stack/String_Reversal.md (100%) rename docs/{ => extra}/Stack/Trapping Rain Water Problem.md (100%) rename docs/{ => extra}/Stack/_category_.json (100%) rename docs/{ => extra}/Stack/introduction-to-stack.md (100%) rename docs/{ => extra}/Stack/stack.md (100%) rename docs/{ => extra}/Standard Template Library/STL-algorithms.md (100%) rename docs/{ => extra}/Standard Template Library/STL-containers.md (100%) rename docs/{ => extra}/Standard Template Library/STL-iterators.md (100%) rename docs/{ => extra}/Standard Template Library/STL-theory.md (100%) rename docs/{ => extra}/Strings/Problem-Practice.md (100%) rename docs/{ => extra}/Strings/String Basics.md (100%) rename docs/{ => extra}/Strings/String Operation.md (100%) rename docs/{ => extra}/Tarjan's Algorithm/Tarjan.md (100%) rename docs/{ => extra}/Tarjan's Algorithm/algorithm.png (100%) rename docs/{ => extra}/Task Scheduling/Task-schedule.md (100%) rename docs/{ => extra}/Task Scheduling/_category_.json (100%) rename docs/{ => extra}/Trees/AVL Tree.md (100%) rename docs/{ => extra}/Trees/B-Trees.md (100%) rename docs/{ => extra}/Trees/Expression-tree.md (100%) rename docs/{ => extra}/Trees/Heap-tree.md (100%) rename docs/{ => extra}/Trees/Practice Problems.md (100%) rename docs/{ => extra}/Trees/Sum-tree.md (100%) rename docs/{ => extra}/Trees/Trees Practice Problems.md (100%) rename docs/{ => extra}/Trees/Types of Trees.md (100%) rename docs/{ => extra}/Trees/balanced-tree.md (100%) rename docs/{ => extra}/Trees/binary-search-tree.md (100%) rename docs/{ => extra}/Trees/binary-tree.md (100%) rename docs/{ => extra}/Trees/k-d tree algorithm.md (100%) rename docs/{ => extra}/Trees/tree-data-structure.md (100%) rename docs/{ => extra}/Tries/Problem-Practice.md (100%) rename docs/{ => extra}/Tries/Tries and its Implementation.md (100%) rename docs/{ => extra}/Tries/tries-examples.md (100%) rename docs/{ => extra}/Tries/tries-theory.md (100%) rename docs/{ => extra}/advance-data-structure/_category_.json (100%) rename docs/{ => extra}/advance-data-structure/disjoint-set.md (100%) rename docs/{ => extra}/advance-data-structure/fenwick-tree.md (100%) rename docs/{ => extra}/advance-data-structure/segment-tree.md (100%) rename docs/{ => extra}/algorithms/ Edmonds-Karp Algorithm/ edmonds-karp-algorithm.md (100%) rename docs/{ => extra}/algorithms/Application-of-Recursion.md (100%) rename docs/{ => extra}/algorithms/Application-of-linked-list.md (100%) rename docs/{ => extra}/algorithms/Bentley-Ottmann-Algorithm/bentley-ottmann-algo.md (100%) rename docs/{ => extra}/algorithms/Bloom-Filter-Algorithm.md (100%) rename docs/{ => extra}/algorithms/Buchberger's Algorithm/Buchberger's Algorithm.md (100%) rename docs/{ => extra}/algorithms/CNN-deep-learning-algorithm.md (100%) rename docs/{ => extra}/algorithms/Computer-Vision-ML-Theory.md (100%) rename docs/{ => extra}/algorithms/DLX algorithm/DLX.md (100%) rename "docs/algorithms/Dijkstra\342\200\231s Algorithm.md" => "docs/extra/algorithms/Dijkstra\342\200\231s Algorithm.md" (100%) rename docs/{ => extra}/algorithms/DutchNationalFlag-algorithm/DutchNationalFlag.md (100%) rename docs/{ => extra}/algorithms/DutchNationalFlag-algorithm/_category_.json (100%) rename docs/{ => extra}/algorithms/Encryption algorithms/Caesar Cipher.md (100%) rename docs/{ => extra}/algorithms/Encryption algorithms/advanced_encryption_standard.md (100%) rename docs/{ => extra}/algorithms/Encryption algorithms/asymmetric_encryption.md (100%) rename docs/{ => extra}/algorithms/Encryption algorithms/blockchain_encryption.md (100%) rename docs/{ => extra}/algorithms/Encryption algorithms/elliptic_curve_cryptography.md (100%) rename docs/{ => extra}/algorithms/Encryption algorithms/hashing.md (100%) rename docs/{ => extra}/algorithms/Encryption algorithms/homomorphic-encryption.md (100%) rename docs/{ => extra}/algorithms/Encryption algorithms/post-quantum-encryption.md (100%) rename docs/{ => extra}/algorithms/Encryption algorithms/steganography-algo.md (100%) rename docs/{ => extra}/algorithms/Encryption algorithms/symmetric_encryption.md (100%) rename docs/{ => extra}/algorithms/GAN-ML-Algorithm.md (100%) rename docs/{ => extra}/algorithms/Gale-Shapley-Algorithm/GaleShapley.md (100%) rename docs/{ => extra}/algorithms/Hashing-algorithm.md (100%) rename docs/{ => extra}/algorithms/Legendre's Algorithm/legendre-algo.md (100%) rename docs/{ => extra}/algorithms/N-Queens-Dynamic-programming-algorithm.md (100%) rename docs/{ => extra}/algorithms/RNN-ML-algorithm.md (100%) rename docs/{ => extra}/algorithms/SMAWK Algorithm/SMAWK Algorithm.md (100%) rename docs/{ => extra}/algorithms/Scheduling Algorithms/EarliestDeadlineFirst.md (100%) rename docs/{ => extra}/algorithms/Scheduling Algorithms/FirstComeFirstServed.md (100%) rename docs/{ => extra}/algorithms/Scheduling Algorithms/LeastRecentlyUsed.md (100%) rename docs/{ => extra}/algorithms/Scheduling Algorithms/PriorityScheduling.md (100%) rename docs/{ => extra}/algorithms/Scheduling Algorithms/RoundRobin.md (100%) rename docs/{ => extra}/algorithms/Scheduling Algorithms/ShortestJobRemainingFirst.md (100%) rename docs/{ => extra}/algorithms/Scheduling Algorithms/SweepLine.md (100%) rename docs/{ => extra}/algorithms/Scheduling Algorithms/_category_.json (100%) rename docs/{ => extra}/algorithms/Scheduling Algorithms/least-recently-used.md (100%) rename docs/{ => extra}/algorithms/Scheduling Algorithms/multilevel-queue-scheduling.md (100%) rename docs/{ => extra}/algorithms/Scheduling Algorithms/priority-scheduling.md (100%) rename docs/{ => extra}/algorithms/Searching Algorithms/A-Search.md (100%) rename docs/{ => extra}/algorithms/Searching Algorithms/AO-Search.md (100%) rename docs/{ => extra}/algorithms/Searching Algorithms/Best-First-Search.md (100%) rename docs/{ => extra}/algorithms/Searching Algorithms/BinarySearch.md (100%) rename docs/{ => extra}/algorithms/Searching Algorithms/Boyer-Moore-Search.md (100%) rename docs/{ => extra}/algorithms/Searching Algorithms/Breadth-First-Search-(BFS)-Algo.md (100%) rename docs/{ => extra}/algorithms/Searching Algorithms/ComparisonSearch.md (100%) rename docs/{ => extra}/algorithms/Searching Algorithms/Depth-First-Search-(DFS)-Algo.md (100%) rename docs/{ => extra}/algorithms/Searching Algorithms/DigitalSearch.md (100%) rename docs/{ => extra}/algorithms/Searching Algorithms/ExponentialSerach.md (100%) rename docs/{ => extra}/algorithms/Searching Algorithms/FibbonaciSearch.md (100%) rename docs/{ => extra}/algorithms/Searching Algorithms/HashingSearch.md (100%) rename docs/{ => extra}/algorithms/Searching Algorithms/Interpolation-search-algorithm.md (100%) rename docs/{ => extra}/algorithms/Searching Algorithms/InterpolationSearch.md (100%) rename docs/{ => extra}/algorithms/Searching Algorithms/JumpSearch.md (100%) rename docs/{ => extra}/algorithms/Searching Algorithms/LinearSearch.md (100%) rename docs/{ => extra}/algorithms/Searching Algorithms/Meta-binary-search.md (100%) rename docs/{ => extra}/algorithms/Searching Algorithms/PrioritySearch.md (100%) rename docs/{ => extra}/algorithms/Searching Algorithms/Rabin-Karp-Algorithm.md (100%) rename docs/{ => extra}/algorithms/Searching Algorithms/SentinelSearch.md (100%) rename docs/{ => extra}/algorithms/Searching Algorithms/Sublist-Search.md (100%) rename docs/{ => extra}/algorithms/Searching Algorithms/TernarySearch.md (100%) rename docs/{ => extra}/algorithms/Searching Algorithms/Uniform-Cost-Search.md (100%) rename docs/{ => extra}/algorithms/Two-Pointers/IntroductionToTwoPointers.png (100%) rename docs/{ => extra}/algorithms/Two-Pointers/Max_Distance.md (100%) rename docs/{ => extra}/algorithms/Two-Pointers/Problem-Practice.md (100%) rename docs/{ => extra}/algorithms/Two-Pointers/_category_.json (100%) rename docs/{ => extra}/algorithms/Two-Pointers/imp-of-two-pointers.md (100%) rename docs/{ => extra}/algorithms/Two-Pointers/introduction-to-two-pointers.md (100%) rename docs/{ => extra}/algorithms/Yolo-Object-detection-ML-Algorithm.md (100%) rename docs/{ => extra}/algorithms/_category_.json (100%) rename docs/{ => extra}/algorithms/backtracking-algorithms/Bron-Kerbosch-Algorithm.md (100%) rename docs/{ => extra}/algorithms/backtracking-algorithms/N-QueensProblem.md (100%) rename docs/{ => extra}/algorithms/backtracking-algorithms/_category_.json (100%) rename docs/{ => extra}/algorithms/backtracking-algorithms/backtracking-questions.md (100%) rename docs/{ => extra}/algorithms/backtracking-algorithms/hamilton-path-cyle.md (100%) rename docs/{ => extra}/algorithms/backtracking-algorithms/imp-of-backtracking.md (100%) rename docs/{ => extra}/algorithms/backtracking-algorithms/m-coloring.md (100%) rename docs/{ => extra}/algorithms/backtracking-algorithms/n-queens_algorithm.md (100%) rename docs/{ => extra}/algorithms/backtracking-algorithms/what-is-backtracking.md (100%) rename docs/{ => extra}/algorithms/greedy-algorithms/Fractional_Knapsack.md (100%) rename docs/{ => extra}/algorithms/greedy-algorithms/Huffman-coding.md (100%) rename docs/{ => extra}/algorithms/greedy-algorithms/Job-sequencing-problem.md (100%) rename "docs/algorithms/greedy-algorithms/Prim\342\200\231s-Minimum-Spanning-Tree.md" => "docs/extra/algorithms/greedy-algorithms/Prim\342\200\231s-Minimum-Spanning-Tree.md" (100%) rename docs/{ => extra}/algorithms/greedy-algorithms/Problem-Practice.md (100%) rename docs/{ => extra}/algorithms/greedy-algorithms/_category_.json (100%) rename docs/{ => extra}/algorithms/greedy-algorithms/activity-selection.md (100%) rename docs/{ => extra}/algorithms/greedy-algorithms/commonly-asked-greedy-questions.md (100%) rename docs/{ => extra}/algorithms/greedy-algorithms/fractional-knapsack.md (100%) rename docs/{ => extra}/algorithms/greedy-algorithms/greedy-theory.md (100%) rename docs/{ => extra}/algorithms/kadane-algorithm/_category_.json (100%) rename docs/{ => extra}/algorithms/kadane-algorithm/kadane-algo.md (100%) rename docs/{ => extra}/algorithms/mathematics-algorithms/_category_.json (100%) rename docs/{ => extra}/algorithms/mathematics-algorithms/discrete-logarithm.md (100%) rename docs/{ => extra}/algorithms/mathematics-algorithms/euclidean-algorithm.md (100%) rename docs/{ => extra}/algorithms/mathematics-algorithms/fermat-little-theorem.md (100%) rename docs/{ => extra}/algorithms/mathematics-algorithms/gcd-lcm.md (100%) rename docs/{ => extra}/algorithms/mathematics-algorithms/imp-of-mathematics.md (100%) rename docs/{ => extra}/algorithms/mathematics-algorithms/modular-arithmetic.md (100%) rename docs/{ => extra}/algorithms/mathematics-algorithms/sieve-of-eratosthenes.md (100%) rename docs/{ => extra}/algorithms/mathematics-algorithms/sweep-line-algorithm.md (100%) rename docs/{ => extra}/algorithms/mathematics-algorithms/what-is-mathematical-algorithms.md (100%) rename docs/{ => extra}/algorithms/memoisation-algorithms/_category_.json (100%) rename docs/{ => extra}/algorithms/memoisation-algorithms/imp-of-memoisation.md (100%) rename docs/{ => extra}/algorithms/memoisation-algorithms/what-is-memoisation.md (100%) rename docs/{ => extra}/algorithms/modular-exponentiation-algorithm.md (100%) rename docs/{ => extra}/algorithms/moores-voting-algorithm/moore-voting-algo.md (100%) rename docs/{ => extra}/algorithms/recursive-algorithms/DirectRecursion.md (100%) rename docs/{ => extra}/algorithms/recursive-algorithms/IndirectRecursion.md (100%) rename docs/{ => extra}/algorithms/recursive-algorithms/_category_.json (100%) rename docs/{ => extra}/algorithms/recursive-algorithms/mutual-recursion.md (100%) rename docs/{ => extra}/algorithms/recursive-algorithms/non-tail-recursion.md (100%) rename docs/{ => extra}/algorithms/recursive-algorithms/tail-recursion.md (100%) rename docs/{ => extra}/algorithms/recursive-algorithms/tree-recursion.md (100%) rename docs/{ => extra}/algorithms/sorting-algorithms/BitonicSort.md (100%) rename docs/{ => extra}/algorithms/sorting-algorithms/BogoSort.md (100%) rename docs/{ => extra}/algorithms/sorting-algorithms/BubbleSort.md (100%) rename docs/{ => extra}/algorithms/sorting-algorithms/BucketSort.md (100%) rename docs/{ => extra}/algorithms/sorting-algorithms/CocktailShakerSort.md (100%) rename docs/{ => extra}/algorithms/sorting-algorithms/CombSort.md (100%) rename docs/{ => extra}/algorithms/sorting-algorithms/CountingSort.md (100%) rename docs/{ => extra}/algorithms/sorting-algorithms/CycleSort.md (100%) rename docs/{ => extra}/algorithms/sorting-algorithms/Dutch-flag-algo.md (100%) rename docs/{ => extra}/algorithms/sorting-algorithms/GnomeSort.md (100%) rename docs/{ => extra}/algorithms/sorting-algorithms/HeapSort.md (100%) rename docs/{ => extra}/algorithms/sorting-algorithms/InsertionSort.md (100%) rename docs/{ => extra}/algorithms/sorting-algorithms/JumpSort.md (100%) rename docs/{ => extra}/algorithms/sorting-algorithms/MergeSort.md (100%) rename docs/{ => extra}/algorithms/sorting-algorithms/Odd-Even-Sort.md (100%) rename docs/{ => extra}/algorithms/sorting-algorithms/OddEvenSort.md (100%) rename docs/{ => extra}/algorithms/sorting-algorithms/Pancake-sorting-algorithm.md (100%) rename docs/{ => extra}/algorithms/sorting-algorithms/Pigeonhole.md (100%) rename docs/{ => extra}/algorithms/sorting-algorithms/QuickSort.md (100%) rename docs/{ => extra}/algorithms/sorting-algorithms/RadixSort.md (100%) rename docs/{ => extra}/algorithms/sorting-algorithms/SelectionSort.md (100%) rename docs/{ => extra}/algorithms/sorting-algorithms/ShellSort.md (100%) rename docs/{ => extra}/algorithms/sorting-algorithms/StoogeSort.md (100%) rename docs/{ => extra}/algorithms/sorting-algorithms/TimSort.md (100%) rename docs/{ => extra}/algorithms/sorting-algorithms/Topological-sorting-algorithm.md (100%) rename docs/{ => extra}/algorithms/sorting-algorithms/TreeSort.md (100%) rename docs/{ => extra}/algorithms/sorting-algorithms/_category_.json (100%) rename docs/{ => extra}/algorithms/sorting-algorithms/odd-even-sorting.md (100%) rename docs/{ => extra}/algorithms/sorting-algorithms/parity-partition-sort.md (100%) rename docs/{ => extra}/algorithms/sorting-algorithms/strand-sort.md (100%) rename docs/{ => extra}/algorithms/string-algorithms/Naive-String-Matching-Algorithm.md (100%) rename docs/{ => extra}/algorithms/string-algorithms/Naive-search.md (100%) rename docs/{ => extra}/algorithms/string-algorithms/Suffix-Tree-Algorithm.md (100%) rename docs/{ => extra}/algorithms/string-algorithms/Z-Algorithm.md (100%) rename docs/{ => extra}/algorithms/string-algorithms/_category_.json (100%) rename docs/{ => extra}/algorithms/string-algorithms/aho-corasick-algorithm.md (100%) rename docs/{ => extra}/algorithms/string-algorithms/apostolico-giancarlo-algorithm.md (100%) rename docs/{ => extra}/algorithms/string-algorithms/berry-ravindran-algorithm.md (100%) rename docs/{ => extra}/algorithms/string-algorithms/bitap-algorithm.md (100%) rename docs/{ => extra}/algorithms/string-algorithms/bndm-algorithm.md (100%) rename docs/{ => extra}/algorithms/string-algorithms/colussi-algorithm.md (100%) rename docs/{ => extra}/algorithms/string-algorithms/commentz-walter-algorithm.md (100%) rename docs/{ => extra}/algorithms/string-algorithms/crochemores-algorithm.md (100%) rename docs/{ => extra}/algorithms/string-algorithms/finite-state-automation-algorithm.md (100%) rename docs/{ => extra}/algorithms/string-algorithms/kmp-algorithm.md (100%) rename docs/{ => extra}/algorithms/string-algorithms/kmp-algorithms.md (100%) rename docs/{ => extra}/algorithms/string-algorithms/lcs-algorithm.md (100%) rename docs/{ => extra}/algorithms/string-algorithms/levenshtein-distance-algorithm.md (100%) rename docs/{ => extra}/algorithms/string-algorithms/manacher-algorithm.md (100%) rename docs/{ => extra}/algorithms/string-algorithms/needleman-wunsch-algorithm.md (100%) rename docs/{ => extra}/algorithms/string-algorithms/not-so-naive-algorithm.md (100%) rename docs/{ => extra}/algorithms/string-algorithms/optimal-mismatch-algorithm.md (100%) rename docs/{ => extra}/algorithms/string-algorithms/quick-search-algorithm.md (100%) rename docs/{ => extra}/algorithms/string-algorithms/rabin-karp-algorithms.md (100%) rename docs/{ => extra}/algorithms/string-algorithms/reverse-factor-algorithm.md (100%) rename docs/{ => extra}/algorithms/string-algorithms/shift-or-algorithm.md (100%) rename docs/{ => extra}/algorithms/string-algorithms/simon-algorithm.md (100%) rename docs/{ => extra}/algorithms/string-algorithms/smith-waterman-algorithm.md (100%) rename docs/{ => extra}/algorithms/string-algorithms/suffix-array-algorithm.md (100%) rename docs/{ => extra}/algorithms/string-algorithms/sunday-algorithm.md (100%) rename docs/{ => extra}/algorithms/string-algorithms/turbo-boyer-moore-algorithm.md (100%) rename docs/{ => extra}/algorithms/string-algorithms/two-way-string-matching-algorithm.md (100%) rename docs/{ => extra}/algorithms/string-algorithms/ukkonens-algorithm.md (100%) rename docs/{ => extra}/algorithms/string-algorithms/zhu-takaoka-algorithm.md (100%) rename docs/{ => extra}/b-tree/B-Tree-1.md (100%) rename docs/{ => extra}/b-tree/B-Tree-2.md (100%) rename docs/{ => extra}/b-tree/B-Tree-3.md (100%) rename docs/{ => extra}/b-tree/image/BTree2Ins.png (100%) rename docs/{ => extra}/b-tree/image/BTreeIns3.png (100%) rename docs/{ => extra}/b-tree/image/BTreeIns4.png (100%) rename docs/{ => extra}/b-tree/image/BTreeIns6.png (100%) rename docs/{ => extra}/b-tree/image/BTreeSplit-1024x321.jpg (100%) rename docs/{ => extra}/b-tree/image/Btree1.png (100%) rename docs/{ => extra}/b-tree/image/delete.png (100%) rename docs/{ => extra}/b-tree/image/delete2.png (100%) rename docs/{ => extra}/b-tree/image/output253.png (100%) rename docs/{ => extra}/b-tree/image/output254.png (100%) rename docs/{ => extra}/b-tree/image/output255.png (100%) rename docs/{ => extra}/b-tree/image/output256.png (100%) rename docs/{ => extra}/backtracking algorithms/Tiling-problem.md (100%) rename docs/{ => extra}/balancedBinTree/balancedBinTree.md (100%) rename docs/{ => extra}/balancedBinTree/balancedBinTreejava.md (100%) rename docs/{ => extra}/balancedBinTree/balancedBinTreejavaScript.md (100%) rename docs/{ => extra}/basic-dsa/Method Overriding.md (100%) rename docs/{ => extra}/basic-dsa/Operator Overloading.md (100%) rename docs/{ => extra}/basic-dsa/Strings/Advanced-techniques.md (100%) rename docs/{ => extra}/basic-dsa/Strings/Highest freqyuency letter.md (100%) rename docs/{ => extra}/basic-dsa/Strings/Isomorphic strings.md (100%) rename docs/{ => extra}/basic-dsa/Strings/Reversing a string.md (100%) rename docs/{ => extra}/basic-dsa/Strings/What_is String.md (100%) rename docs/{ => extra}/basic-dsa/Strings/kmp-algo.md (100%) rename docs/{ => extra}/basic-dsa/_category_.json (100%) rename docs/{ => extra}/basic-dsa/array/2d-arrays.md (100%) rename docs/{ => extra}/basic-dsa/array/Kadane-Algorithm.md (100%) rename docs/{ => extra}/basic-dsa/array/ProudctOfArrayExceptSelf.md (100%) rename docs/{ => extra}/basic-dsa/array/_category_.json (100%) rename docs/{ => extra}/basic-dsa/array/arrays-bubblesort-dsa.md (100%) rename docs/{ => extra}/basic-dsa/array/arrays-dsa.md (100%) rename docs/{ => extra}/basic-dsa/array/arrays-insertionsort.md (100%) rename docs/{ => extra}/basic-dsa/array/arrays-kadanesalgorithm-dsa.md (100%) rename docs/{ => extra}/basic-dsa/array/arrays-selectionsort.md (100%) rename docs/{ => extra}/basic-dsa/array/bucket-sort.md (100%) rename docs/{ => extra}/basic-dsa/array/counting-sort.md (100%) rename docs/{ => extra}/basic-dsa/array/heap-sort.md (100%) rename docs/{ => extra}/basic-dsa/array/quick-sort.md (100%) rename docs/{ => extra}/basic-dsa/array/radix-sort.md (100%) rename docs/{ => extra}/basic-dsa/matrix-data-structure.md (100%) rename docs/{ => extra}/basic-dsa/pointer.md (100%) rename docs/{ => extra}/binary-search-tree/Binary search tree.md (100%) rename docs/{ => extra}/binary-search-tree/Post_order_traversal.md (100%) rename docs/{ => extra}/binary-search-tree/Problem-Practice.md (100%) rename docs/{ => extra}/binary-search-tree/_category_.json (100%) rename docs/{ => extra}/binary-search-tree/avl-tree.md (100%) rename docs/{ => extra}/binary-search-tree/delete-BST.md (100%) rename docs/{ => extra}/binary-search-tree/inorder-predecessor-BST.md (100%) rename docs/{ => extra}/binary-search-tree/inorder-successor-BST.md (100%) rename docs/{ => extra}/binary-search-tree/insert-BST.md (100%) rename docs/{ => extra}/binary-search-tree/red-black-trees.md (100%) rename docs/{ => extra}/binary-search-tree/search-BST.md (100%) rename docs/{ => extra}/binary-search/Exponential-Search.md (100%) rename docs/{ => extra}/binary-search/Iterative_binary_search.md (100%) rename docs/{ => extra}/binary-search/Painter_Partition_problem.md (100%) rename docs/{ => extra}/binary-search/Problem-Practice.md (100%) rename docs/{ => extra}/binary-search/_category_.json (100%) rename docs/{ => extra}/binary-search/binary-search.md (100%) rename docs/{ => extra}/binary-search/binary-search_rotated-sorted-array.md (100%) rename docs/{ => extra}/binary-search/binary.md (100%) rename docs/{ => extra}/binary-search/binary_search_questions.md (100%) rename docs/{ => extra}/binary-search/matrix-binary-dsa.md (100%) rename docs/{ => extra}/binary-search/recursive_binary_search.md (100%) rename docs/{ => extra}/binary-trees/_category_.json (100%) rename docs/{ => extra}/binary-trees/basic-operations.md (100%) rename docs/{ => extra}/binary-trees/binary-tree.md (100%) rename docs/{ => extra}/binary-trees/expression-tree.md (100%) rename docs/{ => extra}/binary-trees/maximum-depth.md (100%) rename docs/{ => extra}/binary-trees/merkle-tree.md (100%) rename docs/{ => extra}/binary-trees/minimum-depth.md (100%) rename docs/{ => extra}/binary-trees/practice-problems.md (100%) rename docs/{ => extra}/binary-trees/splay-trees.md (100%) rename docs/{ => extra}/bit-manipulation/_category_.json (100%) rename docs/{ => extra}/bit-manipulation/bit-manipulation-technique.md (100%) rename docs/{ => extra}/bit-manipulation/bitmanipulation-practice-problem.md (100%) rename docs/{ => extra}/bit-manipulation/brain-kernighan-algo.md (100%) rename docs/{ => extra}/bit-manipulation/clear-ith-Bit.md (100%) rename docs/{ => extra}/bit-manipulation/count-set-bits.md (100%) rename docs/{ => extra}/bit-manipulation/power-of-two.md (100%) rename docs/{ => extra}/bit-manipulation/toggle-bit-at-position.md (100%) rename docs/{ => extra}/challenges solutions/Challenge4.md (100%) rename docs/{ => extra}/challenges solutions/_category_.json (100%) rename docs/{ => extra}/challenges solutions/challenge1.md (100%) rename docs/{ => extra}/challenges solutions/challenge2.md (100%) rename docs/{ => extra}/challenges solutions/challenge3.md (100%) rename docs/{ => extra}/combinatorics/Practice-problems.md (100%) rename docs/{ => extra}/combinatorics/_category_.json (100%) rename docs/{ => extra}/combinatorics/combinatorics-examples.md (100%) rename docs/{ => extra}/combinatorics/combinatorics-theory.md (100%) rename docs/{ => extra}/complexity/_category_.json (100%) rename docs/{ => extra}/complexity/how-to-calculate-complexity.md (100%) rename docs/{ => extra}/complexity/image-1.png (100%) rename docs/{ => extra}/complexity/image.png (100%) rename docs/{ => extra}/complexity/space-complexity.md (100%) rename docs/{ => extra}/complexity/time-complexity.md (100%) rename docs/{ => extra}/complexity/time-space-complexity.md (100%) rename docs/{ => extra}/dsa/_category_.json (100%) rename docs/{ => extra}/dsa/imp-of-dsa.md (100%) rename docs/{ => extra}/dsa/roadmap-to-dsa.md (100%) rename docs/{ => extra}/dsa/types-of-dsa.md (100%) rename docs/{ => extra}/dsa/what-is-dsa.md (100%) rename docs/{ => extra}/dynamic-programming/Beautiful-Subgrids.md (100%) rename docs/{ => extra}/dynamic-programming/Matrix-chain-multiplication.md (100%) rename docs/{ => extra}/dynamic-programming/Multistage-graph.md (100%) rename docs/{ => extra}/dynamic-programming/Two-City-Scheduling-3D-DP.md (100%) rename docs/{ => extra}/dynamic-programming/_category_.json (100%) rename docs/{ => extra}/dynamic-programming/approaches.md (100%) rename docs/{ => extra}/dynamic-programming/dynamic-programming-optimizations.md (100%) rename docs/{ => extra}/dynamic-programming/fence-painting.md (100%) rename docs/{ => extra}/dynamic-programming/house-robber.md (100%) rename docs/{ => extra}/dynamic-programming/how-to-identify.md (100%) rename docs/{ => extra}/dynamic-programming/longest-zig-zag-subsequence.md (100%) rename docs/{ => extra}/dynamic-programming/longest_common_subsequence.md (100%) rename docs/{ => extra}/dynamic-programming/minimum_flips_to_zero_matrix.md (100%) rename docs/{ => extra}/dynamic-programming/palindrome_partitioning_IV.md (100%) rename docs/{ => extra}/dynamic-programming/practice-problems-different-patterns.md (100%) rename docs/{ => extra}/dynamic-programming/trapped-rainwater.md (100%) rename docs/{ => extra}/fundamentals/Conditional Statement.md (100%) rename docs/{ => extra}/fundamentals/Functions/Function Call.md (100%) rename docs/{ => extra}/fundamentals/Functions/Function Closures.md (100%) rename docs/{ => extra}/fundamentals/Functions/Function Composition.md (100%) rename docs/{ => extra}/fundamentals/Functions/Function Currying.md (100%) rename docs/{ => extra}/fundamentals/Functions/Function Declaration.md (100%) rename docs/{ => extra}/fundamentals/Functions/Function Memoization.md (100%) rename docs/{ => extra}/fundamentals/Functions/Function Overloading.md (100%) rename docs/{ => extra}/fundamentals/Functions/Function Parameters.md (100%) rename docs/{ => extra}/fundamentals/Functions/Function Recursion.md (100%) rename docs/{ => extra}/fundamentals/Functions/Function Return.md (100%) rename docs/{ => extra}/fundamentals/Functions/Function Scope.md (100%) rename docs/{ => extra}/fundamentals/Loops.md (100%) rename docs/{ => extra}/game-Theory/gameTheory.md (100%) rename docs/{ => extra}/game-Theory/gameTheoryExamples.md (100%) rename docs/{ => extra}/graphs/Adjacency-List.md (100%) rename docs/{ => extra}/graphs/Adjacency-Matrix.md (100%) rename docs/{ => extra}/graphs/Disjoint Set Union.md (100%) rename docs/{ => extra}/graphs/Johnson's-algo.md (100%) rename docs/{ => extra}/graphs/Longest-path-in-DAG.md (100%) rename docs/{ => extra}/graphs/Page-Rank-Algorithm.md (100%) rename docs/{ => extra}/graphs/Practice Problems.md (100%) rename docs/{ => extra}/graphs/_category_.json (100%) rename docs/{ => extra}/graphs/ant-colony-optimization-tsp.md (100%) rename docs/{ => extra}/graphs/bfs.md (100%) rename docs/{ => extra}/graphs/bipartite-graph.md (100%) rename docs/{ => extra}/graphs/dfs.md (100%) rename docs/{ => extra}/graphs/dfs_java.md (100%) rename docs/{ => extra}/graphs/dijkstra-algo.md (100%) rename docs/{ => extra}/graphs/eulerian-graphs.md (100%) rename docs/{ => extra}/graphs/flood-fill.md (100%) rename docs/{ => extra}/graphs/floyd-algorithm.md (100%) rename docs/{ => extra}/graphs/graph-cloning.md (100%) rename docs/{ => extra}/graphs/graph-coloring.md (100%) rename docs/{ => extra}/graphs/graph-reversal.md (100%) rename docs/{ => extra}/graphs/hopcroft-karp-algorithm.md (100%) rename docs/{ => extra}/graphs/kahn-algo.md (100%) rename docs/{ => extra}/graphs/kosaraju-algorithm.md (100%) rename docs/{ => extra}/graphs/kruskal-algorithm.md (100%) rename docs/{ => extra}/graphs/minimum-cost-spanning-tree.md (100%) rename docs/{ => extra}/graphs/practice-problems.md (100%) rename docs/{ => extra}/graphs/prims-algorithm.md (100%) rename docs/{ => extra}/graphs/shortest-path-algorithms/A-star-algorithm.md (100%) rename docs/{ => extra}/graphs/shortest-path-algorithms/Prims-algorithm.md (100%) rename docs/{ => extra}/graphs/shortest-path-algorithms/_category_.json (100%) rename docs/{ => extra}/graphs/shortest-path-algorithms/bell-man-ford-algorithm.md (100%) rename docs/{ => extra}/graphs/shortest-path-algorithms/dijkstra-algorithm.md (100%) rename docs/{ => extra}/graphs/shortest-path-algorithms/floyd-warshall-algorithm.md (100%) rename docs/{ => extra}/graphs/tarjans-algo.md (100%) rename docs/{ => extra}/graphs/warshall-algo.md (100%) rename docs/{ => extra}/greedy-algorithms/Graph-Coloring.md (100%) rename docs/{ => extra}/greedy-algorithms/fractional-knapsack-algorithm.md (100%) rename docs/{ => extra}/greedy-algorithms/job-scheduling.md (100%) rename docs/{ => extra}/greedy-algorithms/kruskals-algorithm.md (100%) rename docs/{ => extra}/greedy-algorithms/prims-algorithm.md (100%) rename docs/{ => extra}/hash/Practice Problems.md (100%) rename docs/{ => extra}/hash/_category_.json (100%) rename docs/{ => extra}/hash/hash-tables.md (100%) rename docs/{ => extra}/heap/Add-Merge-k-sorted-lists.md (100%) rename docs/{ => extra}/heap/Kth-largest-using-min_heap.md (100%) rename docs/{ => extra}/heap/Median-of-a-stream.md (100%) rename docs/{ => extra}/heap/Problem-Practice.md (100%) rename docs/{ => extra}/heap/_category_.json (100%) rename docs/{ => extra}/heap/heap-basics.md (100%) rename docs/{ => extra}/heap/heap-operations.md (100%) rename docs/{ => extra}/heap/kth-largest.md (100%) rename docs/{ => extra}/heap/kth-smallest.md (100%) rename docs/{ => extra}/heap/time-complexity.md (100%) rename docs/{ => extra}/heap/top-k-frequent-elements.md (100%) rename docs/{ => extra}/knapsack-disaster-relief/knapsack-disaster-relief.md (99%) rename docs/{ => extra}/linked-list/CircularDoubly.png (100%) rename docs/{ => extra}/linked-list/CircularLinkedList.png (100%) rename docs/{ => extra}/linked-list/Doubly-linked-list-C.md (100%) rename docs/{ => extra}/linked-list/DoublyLL.png (100%) rename docs/{ => extra}/linked-list/Hare-Tortoise.md (100%) rename docs/{ => extra}/linked-list/Intersection_Linked_list_python.md (100%) rename docs/{ => extra}/linked-list/LinkedList.png (100%) rename docs/{ => extra}/linked-list/Polynomial-Addition.md (100%) rename docs/{ => extra}/linked-list/Polynomial_multiplication.md (100%) rename docs/{ => extra}/linked-list/Practice-Problems.md (100%) rename docs/{ => extra}/linked-list/_category_.json (100%) rename docs/{ => extra}/linked-list/circular-doubly-linked-list.md (100%) rename docs/{ => extra}/linked-list/doubly-linked-list.md (100%) rename docs/{ => extra}/linked-list/floyds-cycle-detection.md (100%) rename docs/{ => extra}/linked-list/gircular-linked-list.md (100%) rename docs/{ => extra}/linked-list/intersection-linked-lists.md (100%) rename docs/{ => extra}/linked-list/introduction-to-linked-list.md (100%) rename docs/{ => extra}/linked-list/linked-list-approaches.md (100%) rename docs/{ => extra}/linked-list/max-twin-sum-of-linked-list.md (100%) rename docs/{ => extra}/linked-list/merge-two-sorted-list.md (100%) rename docs/{ => extra}/linked-list/next-greater-node-in-linked-list.md (100%) rename docs/{ => extra}/linked-list/polynomial-representation.md (100%) rename docs/{ => extra}/linked-list/range-sum-of-linked-list.md (100%) rename docs/{ => extra}/linked-list/remove-duplicates-from-sorted-list.md (100%) rename docs/{ => extra}/linked-list/swapping-node-in-a-linked-list-at-kth-node.md (100%) rename docs/{ => extra}/machine-learning/AdaBoost.md (100%) rename docs/{ => extra}/machine-learning/Autoencoders.md (100%) rename docs/{ => extra}/machine-learning/BeamSearch.md (100%) rename docs/{ => extra}/machine-learning/Catboost.md (100%) rename docs/{ => extra}/machine-learning/Convolutional_Neural_Network.md (100%) rename docs/{ => extra}/machine-learning/DBSCAN_Clustering_Algorithm.md (100%) rename docs/{ => extra}/machine-learning/Extra_Trees.md (100%) rename docs/{ => extra}/machine-learning/GBM.md (100%) rename docs/{ => extra}/machine-learning/Gaussian_Mixture_Model.md (100%) rename docs/{ => extra}/machine-learning/Generative_Adversarial_Networks.md (100%) rename docs/{ => extra}/machine-learning/HBOS.md (100%) rename docs/{ => extra}/machine-learning/Hidden_Markov_Model.md (100%) rename docs/{ => extra}/machine-learning/HierarchialClustering.md (100%) rename docs/{ => extra}/machine-learning/Independent Component Analysis.md (100%) rename docs/{ => extra}/machine-learning/K-Means_clustering.md (100%) rename docs/{ => extra}/machine-learning/K-NearestNeighbours.md (100%) rename docs/{ => extra}/machine-learning/LinearRegression.md (100%) rename docs/{ => extra}/machine-learning/LogisticRegression.md (100%) rename docs/{ => extra}/machine-learning/Long_Short_Term_Memory.md (100%) rename docs/{ => extra}/machine-learning/PC_Visualizations.md (100%) rename docs/{ => extra}/machine-learning/Recurrent_Neural_Network.md (100%) rename docs/{ => extra}/machine-learning/Reinforcement_Learning.md (100%) rename docs/{ => extra}/machine-learning/RidgeRegression.md (100%) rename docs/{ => extra}/machine-learning/SDG.md (100%) rename docs/{ => extra}/machine-learning/SVM.md (100%) rename docs/{ => extra}/machine-learning/Silhoutte.md (100%) rename docs/{ => extra}/machine-learning/Singular_Value_Decomposition_Algorithm.md (100%) rename docs/{ => extra}/machine-learning/Statistical_Anomaly_Detection.md (100%) rename docs/{ => extra}/machine-learning/Time_Series_Forecasting_Algo.md (100%) rename docs/{ => extra}/machine-learning/XGBoost.md (100%) rename docs/{ => extra}/machine-learning/decisionTree.md (100%) rename docs/{ => extra}/machine-learning/deep-q-networks.md (97%) rename docs/{ => extra}/machine-learning/hierarchical-clustering-visualizations.md (100%) rename docs/{ => extra}/machine-learning/lasso_regression.md (100%) rename docs/{ => extra}/machine-learning/naive-bayes.md (100%) rename docs/{ => extra}/machine-learning/neuralNetworks.md (100%) rename docs/{ => extra}/machine-learning/policy-gradient-visualization.md (97%) rename docs/{ => extra}/machine-learning/principal-component-analysis.md (100%) rename docs/{ => extra}/machine-learning/qLearning.md (97%) rename docs/{ => extra}/machine-learning/random-forest.md (100%) rename docs/{ => extra}/machine-learning/regression_algorithm.md (100%) rename docs/{ => extra}/machine-learning/supervised_learning_algo.md (100%) rename docs/{ => extra}/machine-learning/support-vector-machine.md (100%) rename docs/{ => extra}/machine-learning/t-SNE_Dimensionality_Reduction.md (100%) rename docs/{ => extra}/machine-learning/tsne-visualization.md (98%) rename docs/{ => extra}/machine-learning/unsupervised_learning_algo.md (100%) rename docs/{ => extra}/sortings/Sortings.md (100%) rename docs/{ => extra}/sortings/shell-sort .md (100%) delete mode 100644 docs/programming-fundamentals/Loops.md delete mode 100644 docs/programming-fundamentals/Variables.md create mode 100644 docs/programming-fundamentals/control-structures/_category_.json create mode 100644 docs/programming-fundamentals/language-syntax/_category_.json create mode 100644 docs/programming-fundamentals/language-syntax/operators.md create mode 100644 docs/programming-fundamentals/language-syntax/variables.md diff --git a/docs/Depth_first_traversal.md b/docs/Depth_first_traversal.md deleted file mode 100644 index e422fa42a..000000000 --- a/docs/Depth_first_traversal.md +++ /dev/null @@ -1,101 +0,0 @@ ---- -id: dft -title: "Depth-First Traversal (DFT)" -sidebar_label: Depth-First Traversal -description: "In this blog post, we'll explore Depth-First Traversal (DFT), a tree traversal algorithm that explores nodes by going as deep as possible before backtracking." -tags: [dsa, algorithms, tree, traversal] ---- - -### Definition: - -**Depth-First Traversal (DFT)** is a **tree traversal algorithm** that explores nodes by going as deep as possible along each branch before backtracking. Starting from the root node, it traverses as far along a branch as possible before returning to explore other branches. DFT is commonly used in scenarios requiring a systematic exploration of a tree structure, such as evaluating expressions, searching, and more. - -### Characteristics: - -- **Preorder, Inorder, and Postorder Traversals**: - - Depth-First Traversal can be categorized into three main types depending on the order of visiting the root, left, and right nodes: - - **Preorder Traversal**: Visit the root node first, then the left subtree, followed by the right subtree. - - **Inorder Traversal**: Visit the left subtree, the root node, and finally the right subtree. - - **Postorder Traversal**: Visit the left subtree, then the right subtree, and finally the root node. - -- **Recursive or Stack-Based Traversal**: - - DFT can be implemented either recursively or with an explicit stack. The recursive approach is straightforward and concise, while the stack-based approach provides an iterative solution. - -### Time Complexity: - -- **Best, Average, and Worst Case: $O(N)$** - Where `N` is the number of nodes in the tree. DFT visits each node exactly once, making it efficient for complete traversal. - -### Space Complexity: - -- **Space Complexity: $O(H)$** - In the worst case, DFT requires space proportional to the height of the tree (`H`), either due to the recursion stack in a recursive approach or an explicit stack used for iterative traversal. - -### C++ Implementation: - -Here are C++ implementations for each type of depth-first traversal: preorder, inorder, and postorder. These examples use a recursive approach for simplicity. - -```cpp -#include -using namespace std; - -struct TreeNode { - int val; - TreeNode* left; - TreeNode* right; - TreeNode(int x) : val(x), left(NULL), right(NULL) {} -}; - -// Preorder Traversal (Root -> Left -> Right) -void preorderTraversal(TreeNode* node) { - if (node == NULL) return; - cout << node->val << " "; - preorderTraversal(node->left); - preorderTraversal(node->right); -} - -// Inorder Traversal (Left -> Root -> Right) -void inorderTraversal(TreeNode* node) { - if (node == NULL) return; - inorderTraversal(node->left); - cout << node->val << " "; - inorderTraversal(node->right); -} - -// Postorder Traversal (Left -> Right -> Root) -void postorderTraversal(TreeNode* node) { - if (node == NULL) return; - postorderTraversal(node->left); - postorderTraversal(node->right); - cout << node->val << " "; -} - -int main() { - // Creating a sample tree: - // 1 - // / \ - // 2 3 - // / \ - // 4 5 - - TreeNode* root = new TreeNode(1); - root->left = new TreeNode(2); - root->right = new TreeNode(3); - root->left->left = new TreeNode(4); - root->left->right = new TreeNode(5); - - cout << "Preorder Traversal: "; - preorderTraversal(root); - cout << endl; - - cout << "Inorder Traversal: "; - inorderTraversal(root); - cout << endl; - - cout << "Postorder Traversal: "; - postorderTraversal(root); - cout << endl; - - return 0; -} -``` diff --git a/docs/Approximation Algorithm/Approximation.md b/docs/extra/Approximation Algorithm/Approximation.md similarity index 100% rename from docs/Approximation Algorithm/Approximation.md rename to docs/extra/Approximation Algorithm/Approximation.md diff --git a/docs/Banker's Algorithm/Banker.md b/docs/extra/Banker's Algorithm/Banker.md similarity index 100% rename from docs/Banker's Algorithm/Banker.md rename to docs/extra/Banker's Algorithm/Banker.md diff --git a/docs/Boyer Moore/Boyer-Moore.md b/docs/extra/Boyer Moore/Boyer-Moore.md similarity index 100% rename from docs/Boyer Moore/Boyer-Moore.md rename to docs/extra/Boyer Moore/Boyer-Moore.md diff --git a/docs/Circular_array/Application.md b/docs/extra/Circular_array/Application.md similarity index 100% rename from docs/Circular_array/Application.md rename to docs/extra/Circular_array/Application.md diff --git a/docs/Circular_array/Introduction.md b/docs/extra/Circular_array/Introduction.md similarity index 100% rename from docs/Circular_array/Introduction.md rename to docs/extra/Circular_array/Introduction.md diff --git a/docs/DSA-Problem-Solution/Add_two_number_as_LL.md b/docs/extra/DSA-Problem-Solution/Add_two_number_as_LL.md similarity index 100% rename from docs/DSA-Problem-Solution/Add_two_number_as_LL.md rename to docs/extra/DSA-Problem-Solution/Add_two_number_as_LL.md diff --git a/docs/DSA-Problem-Solution/Clone Linked List with Random and Next Pointer.md b/docs/extra/DSA-Problem-Solution/Clone Linked List with Random and Next Pointer.md similarity index 100% rename from docs/DSA-Problem-Solution/Clone Linked List with Random and Next Pointer.md rename to docs/extra/DSA-Problem-Solution/Clone Linked List with Random and Next Pointer.md diff --git a/docs/DSA-Problem-Solution/Contains_duplicate.md b/docs/extra/DSA-Problem-Solution/Contains_duplicate.md similarity index 100% rename from docs/DSA-Problem-Solution/Contains_duplicate.md rename to docs/extra/DSA-Problem-Solution/Contains_duplicate.md diff --git a/docs/DSA-Problem-Solution/Convert Date to Binary.md b/docs/extra/DSA-Problem-Solution/Convert Date to Binary.md similarity index 100% rename from docs/DSA-Problem-Solution/Convert Date to Binary.md rename to docs/extra/DSA-Problem-Solution/Convert Date to Binary.md diff --git a/docs/DSA-Problem-Solution/Cousins in Binary Tree.md b/docs/extra/DSA-Problem-Solution/Cousins in Binary Tree.md similarity index 100% rename from docs/DSA-Problem-Solution/Cousins in Binary Tree.md rename to docs/extra/DSA-Problem-Solution/Cousins in Binary Tree.md diff --git a/docs/DSA-Problem-Solution/Delete middle node.md b/docs/extra/DSA-Problem-Solution/Delete middle node.md similarity index 100% rename from docs/DSA-Problem-Solution/Delete middle node.md rename to docs/extra/DSA-Problem-Solution/Delete middle node.md diff --git a/docs/DSA-Problem-Solution/Delete_occurences_of_key.md b/docs/extra/DSA-Problem-Solution/Delete_occurences_of_key.md similarity index 100% rename from docs/DSA-Problem-Solution/Delete_occurences_of_key.md rename to docs/extra/DSA-Problem-Solution/Delete_occurences_of_key.md diff --git a/docs/DSA-Problem-Solution/Find Indices of stable mountains.md b/docs/extra/DSA-Problem-Solution/Find Indices of stable mountains.md similarity index 100% rename from docs/DSA-Problem-Solution/Find Indices of stable mountains.md rename to docs/extra/DSA-Problem-Solution/Find Indices of stable mountains.md diff --git a/docs/DSA-Problem-Solution/Loop in linked list.md b/docs/extra/DSA-Problem-Solution/Loop in linked list.md similarity index 100% rename from docs/DSA-Problem-Solution/Loop in linked list.md rename to docs/extra/DSA-Problem-Solution/Loop in linked list.md diff --git a/docs/DSA-Problem-Solution/Merge Two Sorted Arrays.md b/docs/extra/DSA-Problem-Solution/Merge Two Sorted Arrays.md similarity index 100% rename from docs/DSA-Problem-Solution/Merge Two Sorted Arrays.md rename to docs/extra/DSA-Problem-Solution/Merge Two Sorted Arrays.md diff --git a/docs/DSA-Problem-Solution/Merge_K_Sorted_Arrays.md b/docs/extra/DSA-Problem-Solution/Merge_K_Sorted_Arrays.md similarity index 100% rename from docs/DSA-Problem-Solution/Merge_K_Sorted_Arrays.md rename to docs/extra/DSA-Problem-Solution/Merge_K_Sorted_Arrays.md diff --git a/docs/DSA-Problem-Solution/Palindrome-number.md b/docs/extra/DSA-Problem-Solution/Palindrome-number.md similarity index 100% rename from docs/DSA-Problem-Solution/Palindrome-number.md rename to docs/extra/DSA-Problem-Solution/Palindrome-number.md diff --git a/docs/DSA-Problem-Solution/Plus-one.md b/docs/extra/DSA-Problem-Solution/Plus-one.md similarity index 100% rename from docs/DSA-Problem-Solution/Plus-one.md rename to docs/extra/DSA-Problem-Solution/Plus-one.md diff --git a/docs/DSA-Problem-Solution/Segregate even and odd nodes in LinkedList.md b/docs/extra/DSA-Problem-Solution/Segregate even and odd nodes in LinkedList.md similarity index 100% rename from docs/DSA-Problem-Solution/Segregate even and odd nodes in LinkedList.md rename to docs/extra/DSA-Problem-Solution/Segregate even and odd nodes in LinkedList.md diff --git a/docs/DSA-Problem-Solution/Size_of_largest_BST_in_binary_tree.md b/docs/extra/DSA-Problem-Solution/Size_of_largest_BST_in_binary_tree.md similarity index 100% rename from docs/DSA-Problem-Solution/Size_of_largest_BST_in_binary_tree.md rename to docs/extra/DSA-Problem-Solution/Size_of_largest_BST_in_binary_tree.md diff --git a/docs/DSA-Problem-Solution/Sliding Window Maximum.md b/docs/extra/DSA-Problem-Solution/Sliding Window Maximum.md similarity index 100% rename from docs/DSA-Problem-Solution/Sliding Window Maximum.md rename to docs/extra/DSA-Problem-Solution/Sliding Window Maximum.md diff --git a/docs/DSA-Problem-Solution/Symmetric Tree.md b/docs/extra/DSA-Problem-Solution/Symmetric Tree.md similarity index 100% rename from docs/DSA-Problem-Solution/Symmetric Tree.md rename to docs/extra/DSA-Problem-Solution/Symmetric Tree.md diff --git a/docs/DSA-Problem-Solution/flattening-a-linked-list.md b/docs/extra/DSA-Problem-Solution/flattening-a-linked-list.md similarity index 100% rename from docs/DSA-Problem-Solution/flattening-a-linked-list.md rename to docs/extra/DSA-Problem-Solution/flattening-a-linked-list.md diff --git a/docs/DSA-Problem-Solution/house-robber.md b/docs/extra/DSA-Problem-Solution/house-robber.md similarity index 100% rename from docs/DSA-Problem-Solution/house-robber.md rename to docs/extra/DSA-Problem-Solution/house-robber.md diff --git a/docs/DSA-Problem-Solution/longest_substring_without_repeated_characters.md b/docs/extra/DSA-Problem-Solution/longest_substring_without_repeated_characters.md similarity index 100% rename from docs/DSA-Problem-Solution/longest_substring_without_repeated_characters.md rename to docs/extra/DSA-Problem-Solution/longest_substring_without_repeated_characters.md diff --git a/docs/DSA-Problem-Solution/lowest_common_ancestor.md b/docs/extra/DSA-Problem-Solution/lowest_common_ancestor.md similarity index 100% rename from docs/DSA-Problem-Solution/lowest_common_ancestor.md rename to docs/extra/DSA-Problem-Solution/lowest_common_ancestor.md diff --git a/docs/DSA-Problem-Solution/merge_intervals.md b/docs/extra/DSA-Problem-Solution/merge_intervals.md similarity index 100% rename from docs/DSA-Problem-Solution/merge_intervals.md rename to docs/extra/DSA-Problem-Solution/merge_intervals.md diff --git a/docs/DSA-Problem-Solution/odd-even-linked-list.md b/docs/extra/DSA-Problem-Solution/odd-even-linked-list.md similarity index 100% rename from docs/DSA-Problem-Solution/odd-even-linked-list.md rename to docs/extra/DSA-Problem-Solution/odd-even-linked-list.md diff --git a/docs/DSA-Problem-Solution/palindrome_linked_list.md b/docs/extra/DSA-Problem-Solution/palindrome_linked_list.md similarity index 100% rename from docs/DSA-Problem-Solution/palindrome_linked_list.md rename to docs/extra/DSA-Problem-Solution/palindrome_linked_list.md diff --git a/docs/DSA-Problem-Solution/partition_equal_subset_sum.md b/docs/extra/DSA-Problem-Solution/partition_equal_subset_sum.md similarity index 100% rename from docs/DSA-Problem-Solution/partition_equal_subset_sum.md rename to docs/extra/DSA-Problem-Solution/partition_equal_subset_sum.md diff --git a/docs/DSA-Problem-Solution/removing-stars-from-string.md b/docs/extra/DSA-Problem-Solution/removing-stars-from-string.md similarity index 100% rename from docs/DSA-Problem-Solution/removing-stars-from-string.md rename to docs/extra/DSA-Problem-Solution/removing-stars-from-string.md diff --git a/docs/DSA-Problem-Solution/reverse-bits.md b/docs/extra/DSA-Problem-Solution/reverse-bits.md similarity index 100% rename from docs/DSA-Problem-Solution/reverse-bits.md rename to docs/extra/DSA-Problem-Solution/reverse-bits.md diff --git a/docs/DSA-Problem-Solution/reverse-linked-list.md b/docs/extra/DSA-Problem-Solution/reverse-linked-list.md similarity index 100% rename from docs/DSA-Problem-Solution/reverse-linked-list.md rename to docs/extra/DSA-Problem-Solution/reverse-linked-list.md diff --git a/docs/DSA-Problem-Solution/rotten-oranges.md b/docs/extra/DSA-Problem-Solution/rotten-oranges.md similarity index 100% rename from docs/DSA-Problem-Solution/rotten-oranges.md rename to docs/extra/DSA-Problem-Solution/rotten-oranges.md diff --git a/docs/DSA-Problem-Solution/two_sum.md b/docs/extra/DSA-Problem-Solution/two_sum.md similarity index 100% rename from docs/DSA-Problem-Solution/two_sum.md rename to docs/extra/DSA-Problem-Solution/two_sum.md diff --git a/docs/Divide and Conquer/Maximum-minimum.md b/docs/extra/Divide and Conquer/Maximum-minimum.md similarity index 100% rename from docs/Divide and Conquer/Maximum-minimum.md rename to docs/extra/Divide and Conquer/Maximum-minimum.md diff --git a/docs/Divide and Conquer/Strassen's-Matrix-Mutiplication.md b/docs/extra/Divide and Conquer/Strassen's-Matrix-Mutiplication.md similarity index 100% rename from docs/Divide and Conquer/Strassen's-Matrix-Mutiplication.md rename to docs/extra/Divide and Conquer/Strassen's-Matrix-Mutiplication.md diff --git a/docs/Divide and Conquer/convex-hull.md b/docs/extra/Divide and Conquer/convex-hull.md similarity index 100% rename from docs/Divide and Conquer/convex-hull.md rename to docs/extra/Divide and Conquer/convex-hull.md diff --git a/docs/Fenwick Tree/FenwickTree.md b/docs/extra/Fenwick Tree/FenwickTree.md similarity index 100% rename from docs/Fenwick Tree/FenwickTree.md rename to docs/extra/Fenwick Tree/FenwickTree.md diff --git a/docs/Hashing/CollisionHandling.md b/docs/extra/Hashing/CollisionHandling.md similarity index 100% rename from docs/Hashing/CollisionHandling.md rename to docs/extra/Hashing/CollisionHandling.md diff --git a/docs/Hashing/OperationInsertion.md b/docs/extra/Hashing/OperationInsertion.md similarity index 100% rename from docs/Hashing/OperationInsertion.md rename to docs/extra/Hashing/OperationInsertion.md diff --git a/docs/Hashing/OperationSearch.md b/docs/extra/Hashing/OperationSearch.md similarity index 100% rename from docs/Hashing/OperationSearch.md rename to docs/extra/Hashing/OperationSearch.md diff --git a/docs/Hashing/OperationUpdate.md b/docs/extra/Hashing/OperationUpdate.md similarity index 100% rename from docs/Hashing/OperationUpdate.md rename to docs/extra/Hashing/OperationUpdate.md diff --git a/docs/Hashing/Tigerhashing.md b/docs/extra/Hashing/Tigerhashing.md similarity index 100% rename from docs/Hashing/Tigerhashing.md rename to docs/extra/Hashing/Tigerhashing.md diff --git a/docs/Hashing/_category_.json b/docs/extra/Hashing/_category_.json similarity index 100% rename from docs/Hashing/_category_.json rename to docs/extra/Hashing/_category_.json diff --git a/docs/Hashing/deletion-in-hash-table.md b/docs/extra/Hashing/deletion-in-hash-table.md similarity index 100% rename from docs/Hashing/deletion-in-hash-table.md rename to docs/extra/Hashing/deletion-in-hash-table.md diff --git a/docs/Hashing/hashsets.md b/docs/extra/Hashing/hashsets.md similarity index 100% rename from docs/Hashing/hashsets.md rename to docs/extra/Hashing/hashsets.md diff --git a/docs/Hashing/imp-of-hashing.md b/docs/extra/Hashing/imp-of-hashing.md similarity index 100% rename from docs/Hashing/imp-of-hashing.md rename to docs/extra/Hashing/imp-of-hashing.md diff --git a/docs/Hashing/what-is-hashing.md b/docs/extra/Hashing/what-is-hashing.md similarity index 100% rename from docs/Hashing/what-is-hashing.md rename to docs/extra/Hashing/what-is-hashing.md diff --git a/docs/Jump Search/Jump Search.md b/docs/extra/Jump Search/Jump Search.md similarity index 99% rename from docs/Jump Search/Jump Search.md rename to docs/extra/Jump Search/Jump Search.md index 61e316f00..69e4fc84a 100644 --- a/docs/Jump Search/Jump Search.md +++ b/docs/extra/Jump Search/Jump Search.md @@ -2,7 +2,6 @@ id: jump-search title: Jump Search Algorithm sidebar_label: Jump Search -sidebar_position: 2 description: "This post explores the use of Jump Search Algorithm. We'll provide code implementations C++." tags: [searching, algorithms] --- diff --git a/docs/KMP searching pattern/_category_.json b/docs/extra/KMP searching pattern/_category_.json similarity index 100% rename from docs/KMP searching pattern/_category_.json rename to docs/extra/KMP searching pattern/_category_.json diff --git a/docs/KMP searching pattern/readme.md b/docs/extra/KMP searching pattern/readme.md similarity index 100% rename from docs/KMP searching pattern/readme.md rename to docs/extra/KMP searching pattern/readme.md diff --git a/docs/Number theory/Divisibility and Prime Numbers.md b/docs/extra/Number theory/Divisibility and Prime Numbers.md similarity index 100% rename from docs/Number theory/Divisibility and Prime Numbers.md rename to docs/extra/Number theory/Divisibility and Prime Numbers.md diff --git a/docs/Number theory/GCD.md b/docs/extra/Number theory/GCD.md similarity index 100% rename from docs/Number theory/GCD.md rename to docs/extra/Number theory/GCD.md diff --git a/docs/Number theory/LCM.md b/docs/extra/Number theory/LCM.md similarity index 100% rename from docs/Number theory/LCM.md rename to docs/extra/Number theory/LCM.md diff --git a/docs/Number theory/Modular Arithmetic.md b/docs/extra/Number theory/Modular Arithmetic.md similarity index 100% rename from docs/Number theory/Modular Arithmetic.md rename to docs/extra/Number theory/Modular Arithmetic.md diff --git a/docs/Number theory/counting-divisors.md b/docs/extra/Number theory/counting-divisors.md similarity index 100% rename from docs/Number theory/counting-divisors.md rename to docs/extra/Number theory/counting-divisors.md diff --git a/docs/Number theory/modular-exponentiation.md b/docs/extra/Number theory/modular-exponentiation.md similarity index 100% rename from docs/Number theory/modular-exponentiation.md rename to docs/extra/Number theory/modular-exponentiation.md diff --git a/docs/Number theory/sieve-of-eratosthenes.md b/docs/extra/Number theory/sieve-of-eratosthenes.md similarity index 100% rename from docs/Number theory/sieve-of-eratosthenes.md rename to docs/extra/Number theory/sieve-of-eratosthenes.md diff --git a/docs/Object Oriented Programming/4-pillars-of-oops.md b/docs/extra/Object Oriented Programming/4-pillars-of-oops.md similarity index 100% rename from docs/Object Oriented Programming/4-pillars-of-oops.md rename to docs/extra/Object Oriented Programming/4-pillars-of-oops.md diff --git a/docs/Object Oriented Programming/ApplicationofOOPS.md b/docs/extra/Object Oriented Programming/ApplicationofOOPS.md similarity index 100% rename from docs/Object Oriented Programming/ApplicationofOOPS.md rename to docs/extra/Object Oriented Programming/ApplicationofOOPS.md diff --git a/docs/Object Oriented Programming/Polymorphism.md b/docs/extra/Object Oriented Programming/Polymorphism.md similarity index 100% rename from docs/Object Oriented Programming/Polymorphism.md rename to docs/extra/Object Oriented Programming/Polymorphism.md diff --git a/docs/Object Oriented Programming/_category_.json b/docs/extra/Object Oriented Programming/_category_.json similarity index 100% rename from docs/Object Oriented Programming/_category_.json rename to docs/extra/Object Oriented Programming/_category_.json diff --git a/docs/Object Oriented Programming/abstraction.md b/docs/extra/Object Oriented Programming/abstraction.md similarity index 100% rename from docs/Object Oriented Programming/abstraction.md rename to docs/extra/Object Oriented Programming/abstraction.md diff --git a/docs/Object Oriented Programming/car.png b/docs/extra/Object Oriented Programming/car.png similarity index 100% rename from docs/Object Oriented Programming/car.png rename to docs/extra/Object Oriented Programming/car.png diff --git a/docs/Object Oriented Programming/classes-and-objects.md b/docs/extra/Object Oriented Programming/classes-and-objects.md similarity index 100% rename from docs/Object Oriented Programming/classes-and-objects.md rename to docs/extra/Object Oriented Programming/classes-and-objects.md diff --git a/docs/Object Oriented Programming/constructors-destructors.md b/docs/extra/Object Oriented Programming/constructors-destructors.md similarity index 100% rename from docs/Object Oriented Programming/constructors-destructors.md rename to docs/extra/Object Oriented Programming/constructors-destructors.md diff --git a/docs/Object Oriented Programming/interfaces-vs-abstract-classes.md b/docs/extra/Object Oriented Programming/interfaces-vs-abstract-classes.md similarity index 100% rename from docs/Object Oriented Programming/interfaces-vs-abstract-classes.md rename to docs/extra/Object Oriented Programming/interfaces-vs-abstract-classes.md diff --git a/docs/Object Oriented Programming/intro-to-oops.md b/docs/extra/Object Oriented Programming/intro-to-oops.md similarity index 100% rename from docs/Object Oriented Programming/intro-to-oops.md rename to docs/extra/Object Oriented Programming/intro-to-oops.md diff --git a/docs/Object Oriented Programming/intro.png b/docs/extra/Object Oriented Programming/intro.png similarity index 100% rename from docs/Object Oriented Programming/intro.png rename to docs/extra/Object Oriented Programming/intro.png diff --git a/docs/Object Oriented Programming/real-world-examples.md b/docs/extra/Object Oriented Programming/real-world-examples.md similarity index 100% rename from docs/Object Oriented Programming/real-world-examples.md rename to docs/extra/Object Oriented Programming/real-world-examples.md diff --git a/docs/Object Oriented Programming/typesOfInheritance.md b/docs/extra/Object Oriented Programming/typesOfInheritance.md similarity index 100% rename from docs/Object Oriented Programming/typesOfInheritance.md rename to docs/extra/Object Oriented Programming/typesOfInheritance.md diff --git a/docs/Queue/Blocked-queue.png b/docs/extra/Queue/Blocked-queue.png similarity index 100% rename from docs/Queue/Blocked-queue.png rename to docs/extra/Queue/Blocked-queue.png diff --git a/docs/Queue/Circular-queue.png b/docs/extra/Queue/Circular-queue.png similarity index 100% rename from docs/Queue/Circular-queue.png rename to docs/extra/Queue/Circular-queue.png diff --git a/docs/Queue/Priority-queue.png b/docs/extra/Queue/Priority-queue.png similarity index 100% rename from docs/Queue/Priority-queue.png rename to docs/extra/Queue/Priority-queue.png diff --git a/docs/Queue/Problem-Practice.md b/docs/extra/Queue/Problem-Practice.md similarity index 100% rename from docs/Queue/Problem-Practice.md rename to docs/extra/Queue/Problem-Practice.md diff --git a/docs/Queue/Two-Stack-Queue.md b/docs/extra/Queue/Two-Stack-Queue.md similarity index 100% rename from docs/Queue/Two-Stack-Queue.md rename to docs/extra/Queue/Two-Stack-Queue.md diff --git a/docs/Queue/_category_.json b/docs/extra/Queue/_category_.json similarity index 100% rename from docs/Queue/_category_.json rename to docs/extra/Queue/_category_.json diff --git a/docs/Queue/blocked-queue.md b/docs/extra/Queue/blocked-queue.md similarity index 100% rename from docs/Queue/blocked-queue.md rename to docs/extra/Queue/blocked-queue.md diff --git a/docs/Queue/check-palindrome-using-dequeue.md b/docs/extra/Queue/check-palindrome-using-dequeue.md similarity index 100% rename from docs/Queue/check-palindrome-using-dequeue.md rename to docs/extra/Queue/check-palindrome-using-dequeue.md diff --git a/docs/Queue/circular-queue.md b/docs/extra/Queue/circular-queue.md similarity index 100% rename from docs/Queue/circular-queue.md rename to docs/extra/Queue/circular-queue.md diff --git a/docs/Queue/concurrent-queue.md b/docs/extra/Queue/concurrent-queue.md similarity index 100% rename from docs/Queue/concurrent-queue.md rename to docs/extra/Queue/concurrent-queue.md diff --git a/docs/Queue/design-circular-Dueque.md b/docs/extra/Queue/design-circular-Dueque.md similarity index 100% rename from docs/Queue/design-circular-Dueque.md rename to docs/extra/Queue/design-circular-Dueque.md diff --git a/docs/Queue/design-circular-Queue.md b/docs/extra/Queue/design-circular-Queue.md similarity index 100% rename from docs/Queue/design-circular-Queue.md rename to docs/extra/Queue/design-circular-Queue.md diff --git a/docs/Queue/double-ended-queue.md b/docs/extra/Queue/double-ended-queue.md similarity index 100% rename from docs/Queue/double-ended-queue.md rename to docs/extra/Queue/double-ended-queue.md diff --git a/docs/Queue/doubleendedqueue.png b/docs/extra/Queue/doubleendedqueue.png similarity index 100% rename from docs/Queue/doubleendedqueue.png rename to docs/extra/Queue/doubleendedqueue.png diff --git a/docs/Queue/priority-queue.md b/docs/extra/Queue/priority-queue.md similarity index 100% rename from docs/Queue/priority-queue.md rename to docs/extra/Queue/priority-queue.md diff --git a/docs/Queue/priority_queue_questions.md b/docs/extra/Queue/priority_queue_questions.md similarity index 100% rename from docs/Queue/priority_queue_questions.md rename to docs/extra/Queue/priority_queue_questions.md diff --git a/docs/Rabin-Karp Algorithm/Rabin-Karp.md b/docs/extra/Rabin-Karp Algorithm/Rabin-Karp.md similarity index 100% rename from docs/Rabin-Karp Algorithm/Rabin-Karp.md rename to docs/extra/Rabin-Karp Algorithm/Rabin-Karp.md diff --git a/docs/Randomized Algorithm/Randomized-Quicksort.md b/docs/extra/Randomized Algorithm/Randomized-Quicksort.md similarity index 100% rename from docs/Randomized Algorithm/Randomized-Quicksort.md rename to docs/extra/Randomized Algorithm/Randomized-Quicksort.md diff --git a/docs/Recursion-depths/Recursion.md b/docs/extra/Recursion-depths/Recursion.md similarity index 100% rename from docs/Recursion-depths/Recursion.md rename to docs/extra/Recursion-depths/Recursion.md diff --git a/docs/Recursion-depths/advanced-topics.md b/docs/extra/Recursion-depths/advanced-topics.md similarity index 100% rename from docs/Recursion-depths/advanced-topics.md rename to docs/extra/Recursion-depths/advanced-topics.md diff --git a/docs/Recursion-depths/basic-concepts.md b/docs/extra/Recursion-depths/basic-concepts.md similarity index 100% rename from docs/Recursion-depths/basic-concepts.md rename to docs/extra/Recursion-depths/basic-concepts.md diff --git a/docs/Recursion-depths/handling-depth-errors.md b/docs/extra/Recursion-depths/handling-depth-errors.md similarity index 100% rename from docs/Recursion-depths/handling-depth-errors.md rename to docs/extra/Recursion-depths/handling-depth-errors.md diff --git a/docs/Recursion-depths/performance-consideration.md b/docs/extra/Recursion-depths/performance-consideration.md similarity index 100% rename from docs/Recursion-depths/performance-consideration.md rename to docs/extra/Recursion-depths/performance-consideration.md diff --git a/docs/Recursion/Ackerman.md b/docs/extra/Recursion/Ackerman.md similarity index 100% rename from docs/Recursion/Ackerman.md rename to docs/extra/Recursion/Ackerman.md diff --git a/docs/Recursion/Count-all-subsequences-with-sum-K.md b/docs/extra/Recursion/Count-all-subsequences-with-sum-K.md similarity index 100% rename from docs/Recursion/Count-all-subsequences-with-sum-K.md rename to docs/extra/Recursion/Count-all-subsequences-with-sum-K.md diff --git a/docs/Recursion/GrayCodeGeneration.md b/docs/extra/Recursion/GrayCodeGeneration.md similarity index 100% rename from docs/Recursion/GrayCodeGeneration.md rename to docs/extra/Recursion/GrayCodeGeneration.md diff --git a/docs/Recursion/Josephus-Queries.md b/docs/extra/Recursion/Josephus-Queries.md similarity index 100% rename from docs/Recursion/Josephus-Queries.md rename to docs/extra/Recursion/Josephus-Queries.md diff --git a/docs/Recursion/Knight's_Tour_Problem.md b/docs/extra/Recursion/Knight's_Tour_Problem.md similarity index 100% rename from docs/Recursion/Knight's_Tour_Problem.md rename to docs/extra/Recursion/Knight's_Tour_Problem.md diff --git a/docs/Recursion/Letter-Combinations-of-a-Phone-number.md b/docs/extra/Recursion/Letter-Combinations-of-a-Phone-number.md similarity index 100% rename from docs/Recursion/Letter-Combinations-of-a-Phone-number.md rename to docs/extra/Recursion/Letter-Combinations-of-a-Phone-number.md diff --git a/docs/Recursion/N Queen 2.png b/docs/extra/Recursion/N Queen 2.png similarity index 100% rename from docs/Recursion/N Queen 2.png rename to docs/extra/Recursion/N Queen 2.png diff --git a/docs/Recursion/N Qween 1.png b/docs/extra/Recursion/N Qween 1.png similarity index 100% rename from docs/Recursion/N Qween 1.png rename to docs/extra/Recursion/N Qween 1.png diff --git a/docs/Recursion/Reversing_String.md b/docs/extra/Recursion/Reversing_String.md similarity index 100% rename from docs/Recursion/Reversing_String.md rename to docs/extra/Recursion/Reversing_String.md diff --git a/docs/Recursion/SmawkAlgorithm.md b/docs/extra/Recursion/SmawkAlgorithm.md similarity index 100% rename from docs/Recursion/SmawkAlgorithm.md rename to docs/extra/Recursion/SmawkAlgorithm.md diff --git a/docs/Recursion/Sodoko.md b/docs/extra/Recursion/Sodoko.md similarity index 100% rename from docs/Recursion/Sodoko.md rename to docs/extra/Recursion/Sodoko.md diff --git a/docs/Recursion/StonePaperScissor.md b/docs/extra/Recursion/StonePaperScissor.md similarity index 100% rename from docs/Recursion/StonePaperScissor.md rename to docs/extra/Recursion/StonePaperScissor.md diff --git a/docs/Recursion/TowersOfHanoi.md b/docs/extra/Recursion/TowersOfHanoi.md similarity index 100% rename from docs/Recursion/TowersOfHanoi.md rename to docs/extra/Recursion/TowersOfHanoi.md diff --git a/docs/Recursion/Unwinding_in_recursion.md b/docs/extra/Recursion/Unwinding_in_recursion.md similarity index 100% rename from docs/Recursion/Unwinding_in_recursion.md rename to docs/extra/Recursion/Unwinding_in_recursion.md diff --git a/docs/Recursion/VoseAlias.md b/docs/extra/Recursion/VoseAlias.md similarity index 100% rename from docs/Recursion/VoseAlias.md rename to docs/extra/Recursion/VoseAlias.md diff --git a/docs/Recursion/WaterJug.md b/docs/extra/Recursion/WaterJug.md similarity index 100% rename from docs/Recursion/WaterJug.md rename to docs/extra/Recursion/WaterJug.md diff --git a/docs/Recursion/_category_.json b/docs/extra/Recursion/_category_.json similarity index 100% rename from docs/Recursion/_category_.json rename to docs/extra/Recursion/_category_.json diff --git a/docs/Recursion/catalannumber.md b/docs/extra/Recursion/catalannumber.md similarity index 100% rename from docs/Recursion/catalannumber.md rename to docs/extra/Recursion/catalannumber.md diff --git a/docs/Recursion/fibonacci.md b/docs/extra/Recursion/fibonacci.md similarity index 100% rename from docs/Recursion/fibonacci.md rename to docs/extra/Recursion/fibonacci.md diff --git a/docs/Recursion/generate-parantheses.md b/docs/extra/Recursion/generate-parantheses.md similarity index 100% rename from docs/Recursion/generate-parantheses.md rename to docs/extra/Recursion/generate-parantheses.md diff --git a/docs/Recursion/josephus.md b/docs/extra/Recursion/josephus.md similarity index 100% rename from docs/Recursion/josephus.md rename to docs/extra/Recursion/josephus.md diff --git a/docs/Recursion/look-and-say.md b/docs/extra/Recursion/look-and-say.md similarity index 100% rename from docs/Recursion/look-and-say.md rename to docs/extra/Recursion/look-and-say.md diff --git a/docs/Recursion/n-queen.md b/docs/extra/Recursion/n-queen.md similarity index 100% rename from docs/Recursion/n-queen.md rename to docs/extra/Recursion/n-queen.md diff --git a/docs/Recursion/recursion.md b/docs/extra/Recursion/recursion.md similarity index 100% rename from docs/Recursion/recursion.md rename to docs/extra/Recursion/recursion.md diff --git a/docs/Recursion/ulamsequence.md b/docs/extra/Recursion/ulamsequence.md similarity index 100% rename from docs/Recursion/ulamsequence.md rename to docs/extra/Recursion/ulamsequence.md diff --git a/docs/Segment-Trees/Dynamic Segment Trees.md b/docs/extra/Segment-Trees/Dynamic Segment Trees.md similarity index 100% rename from docs/Segment-Trees/Dynamic Segment Trees.md rename to docs/extra/Segment-Trees/Dynamic Segment Trees.md diff --git a/docs/Segment-Trees/Practice Porblem.md b/docs/extra/Segment-Trees/Practice Porblem.md similarity index 100% rename from docs/Segment-Trees/Practice Porblem.md rename to docs/extra/Segment-Trees/Practice Porblem.md diff --git a/docs/Segment-Trees/Segment Trees Introduction.md b/docs/extra/Segment-Trees/Segment Trees Introduction.md similarity index 100% rename from docs/Segment-Trees/Segment Trees Introduction.md rename to docs/extra/Segment-Trees/Segment Trees Introduction.md diff --git a/docs/Segment-Trees/Segment-Tree-img.png b/docs/extra/Segment-Trees/Segment-Tree-img.png similarity index 100% rename from docs/Segment-Trees/Segment-Tree-img.png rename to docs/extra/Segment-Trees/Segment-Tree-img.png diff --git a/docs/Sliding-Window/IntroductionToSlidingWindow.jpg b/docs/extra/Sliding-Window/IntroductionToSlidingWindow.jpg similarity index 100% rename from docs/Sliding-Window/IntroductionToSlidingWindow.jpg rename to docs/extra/Sliding-Window/IntroductionToSlidingWindow.jpg diff --git a/docs/Sliding-Window/Problem-Practice.md b/docs/extra/Sliding-Window/Problem-Practice.md similarity index 100% rename from docs/Sliding-Window/Problem-Practice.md rename to docs/extra/Sliding-Window/Problem-Practice.md diff --git a/docs/Sliding-Window/_category_.json b/docs/extra/Sliding-Window/_category_.json similarity index 100% rename from docs/Sliding-Window/_category_.json rename to docs/extra/Sliding-Window/_category_.json diff --git a/docs/Sliding-Window/character-replacement.md b/docs/extra/Sliding-Window/character-replacement.md similarity index 100% rename from docs/Sliding-Window/character-replacement.md rename to docs/extra/Sliding-Window/character-replacement.md diff --git a/docs/Sliding-Window/introduction-to-sliding-window.md b/docs/extra/Sliding-Window/introduction-to-sliding-window.md similarity index 100% rename from docs/Sliding-Window/introduction-to-sliding-window.md rename to docs/extra/Sliding-Window/introduction-to-sliding-window.md diff --git a/docs/Sliding-Window/longest-repeating-character-replacement.md b/docs/extra/Sliding-Window/longest-repeating-character-replacement.md similarity index 100% rename from docs/Sliding-Window/longest-repeating-character-replacement.md rename to docs/extra/Sliding-Window/longest-repeating-character-replacement.md diff --git a/docs/Sliding-Window/longest-substring-with-K-different-characters.md b/docs/extra/Sliding-Window/longest-substring-with-K-different-characters.md similarity index 100% rename from docs/Sliding-Window/longest-substring-with-K-different-characters.md rename to docs/extra/Sliding-Window/longest-substring-with-K-different-characters.md diff --git a/docs/Sliding-Window/maximum-sum-subarray-size-K.md b/docs/extra/Sliding-Window/maximum-sum-subarray-size-K.md similarity index 100% rename from docs/Sliding-Window/maximum-sum-subarray-size-K.md rename to docs/extra/Sliding-Window/maximum-sum-subarray-size-K.md diff --git a/docs/Sliding-Window/minimize-maximum-of-two-arrays.md b/docs/extra/Sliding-Window/minimize-maximum-of-two-arrays.md similarity index 100% rename from docs/Sliding-Window/minimize-maximum-of-two-arrays.md rename to docs/extra/Sliding-Window/minimize-maximum-of-two-arrays.md diff --git a/docs/Stack/Balanced-Parenthesis.md b/docs/extra/Stack/Balanced-Parenthesis.md similarity index 100% rename from docs/Stack/Balanced-Parenthesis.md rename to docs/extra/Stack/Balanced-Parenthesis.md diff --git a/docs/Stack/Balanced-parentheses-checker.md b/docs/extra/Stack/Balanced-parentheses-checker.md similarity index 100% rename from docs/Stack/Balanced-parentheses-checker.md rename to docs/extra/Stack/Balanced-parentheses-checker.md diff --git a/docs/Stack/Conversion.md b/docs/extra/Stack/Conversion.md similarity index 100% rename from docs/Stack/Conversion.md rename to docs/extra/Stack/Conversion.md diff --git a/docs/Stack/Evaluation.md b/docs/extra/Stack/Evaluation.md similarity index 100% rename from docs/Stack/Evaluation.md rename to docs/extra/Stack/Evaluation.md diff --git a/docs/Stack/Introduction_to_Stack.png b/docs/extra/Stack/Introduction_to_Stack.png similarity index 100% rename from docs/Stack/Introduction_to_Stack.png rename to docs/extra/Stack/Introduction_to_Stack.png diff --git a/docs/Stack/Min-Stack.md b/docs/extra/Stack/Min-Stack.md similarity index 100% rename from docs/Stack/Min-Stack.md rename to docs/extra/Stack/Min-Stack.md diff --git a/docs/Stack/MonotonicStack.md b/docs/extra/Stack/MonotonicStack.md similarity index 100% rename from docs/Stack/MonotonicStack.md rename to docs/extra/Stack/MonotonicStack.md diff --git a/docs/Stack/Next Greater Element (NGE).md b/docs/extra/Stack/Next Greater Element (NGE).md similarity index 100% rename from docs/Stack/Next Greater Element (NGE).md rename to docs/extra/Stack/Next Greater Element (NGE).md diff --git a/docs/Stack/Problem-Practice.md b/docs/extra/Stack/Problem-Practice.md similarity index 100% rename from docs/Stack/Problem-Practice.md rename to docs/extra/Stack/Problem-Practice.md diff --git a/docs/Stack/Reverse-Stack.md b/docs/extra/Stack/Reverse-Stack.md similarity index 100% rename from docs/Stack/Reverse-Stack.md rename to docs/extra/Stack/Reverse-Stack.md diff --git a/docs/Stack/Stack-permutation.md b/docs/extra/Stack/Stack-permutation.md similarity index 100% rename from docs/Stack/Stack-permutation.md rename to docs/extra/Stack/Stack-permutation.md diff --git a/docs/Stack/Stock-span.md b/docs/extra/Stack/Stock-span.md similarity index 100% rename from docs/Stack/Stock-span.md rename to docs/extra/Stack/Stock-span.md diff --git a/docs/Stack/String_Reversal.md b/docs/extra/Stack/String_Reversal.md similarity index 100% rename from docs/Stack/String_Reversal.md rename to docs/extra/Stack/String_Reversal.md diff --git a/docs/Stack/Trapping Rain Water Problem.md b/docs/extra/Stack/Trapping Rain Water Problem.md similarity index 100% rename from docs/Stack/Trapping Rain Water Problem.md rename to docs/extra/Stack/Trapping Rain Water Problem.md diff --git a/docs/Stack/_category_.json b/docs/extra/Stack/_category_.json similarity index 100% rename from docs/Stack/_category_.json rename to docs/extra/Stack/_category_.json diff --git a/docs/Stack/introduction-to-stack.md b/docs/extra/Stack/introduction-to-stack.md similarity index 100% rename from docs/Stack/introduction-to-stack.md rename to docs/extra/Stack/introduction-to-stack.md diff --git a/docs/Stack/stack.md b/docs/extra/Stack/stack.md similarity index 100% rename from docs/Stack/stack.md rename to docs/extra/Stack/stack.md diff --git a/docs/Standard Template Library/STL-algorithms.md b/docs/extra/Standard Template Library/STL-algorithms.md similarity index 100% rename from docs/Standard Template Library/STL-algorithms.md rename to docs/extra/Standard Template Library/STL-algorithms.md diff --git a/docs/Standard Template Library/STL-containers.md b/docs/extra/Standard Template Library/STL-containers.md similarity index 100% rename from docs/Standard Template Library/STL-containers.md rename to docs/extra/Standard Template Library/STL-containers.md diff --git a/docs/Standard Template Library/STL-iterators.md b/docs/extra/Standard Template Library/STL-iterators.md similarity index 100% rename from docs/Standard Template Library/STL-iterators.md rename to docs/extra/Standard Template Library/STL-iterators.md diff --git a/docs/Standard Template Library/STL-theory.md b/docs/extra/Standard Template Library/STL-theory.md similarity index 100% rename from docs/Standard Template Library/STL-theory.md rename to docs/extra/Standard Template Library/STL-theory.md diff --git a/docs/Strings/Problem-Practice.md b/docs/extra/Strings/Problem-Practice.md similarity index 100% rename from docs/Strings/Problem-Practice.md rename to docs/extra/Strings/Problem-Practice.md diff --git a/docs/Strings/String Basics.md b/docs/extra/Strings/String Basics.md similarity index 100% rename from docs/Strings/String Basics.md rename to docs/extra/Strings/String Basics.md diff --git a/docs/Strings/String Operation.md b/docs/extra/Strings/String Operation.md similarity index 100% rename from docs/Strings/String Operation.md rename to docs/extra/Strings/String Operation.md diff --git a/docs/Tarjan's Algorithm/Tarjan.md b/docs/extra/Tarjan's Algorithm/Tarjan.md similarity index 100% rename from docs/Tarjan's Algorithm/Tarjan.md rename to docs/extra/Tarjan's Algorithm/Tarjan.md diff --git a/docs/Tarjan's Algorithm/algorithm.png b/docs/extra/Tarjan's Algorithm/algorithm.png similarity index 100% rename from docs/Tarjan's Algorithm/algorithm.png rename to docs/extra/Tarjan's Algorithm/algorithm.png diff --git a/docs/Task Scheduling/Task-schedule.md b/docs/extra/Task Scheduling/Task-schedule.md similarity index 100% rename from docs/Task Scheduling/Task-schedule.md rename to docs/extra/Task Scheduling/Task-schedule.md diff --git a/docs/Task Scheduling/_category_.json b/docs/extra/Task Scheduling/_category_.json similarity index 100% rename from docs/Task Scheduling/_category_.json rename to docs/extra/Task Scheduling/_category_.json diff --git a/docs/Trees/AVL Tree.md b/docs/extra/Trees/AVL Tree.md similarity index 100% rename from docs/Trees/AVL Tree.md rename to docs/extra/Trees/AVL Tree.md diff --git a/docs/Trees/B-Trees.md b/docs/extra/Trees/B-Trees.md similarity index 100% rename from docs/Trees/B-Trees.md rename to docs/extra/Trees/B-Trees.md diff --git a/docs/Trees/Expression-tree.md b/docs/extra/Trees/Expression-tree.md similarity index 100% rename from docs/Trees/Expression-tree.md rename to docs/extra/Trees/Expression-tree.md diff --git a/docs/Trees/Heap-tree.md b/docs/extra/Trees/Heap-tree.md similarity index 100% rename from docs/Trees/Heap-tree.md rename to docs/extra/Trees/Heap-tree.md diff --git a/docs/Trees/Practice Problems.md b/docs/extra/Trees/Practice Problems.md similarity index 100% rename from docs/Trees/Practice Problems.md rename to docs/extra/Trees/Practice Problems.md diff --git a/docs/Trees/Sum-tree.md b/docs/extra/Trees/Sum-tree.md similarity index 100% rename from docs/Trees/Sum-tree.md rename to docs/extra/Trees/Sum-tree.md diff --git a/docs/Trees/Trees Practice Problems.md b/docs/extra/Trees/Trees Practice Problems.md similarity index 100% rename from docs/Trees/Trees Practice Problems.md rename to docs/extra/Trees/Trees Practice Problems.md diff --git a/docs/Trees/Types of Trees.md b/docs/extra/Trees/Types of Trees.md similarity index 100% rename from docs/Trees/Types of Trees.md rename to docs/extra/Trees/Types of Trees.md diff --git a/docs/Trees/balanced-tree.md b/docs/extra/Trees/balanced-tree.md similarity index 100% rename from docs/Trees/balanced-tree.md rename to docs/extra/Trees/balanced-tree.md diff --git a/docs/Trees/binary-search-tree.md b/docs/extra/Trees/binary-search-tree.md similarity index 100% rename from docs/Trees/binary-search-tree.md rename to docs/extra/Trees/binary-search-tree.md diff --git a/docs/Trees/binary-tree.md b/docs/extra/Trees/binary-tree.md similarity index 100% rename from docs/Trees/binary-tree.md rename to docs/extra/Trees/binary-tree.md diff --git a/docs/Trees/k-d tree algorithm.md b/docs/extra/Trees/k-d tree algorithm.md similarity index 100% rename from docs/Trees/k-d tree algorithm.md rename to docs/extra/Trees/k-d tree algorithm.md diff --git a/docs/Trees/tree-data-structure.md b/docs/extra/Trees/tree-data-structure.md similarity index 100% rename from docs/Trees/tree-data-structure.md rename to docs/extra/Trees/tree-data-structure.md diff --git a/docs/Tries/Problem-Practice.md b/docs/extra/Tries/Problem-Practice.md similarity index 100% rename from docs/Tries/Problem-Practice.md rename to docs/extra/Tries/Problem-Practice.md diff --git a/docs/Tries/Tries and its Implementation.md b/docs/extra/Tries/Tries and its Implementation.md similarity index 100% rename from docs/Tries/Tries and its Implementation.md rename to docs/extra/Tries/Tries and its Implementation.md diff --git a/docs/Tries/tries-examples.md b/docs/extra/Tries/tries-examples.md similarity index 100% rename from docs/Tries/tries-examples.md rename to docs/extra/Tries/tries-examples.md diff --git a/docs/Tries/tries-theory.md b/docs/extra/Tries/tries-theory.md similarity index 100% rename from docs/Tries/tries-theory.md rename to docs/extra/Tries/tries-theory.md diff --git a/docs/advance-data-structure/_category_.json b/docs/extra/advance-data-structure/_category_.json similarity index 100% rename from docs/advance-data-structure/_category_.json rename to docs/extra/advance-data-structure/_category_.json diff --git a/docs/advance-data-structure/disjoint-set.md b/docs/extra/advance-data-structure/disjoint-set.md similarity index 100% rename from docs/advance-data-structure/disjoint-set.md rename to docs/extra/advance-data-structure/disjoint-set.md diff --git a/docs/advance-data-structure/fenwick-tree.md b/docs/extra/advance-data-structure/fenwick-tree.md similarity index 100% rename from docs/advance-data-structure/fenwick-tree.md rename to docs/extra/advance-data-structure/fenwick-tree.md diff --git a/docs/advance-data-structure/segment-tree.md b/docs/extra/advance-data-structure/segment-tree.md similarity index 100% rename from docs/advance-data-structure/segment-tree.md rename to docs/extra/advance-data-structure/segment-tree.md diff --git a/docs/algorithms/ Edmonds-Karp Algorithm/ edmonds-karp-algorithm.md b/docs/extra/algorithms/ Edmonds-Karp Algorithm/ edmonds-karp-algorithm.md similarity index 100% rename from docs/algorithms/ Edmonds-Karp Algorithm/ edmonds-karp-algorithm.md rename to docs/extra/algorithms/ Edmonds-Karp Algorithm/ edmonds-karp-algorithm.md diff --git a/docs/algorithms/Application-of-Recursion.md b/docs/extra/algorithms/Application-of-Recursion.md similarity index 100% rename from docs/algorithms/Application-of-Recursion.md rename to docs/extra/algorithms/Application-of-Recursion.md diff --git a/docs/algorithms/Application-of-linked-list.md b/docs/extra/algorithms/Application-of-linked-list.md similarity index 100% rename from docs/algorithms/Application-of-linked-list.md rename to docs/extra/algorithms/Application-of-linked-list.md diff --git a/docs/algorithms/Bentley-Ottmann-Algorithm/bentley-ottmann-algo.md b/docs/extra/algorithms/Bentley-Ottmann-Algorithm/bentley-ottmann-algo.md similarity index 100% rename from docs/algorithms/Bentley-Ottmann-Algorithm/bentley-ottmann-algo.md rename to docs/extra/algorithms/Bentley-Ottmann-Algorithm/bentley-ottmann-algo.md diff --git a/docs/algorithms/Bloom-Filter-Algorithm.md b/docs/extra/algorithms/Bloom-Filter-Algorithm.md similarity index 100% rename from docs/algorithms/Bloom-Filter-Algorithm.md rename to docs/extra/algorithms/Bloom-Filter-Algorithm.md diff --git a/docs/algorithms/Buchberger's Algorithm/Buchberger's Algorithm.md b/docs/extra/algorithms/Buchberger's Algorithm/Buchberger's Algorithm.md similarity index 100% rename from docs/algorithms/Buchberger's Algorithm/Buchberger's Algorithm.md rename to docs/extra/algorithms/Buchberger's Algorithm/Buchberger's Algorithm.md diff --git a/docs/algorithms/CNN-deep-learning-algorithm.md b/docs/extra/algorithms/CNN-deep-learning-algorithm.md similarity index 100% rename from docs/algorithms/CNN-deep-learning-algorithm.md rename to docs/extra/algorithms/CNN-deep-learning-algorithm.md diff --git a/docs/algorithms/Computer-Vision-ML-Theory.md b/docs/extra/algorithms/Computer-Vision-ML-Theory.md similarity index 100% rename from docs/algorithms/Computer-Vision-ML-Theory.md rename to docs/extra/algorithms/Computer-Vision-ML-Theory.md diff --git a/docs/algorithms/DLX algorithm/DLX.md b/docs/extra/algorithms/DLX algorithm/DLX.md similarity index 100% rename from docs/algorithms/DLX algorithm/DLX.md rename to docs/extra/algorithms/DLX algorithm/DLX.md diff --git "a/docs/algorithms/Dijkstra\342\200\231s Algorithm.md" "b/docs/extra/algorithms/Dijkstra\342\200\231s Algorithm.md" similarity index 100% rename from "docs/algorithms/Dijkstra\342\200\231s Algorithm.md" rename to "docs/extra/algorithms/Dijkstra\342\200\231s Algorithm.md" diff --git a/docs/algorithms/DutchNationalFlag-algorithm/DutchNationalFlag.md b/docs/extra/algorithms/DutchNationalFlag-algorithm/DutchNationalFlag.md similarity index 100% rename from docs/algorithms/DutchNationalFlag-algorithm/DutchNationalFlag.md rename to docs/extra/algorithms/DutchNationalFlag-algorithm/DutchNationalFlag.md diff --git a/docs/algorithms/DutchNationalFlag-algorithm/_category_.json b/docs/extra/algorithms/DutchNationalFlag-algorithm/_category_.json similarity index 100% rename from docs/algorithms/DutchNationalFlag-algorithm/_category_.json rename to docs/extra/algorithms/DutchNationalFlag-algorithm/_category_.json diff --git a/docs/algorithms/Encryption algorithms/Caesar Cipher.md b/docs/extra/algorithms/Encryption algorithms/Caesar Cipher.md similarity index 100% rename from docs/algorithms/Encryption algorithms/Caesar Cipher.md rename to docs/extra/algorithms/Encryption algorithms/Caesar Cipher.md diff --git a/docs/algorithms/Encryption algorithms/advanced_encryption_standard.md b/docs/extra/algorithms/Encryption algorithms/advanced_encryption_standard.md similarity index 100% rename from docs/algorithms/Encryption algorithms/advanced_encryption_standard.md rename to docs/extra/algorithms/Encryption algorithms/advanced_encryption_standard.md diff --git a/docs/algorithms/Encryption algorithms/asymmetric_encryption.md b/docs/extra/algorithms/Encryption algorithms/asymmetric_encryption.md similarity index 100% rename from docs/algorithms/Encryption algorithms/asymmetric_encryption.md rename to docs/extra/algorithms/Encryption algorithms/asymmetric_encryption.md diff --git a/docs/algorithms/Encryption algorithms/blockchain_encryption.md b/docs/extra/algorithms/Encryption algorithms/blockchain_encryption.md similarity index 100% rename from docs/algorithms/Encryption algorithms/blockchain_encryption.md rename to docs/extra/algorithms/Encryption algorithms/blockchain_encryption.md diff --git a/docs/algorithms/Encryption algorithms/elliptic_curve_cryptography.md b/docs/extra/algorithms/Encryption algorithms/elliptic_curve_cryptography.md similarity index 100% rename from docs/algorithms/Encryption algorithms/elliptic_curve_cryptography.md rename to docs/extra/algorithms/Encryption algorithms/elliptic_curve_cryptography.md diff --git a/docs/algorithms/Encryption algorithms/hashing.md b/docs/extra/algorithms/Encryption algorithms/hashing.md similarity index 100% rename from docs/algorithms/Encryption algorithms/hashing.md rename to docs/extra/algorithms/Encryption algorithms/hashing.md diff --git a/docs/algorithms/Encryption algorithms/homomorphic-encryption.md b/docs/extra/algorithms/Encryption algorithms/homomorphic-encryption.md similarity index 100% rename from docs/algorithms/Encryption algorithms/homomorphic-encryption.md rename to docs/extra/algorithms/Encryption algorithms/homomorphic-encryption.md diff --git a/docs/algorithms/Encryption algorithms/post-quantum-encryption.md b/docs/extra/algorithms/Encryption algorithms/post-quantum-encryption.md similarity index 100% rename from docs/algorithms/Encryption algorithms/post-quantum-encryption.md rename to docs/extra/algorithms/Encryption algorithms/post-quantum-encryption.md diff --git a/docs/algorithms/Encryption algorithms/steganography-algo.md b/docs/extra/algorithms/Encryption algorithms/steganography-algo.md similarity index 100% rename from docs/algorithms/Encryption algorithms/steganography-algo.md rename to docs/extra/algorithms/Encryption algorithms/steganography-algo.md diff --git a/docs/algorithms/Encryption algorithms/symmetric_encryption.md b/docs/extra/algorithms/Encryption algorithms/symmetric_encryption.md similarity index 100% rename from docs/algorithms/Encryption algorithms/symmetric_encryption.md rename to docs/extra/algorithms/Encryption algorithms/symmetric_encryption.md diff --git a/docs/algorithms/GAN-ML-Algorithm.md b/docs/extra/algorithms/GAN-ML-Algorithm.md similarity index 100% rename from docs/algorithms/GAN-ML-Algorithm.md rename to docs/extra/algorithms/GAN-ML-Algorithm.md diff --git a/docs/algorithms/Gale-Shapley-Algorithm/GaleShapley.md b/docs/extra/algorithms/Gale-Shapley-Algorithm/GaleShapley.md similarity index 100% rename from docs/algorithms/Gale-Shapley-Algorithm/GaleShapley.md rename to docs/extra/algorithms/Gale-Shapley-Algorithm/GaleShapley.md diff --git a/docs/algorithms/Hashing-algorithm.md b/docs/extra/algorithms/Hashing-algorithm.md similarity index 100% rename from docs/algorithms/Hashing-algorithm.md rename to docs/extra/algorithms/Hashing-algorithm.md diff --git a/docs/algorithms/Legendre's Algorithm/legendre-algo.md b/docs/extra/algorithms/Legendre's Algorithm/legendre-algo.md similarity index 100% rename from docs/algorithms/Legendre's Algorithm/legendre-algo.md rename to docs/extra/algorithms/Legendre's Algorithm/legendre-algo.md diff --git a/docs/algorithms/N-Queens-Dynamic-programming-algorithm.md b/docs/extra/algorithms/N-Queens-Dynamic-programming-algorithm.md similarity index 100% rename from docs/algorithms/N-Queens-Dynamic-programming-algorithm.md rename to docs/extra/algorithms/N-Queens-Dynamic-programming-algorithm.md diff --git a/docs/algorithms/RNN-ML-algorithm.md b/docs/extra/algorithms/RNN-ML-algorithm.md similarity index 100% rename from docs/algorithms/RNN-ML-algorithm.md rename to docs/extra/algorithms/RNN-ML-algorithm.md diff --git a/docs/algorithms/SMAWK Algorithm/SMAWK Algorithm.md b/docs/extra/algorithms/SMAWK Algorithm/SMAWK Algorithm.md similarity index 100% rename from docs/algorithms/SMAWK Algorithm/SMAWK Algorithm.md rename to docs/extra/algorithms/SMAWK Algorithm/SMAWK Algorithm.md diff --git a/docs/algorithms/Scheduling Algorithms/EarliestDeadlineFirst.md b/docs/extra/algorithms/Scheduling Algorithms/EarliestDeadlineFirst.md similarity index 100% rename from docs/algorithms/Scheduling Algorithms/EarliestDeadlineFirst.md rename to docs/extra/algorithms/Scheduling Algorithms/EarliestDeadlineFirst.md diff --git a/docs/algorithms/Scheduling Algorithms/FirstComeFirstServed.md b/docs/extra/algorithms/Scheduling Algorithms/FirstComeFirstServed.md similarity index 100% rename from docs/algorithms/Scheduling Algorithms/FirstComeFirstServed.md rename to docs/extra/algorithms/Scheduling Algorithms/FirstComeFirstServed.md diff --git a/docs/algorithms/Scheduling Algorithms/LeastRecentlyUsed.md b/docs/extra/algorithms/Scheduling Algorithms/LeastRecentlyUsed.md similarity index 100% rename from docs/algorithms/Scheduling Algorithms/LeastRecentlyUsed.md rename to docs/extra/algorithms/Scheduling Algorithms/LeastRecentlyUsed.md diff --git a/docs/algorithms/Scheduling Algorithms/PriorityScheduling.md b/docs/extra/algorithms/Scheduling Algorithms/PriorityScheduling.md similarity index 100% rename from docs/algorithms/Scheduling Algorithms/PriorityScheduling.md rename to docs/extra/algorithms/Scheduling Algorithms/PriorityScheduling.md diff --git a/docs/algorithms/Scheduling Algorithms/RoundRobin.md b/docs/extra/algorithms/Scheduling Algorithms/RoundRobin.md similarity index 100% rename from docs/algorithms/Scheduling Algorithms/RoundRobin.md rename to docs/extra/algorithms/Scheduling Algorithms/RoundRobin.md diff --git a/docs/algorithms/Scheduling Algorithms/ShortestJobRemainingFirst.md b/docs/extra/algorithms/Scheduling Algorithms/ShortestJobRemainingFirst.md similarity index 100% rename from docs/algorithms/Scheduling Algorithms/ShortestJobRemainingFirst.md rename to docs/extra/algorithms/Scheduling Algorithms/ShortestJobRemainingFirst.md diff --git a/docs/algorithms/Scheduling Algorithms/SweepLine.md b/docs/extra/algorithms/Scheduling Algorithms/SweepLine.md similarity index 100% rename from docs/algorithms/Scheduling Algorithms/SweepLine.md rename to docs/extra/algorithms/Scheduling Algorithms/SweepLine.md diff --git a/docs/algorithms/Scheduling Algorithms/_category_.json b/docs/extra/algorithms/Scheduling Algorithms/_category_.json similarity index 100% rename from docs/algorithms/Scheduling Algorithms/_category_.json rename to docs/extra/algorithms/Scheduling Algorithms/_category_.json diff --git a/docs/algorithms/Scheduling Algorithms/least-recently-used.md b/docs/extra/algorithms/Scheduling Algorithms/least-recently-used.md similarity index 100% rename from docs/algorithms/Scheduling Algorithms/least-recently-used.md rename to docs/extra/algorithms/Scheduling Algorithms/least-recently-used.md diff --git a/docs/algorithms/Scheduling Algorithms/multilevel-queue-scheduling.md b/docs/extra/algorithms/Scheduling Algorithms/multilevel-queue-scheduling.md similarity index 100% rename from docs/algorithms/Scheduling Algorithms/multilevel-queue-scheduling.md rename to docs/extra/algorithms/Scheduling Algorithms/multilevel-queue-scheduling.md diff --git a/docs/algorithms/Scheduling Algorithms/priority-scheduling.md b/docs/extra/algorithms/Scheduling Algorithms/priority-scheduling.md similarity index 100% rename from docs/algorithms/Scheduling Algorithms/priority-scheduling.md rename to docs/extra/algorithms/Scheduling Algorithms/priority-scheduling.md diff --git a/docs/algorithms/Searching Algorithms/A-Search.md b/docs/extra/algorithms/Searching Algorithms/A-Search.md similarity index 100% rename from docs/algorithms/Searching Algorithms/A-Search.md rename to docs/extra/algorithms/Searching Algorithms/A-Search.md diff --git a/docs/algorithms/Searching Algorithms/AO-Search.md b/docs/extra/algorithms/Searching Algorithms/AO-Search.md similarity index 100% rename from docs/algorithms/Searching Algorithms/AO-Search.md rename to docs/extra/algorithms/Searching Algorithms/AO-Search.md diff --git a/docs/algorithms/Searching Algorithms/Best-First-Search.md b/docs/extra/algorithms/Searching Algorithms/Best-First-Search.md similarity index 100% rename from docs/algorithms/Searching Algorithms/Best-First-Search.md rename to docs/extra/algorithms/Searching Algorithms/Best-First-Search.md diff --git a/docs/algorithms/Searching Algorithms/BinarySearch.md b/docs/extra/algorithms/Searching Algorithms/BinarySearch.md similarity index 100% rename from docs/algorithms/Searching Algorithms/BinarySearch.md rename to docs/extra/algorithms/Searching Algorithms/BinarySearch.md diff --git a/docs/algorithms/Searching Algorithms/Boyer-Moore-Search.md b/docs/extra/algorithms/Searching Algorithms/Boyer-Moore-Search.md similarity index 100% rename from docs/algorithms/Searching Algorithms/Boyer-Moore-Search.md rename to docs/extra/algorithms/Searching Algorithms/Boyer-Moore-Search.md diff --git a/docs/algorithms/Searching Algorithms/Breadth-First-Search-(BFS)-Algo.md b/docs/extra/algorithms/Searching Algorithms/Breadth-First-Search-(BFS)-Algo.md similarity index 100% rename from docs/algorithms/Searching Algorithms/Breadth-First-Search-(BFS)-Algo.md rename to docs/extra/algorithms/Searching Algorithms/Breadth-First-Search-(BFS)-Algo.md diff --git a/docs/algorithms/Searching Algorithms/ComparisonSearch.md b/docs/extra/algorithms/Searching Algorithms/ComparisonSearch.md similarity index 100% rename from docs/algorithms/Searching Algorithms/ComparisonSearch.md rename to docs/extra/algorithms/Searching Algorithms/ComparisonSearch.md diff --git a/docs/algorithms/Searching Algorithms/Depth-First-Search-(DFS)-Algo.md b/docs/extra/algorithms/Searching Algorithms/Depth-First-Search-(DFS)-Algo.md similarity index 100% rename from docs/algorithms/Searching Algorithms/Depth-First-Search-(DFS)-Algo.md rename to docs/extra/algorithms/Searching Algorithms/Depth-First-Search-(DFS)-Algo.md diff --git a/docs/algorithms/Searching Algorithms/DigitalSearch.md b/docs/extra/algorithms/Searching Algorithms/DigitalSearch.md similarity index 100% rename from docs/algorithms/Searching Algorithms/DigitalSearch.md rename to docs/extra/algorithms/Searching Algorithms/DigitalSearch.md diff --git a/docs/algorithms/Searching Algorithms/ExponentialSerach.md b/docs/extra/algorithms/Searching Algorithms/ExponentialSerach.md similarity index 100% rename from docs/algorithms/Searching Algorithms/ExponentialSerach.md rename to docs/extra/algorithms/Searching Algorithms/ExponentialSerach.md diff --git a/docs/algorithms/Searching Algorithms/FibbonaciSearch.md b/docs/extra/algorithms/Searching Algorithms/FibbonaciSearch.md similarity index 100% rename from docs/algorithms/Searching Algorithms/FibbonaciSearch.md rename to docs/extra/algorithms/Searching Algorithms/FibbonaciSearch.md diff --git a/docs/algorithms/Searching Algorithms/HashingSearch.md b/docs/extra/algorithms/Searching Algorithms/HashingSearch.md similarity index 100% rename from docs/algorithms/Searching Algorithms/HashingSearch.md rename to docs/extra/algorithms/Searching Algorithms/HashingSearch.md diff --git a/docs/algorithms/Searching Algorithms/Interpolation-search-algorithm.md b/docs/extra/algorithms/Searching Algorithms/Interpolation-search-algorithm.md similarity index 100% rename from docs/algorithms/Searching Algorithms/Interpolation-search-algorithm.md rename to docs/extra/algorithms/Searching Algorithms/Interpolation-search-algorithm.md diff --git a/docs/algorithms/Searching Algorithms/InterpolationSearch.md b/docs/extra/algorithms/Searching Algorithms/InterpolationSearch.md similarity index 100% rename from docs/algorithms/Searching Algorithms/InterpolationSearch.md rename to docs/extra/algorithms/Searching Algorithms/InterpolationSearch.md diff --git a/docs/algorithms/Searching Algorithms/JumpSearch.md b/docs/extra/algorithms/Searching Algorithms/JumpSearch.md similarity index 100% rename from docs/algorithms/Searching Algorithms/JumpSearch.md rename to docs/extra/algorithms/Searching Algorithms/JumpSearch.md diff --git a/docs/algorithms/Searching Algorithms/LinearSearch.md b/docs/extra/algorithms/Searching Algorithms/LinearSearch.md similarity index 100% rename from docs/algorithms/Searching Algorithms/LinearSearch.md rename to docs/extra/algorithms/Searching Algorithms/LinearSearch.md diff --git a/docs/algorithms/Searching Algorithms/Meta-binary-search.md b/docs/extra/algorithms/Searching Algorithms/Meta-binary-search.md similarity index 100% rename from docs/algorithms/Searching Algorithms/Meta-binary-search.md rename to docs/extra/algorithms/Searching Algorithms/Meta-binary-search.md diff --git a/docs/algorithms/Searching Algorithms/PrioritySearch.md b/docs/extra/algorithms/Searching Algorithms/PrioritySearch.md similarity index 100% rename from docs/algorithms/Searching Algorithms/PrioritySearch.md rename to docs/extra/algorithms/Searching Algorithms/PrioritySearch.md diff --git a/docs/algorithms/Searching Algorithms/Rabin-Karp-Algorithm.md b/docs/extra/algorithms/Searching Algorithms/Rabin-Karp-Algorithm.md similarity index 100% rename from docs/algorithms/Searching Algorithms/Rabin-Karp-Algorithm.md rename to docs/extra/algorithms/Searching Algorithms/Rabin-Karp-Algorithm.md diff --git a/docs/algorithms/Searching Algorithms/SentinelSearch.md b/docs/extra/algorithms/Searching Algorithms/SentinelSearch.md similarity index 100% rename from docs/algorithms/Searching Algorithms/SentinelSearch.md rename to docs/extra/algorithms/Searching Algorithms/SentinelSearch.md diff --git a/docs/algorithms/Searching Algorithms/Sublist-Search.md b/docs/extra/algorithms/Searching Algorithms/Sublist-Search.md similarity index 100% rename from docs/algorithms/Searching Algorithms/Sublist-Search.md rename to docs/extra/algorithms/Searching Algorithms/Sublist-Search.md diff --git a/docs/algorithms/Searching Algorithms/TernarySearch.md b/docs/extra/algorithms/Searching Algorithms/TernarySearch.md similarity index 100% rename from docs/algorithms/Searching Algorithms/TernarySearch.md rename to docs/extra/algorithms/Searching Algorithms/TernarySearch.md diff --git a/docs/algorithms/Searching Algorithms/Uniform-Cost-Search.md b/docs/extra/algorithms/Searching Algorithms/Uniform-Cost-Search.md similarity index 100% rename from docs/algorithms/Searching Algorithms/Uniform-Cost-Search.md rename to docs/extra/algorithms/Searching Algorithms/Uniform-Cost-Search.md diff --git a/docs/algorithms/Two-Pointers/IntroductionToTwoPointers.png b/docs/extra/algorithms/Two-Pointers/IntroductionToTwoPointers.png similarity index 100% rename from docs/algorithms/Two-Pointers/IntroductionToTwoPointers.png rename to docs/extra/algorithms/Two-Pointers/IntroductionToTwoPointers.png diff --git a/docs/algorithms/Two-Pointers/Max_Distance.md b/docs/extra/algorithms/Two-Pointers/Max_Distance.md similarity index 100% rename from docs/algorithms/Two-Pointers/Max_Distance.md rename to docs/extra/algorithms/Two-Pointers/Max_Distance.md diff --git a/docs/algorithms/Two-Pointers/Problem-Practice.md b/docs/extra/algorithms/Two-Pointers/Problem-Practice.md similarity index 100% rename from docs/algorithms/Two-Pointers/Problem-Practice.md rename to docs/extra/algorithms/Two-Pointers/Problem-Practice.md diff --git a/docs/algorithms/Two-Pointers/_category_.json b/docs/extra/algorithms/Two-Pointers/_category_.json similarity index 100% rename from docs/algorithms/Two-Pointers/_category_.json rename to docs/extra/algorithms/Two-Pointers/_category_.json diff --git a/docs/algorithms/Two-Pointers/imp-of-two-pointers.md b/docs/extra/algorithms/Two-Pointers/imp-of-two-pointers.md similarity index 100% rename from docs/algorithms/Two-Pointers/imp-of-two-pointers.md rename to docs/extra/algorithms/Two-Pointers/imp-of-two-pointers.md diff --git a/docs/algorithms/Two-Pointers/introduction-to-two-pointers.md b/docs/extra/algorithms/Two-Pointers/introduction-to-two-pointers.md similarity index 100% rename from docs/algorithms/Two-Pointers/introduction-to-two-pointers.md rename to docs/extra/algorithms/Two-Pointers/introduction-to-two-pointers.md diff --git a/docs/algorithms/Yolo-Object-detection-ML-Algorithm.md b/docs/extra/algorithms/Yolo-Object-detection-ML-Algorithm.md similarity index 100% rename from docs/algorithms/Yolo-Object-detection-ML-Algorithm.md rename to docs/extra/algorithms/Yolo-Object-detection-ML-Algorithm.md diff --git a/docs/algorithms/_category_.json b/docs/extra/algorithms/_category_.json similarity index 100% rename from docs/algorithms/_category_.json rename to docs/extra/algorithms/_category_.json diff --git a/docs/algorithms/backtracking-algorithms/Bron-Kerbosch-Algorithm.md b/docs/extra/algorithms/backtracking-algorithms/Bron-Kerbosch-Algorithm.md similarity index 100% rename from docs/algorithms/backtracking-algorithms/Bron-Kerbosch-Algorithm.md rename to docs/extra/algorithms/backtracking-algorithms/Bron-Kerbosch-Algorithm.md diff --git a/docs/algorithms/backtracking-algorithms/N-QueensProblem.md b/docs/extra/algorithms/backtracking-algorithms/N-QueensProblem.md similarity index 100% rename from docs/algorithms/backtracking-algorithms/N-QueensProblem.md rename to docs/extra/algorithms/backtracking-algorithms/N-QueensProblem.md diff --git a/docs/algorithms/backtracking-algorithms/_category_.json b/docs/extra/algorithms/backtracking-algorithms/_category_.json similarity index 100% rename from docs/algorithms/backtracking-algorithms/_category_.json rename to docs/extra/algorithms/backtracking-algorithms/_category_.json diff --git a/docs/algorithms/backtracking-algorithms/backtracking-questions.md b/docs/extra/algorithms/backtracking-algorithms/backtracking-questions.md similarity index 100% rename from docs/algorithms/backtracking-algorithms/backtracking-questions.md rename to docs/extra/algorithms/backtracking-algorithms/backtracking-questions.md diff --git a/docs/algorithms/backtracking-algorithms/hamilton-path-cyle.md b/docs/extra/algorithms/backtracking-algorithms/hamilton-path-cyle.md similarity index 100% rename from docs/algorithms/backtracking-algorithms/hamilton-path-cyle.md rename to docs/extra/algorithms/backtracking-algorithms/hamilton-path-cyle.md diff --git a/docs/algorithms/backtracking-algorithms/imp-of-backtracking.md b/docs/extra/algorithms/backtracking-algorithms/imp-of-backtracking.md similarity index 100% rename from docs/algorithms/backtracking-algorithms/imp-of-backtracking.md rename to docs/extra/algorithms/backtracking-algorithms/imp-of-backtracking.md diff --git a/docs/algorithms/backtracking-algorithms/m-coloring.md b/docs/extra/algorithms/backtracking-algorithms/m-coloring.md similarity index 100% rename from docs/algorithms/backtracking-algorithms/m-coloring.md rename to docs/extra/algorithms/backtracking-algorithms/m-coloring.md diff --git a/docs/algorithms/backtracking-algorithms/n-queens_algorithm.md b/docs/extra/algorithms/backtracking-algorithms/n-queens_algorithm.md similarity index 100% rename from docs/algorithms/backtracking-algorithms/n-queens_algorithm.md rename to docs/extra/algorithms/backtracking-algorithms/n-queens_algorithm.md diff --git a/docs/algorithms/backtracking-algorithms/what-is-backtracking.md b/docs/extra/algorithms/backtracking-algorithms/what-is-backtracking.md similarity index 100% rename from docs/algorithms/backtracking-algorithms/what-is-backtracking.md rename to docs/extra/algorithms/backtracking-algorithms/what-is-backtracking.md diff --git a/docs/algorithms/greedy-algorithms/Fractional_Knapsack.md b/docs/extra/algorithms/greedy-algorithms/Fractional_Knapsack.md similarity index 100% rename from docs/algorithms/greedy-algorithms/Fractional_Knapsack.md rename to docs/extra/algorithms/greedy-algorithms/Fractional_Knapsack.md diff --git a/docs/algorithms/greedy-algorithms/Huffman-coding.md b/docs/extra/algorithms/greedy-algorithms/Huffman-coding.md similarity index 100% rename from docs/algorithms/greedy-algorithms/Huffman-coding.md rename to docs/extra/algorithms/greedy-algorithms/Huffman-coding.md diff --git a/docs/algorithms/greedy-algorithms/Job-sequencing-problem.md b/docs/extra/algorithms/greedy-algorithms/Job-sequencing-problem.md similarity index 100% rename from docs/algorithms/greedy-algorithms/Job-sequencing-problem.md rename to docs/extra/algorithms/greedy-algorithms/Job-sequencing-problem.md diff --git "a/docs/algorithms/greedy-algorithms/Prim\342\200\231s-Minimum-Spanning-Tree.md" "b/docs/extra/algorithms/greedy-algorithms/Prim\342\200\231s-Minimum-Spanning-Tree.md" similarity index 100% rename from "docs/algorithms/greedy-algorithms/Prim\342\200\231s-Minimum-Spanning-Tree.md" rename to "docs/extra/algorithms/greedy-algorithms/Prim\342\200\231s-Minimum-Spanning-Tree.md" diff --git a/docs/algorithms/greedy-algorithms/Problem-Practice.md b/docs/extra/algorithms/greedy-algorithms/Problem-Practice.md similarity index 100% rename from docs/algorithms/greedy-algorithms/Problem-Practice.md rename to docs/extra/algorithms/greedy-algorithms/Problem-Practice.md diff --git a/docs/algorithms/greedy-algorithms/_category_.json b/docs/extra/algorithms/greedy-algorithms/_category_.json similarity index 100% rename from docs/algorithms/greedy-algorithms/_category_.json rename to docs/extra/algorithms/greedy-algorithms/_category_.json diff --git a/docs/algorithms/greedy-algorithms/activity-selection.md b/docs/extra/algorithms/greedy-algorithms/activity-selection.md similarity index 100% rename from docs/algorithms/greedy-algorithms/activity-selection.md rename to docs/extra/algorithms/greedy-algorithms/activity-selection.md diff --git a/docs/algorithms/greedy-algorithms/commonly-asked-greedy-questions.md b/docs/extra/algorithms/greedy-algorithms/commonly-asked-greedy-questions.md similarity index 100% rename from docs/algorithms/greedy-algorithms/commonly-asked-greedy-questions.md rename to docs/extra/algorithms/greedy-algorithms/commonly-asked-greedy-questions.md diff --git a/docs/algorithms/greedy-algorithms/fractional-knapsack.md b/docs/extra/algorithms/greedy-algorithms/fractional-knapsack.md similarity index 100% rename from docs/algorithms/greedy-algorithms/fractional-knapsack.md rename to docs/extra/algorithms/greedy-algorithms/fractional-knapsack.md diff --git a/docs/algorithms/greedy-algorithms/greedy-theory.md b/docs/extra/algorithms/greedy-algorithms/greedy-theory.md similarity index 100% rename from docs/algorithms/greedy-algorithms/greedy-theory.md rename to docs/extra/algorithms/greedy-algorithms/greedy-theory.md diff --git a/docs/algorithms/kadane-algorithm/_category_.json b/docs/extra/algorithms/kadane-algorithm/_category_.json similarity index 100% rename from docs/algorithms/kadane-algorithm/_category_.json rename to docs/extra/algorithms/kadane-algorithm/_category_.json diff --git a/docs/algorithms/kadane-algorithm/kadane-algo.md b/docs/extra/algorithms/kadane-algorithm/kadane-algo.md similarity index 100% rename from docs/algorithms/kadane-algorithm/kadane-algo.md rename to docs/extra/algorithms/kadane-algorithm/kadane-algo.md diff --git a/docs/algorithms/mathematics-algorithms/_category_.json b/docs/extra/algorithms/mathematics-algorithms/_category_.json similarity index 100% rename from docs/algorithms/mathematics-algorithms/_category_.json rename to docs/extra/algorithms/mathematics-algorithms/_category_.json diff --git a/docs/algorithms/mathematics-algorithms/discrete-logarithm.md b/docs/extra/algorithms/mathematics-algorithms/discrete-logarithm.md similarity index 100% rename from docs/algorithms/mathematics-algorithms/discrete-logarithm.md rename to docs/extra/algorithms/mathematics-algorithms/discrete-logarithm.md diff --git a/docs/algorithms/mathematics-algorithms/euclidean-algorithm.md b/docs/extra/algorithms/mathematics-algorithms/euclidean-algorithm.md similarity index 100% rename from docs/algorithms/mathematics-algorithms/euclidean-algorithm.md rename to docs/extra/algorithms/mathematics-algorithms/euclidean-algorithm.md diff --git a/docs/algorithms/mathematics-algorithms/fermat-little-theorem.md b/docs/extra/algorithms/mathematics-algorithms/fermat-little-theorem.md similarity index 100% rename from docs/algorithms/mathematics-algorithms/fermat-little-theorem.md rename to docs/extra/algorithms/mathematics-algorithms/fermat-little-theorem.md diff --git a/docs/algorithms/mathematics-algorithms/gcd-lcm.md b/docs/extra/algorithms/mathematics-algorithms/gcd-lcm.md similarity index 100% rename from docs/algorithms/mathematics-algorithms/gcd-lcm.md rename to docs/extra/algorithms/mathematics-algorithms/gcd-lcm.md diff --git a/docs/algorithms/mathematics-algorithms/imp-of-mathematics.md b/docs/extra/algorithms/mathematics-algorithms/imp-of-mathematics.md similarity index 100% rename from docs/algorithms/mathematics-algorithms/imp-of-mathematics.md rename to docs/extra/algorithms/mathematics-algorithms/imp-of-mathematics.md diff --git a/docs/algorithms/mathematics-algorithms/modular-arithmetic.md b/docs/extra/algorithms/mathematics-algorithms/modular-arithmetic.md similarity index 100% rename from docs/algorithms/mathematics-algorithms/modular-arithmetic.md rename to docs/extra/algorithms/mathematics-algorithms/modular-arithmetic.md diff --git a/docs/algorithms/mathematics-algorithms/sieve-of-eratosthenes.md b/docs/extra/algorithms/mathematics-algorithms/sieve-of-eratosthenes.md similarity index 100% rename from docs/algorithms/mathematics-algorithms/sieve-of-eratosthenes.md rename to docs/extra/algorithms/mathematics-algorithms/sieve-of-eratosthenes.md diff --git a/docs/algorithms/mathematics-algorithms/sweep-line-algorithm.md b/docs/extra/algorithms/mathematics-algorithms/sweep-line-algorithm.md similarity index 100% rename from docs/algorithms/mathematics-algorithms/sweep-line-algorithm.md rename to docs/extra/algorithms/mathematics-algorithms/sweep-line-algorithm.md diff --git a/docs/algorithms/mathematics-algorithms/what-is-mathematical-algorithms.md b/docs/extra/algorithms/mathematics-algorithms/what-is-mathematical-algorithms.md similarity index 100% rename from docs/algorithms/mathematics-algorithms/what-is-mathematical-algorithms.md rename to docs/extra/algorithms/mathematics-algorithms/what-is-mathematical-algorithms.md diff --git a/docs/algorithms/memoisation-algorithms/_category_.json b/docs/extra/algorithms/memoisation-algorithms/_category_.json similarity index 100% rename from docs/algorithms/memoisation-algorithms/_category_.json rename to docs/extra/algorithms/memoisation-algorithms/_category_.json diff --git a/docs/algorithms/memoisation-algorithms/imp-of-memoisation.md b/docs/extra/algorithms/memoisation-algorithms/imp-of-memoisation.md similarity index 100% rename from docs/algorithms/memoisation-algorithms/imp-of-memoisation.md rename to docs/extra/algorithms/memoisation-algorithms/imp-of-memoisation.md diff --git a/docs/algorithms/memoisation-algorithms/what-is-memoisation.md b/docs/extra/algorithms/memoisation-algorithms/what-is-memoisation.md similarity index 100% rename from docs/algorithms/memoisation-algorithms/what-is-memoisation.md rename to docs/extra/algorithms/memoisation-algorithms/what-is-memoisation.md diff --git a/docs/algorithms/modular-exponentiation-algorithm.md b/docs/extra/algorithms/modular-exponentiation-algorithm.md similarity index 100% rename from docs/algorithms/modular-exponentiation-algorithm.md rename to docs/extra/algorithms/modular-exponentiation-algorithm.md diff --git a/docs/algorithms/moores-voting-algorithm/moore-voting-algo.md b/docs/extra/algorithms/moores-voting-algorithm/moore-voting-algo.md similarity index 100% rename from docs/algorithms/moores-voting-algorithm/moore-voting-algo.md rename to docs/extra/algorithms/moores-voting-algorithm/moore-voting-algo.md diff --git a/docs/algorithms/recursive-algorithms/DirectRecursion.md b/docs/extra/algorithms/recursive-algorithms/DirectRecursion.md similarity index 100% rename from docs/algorithms/recursive-algorithms/DirectRecursion.md rename to docs/extra/algorithms/recursive-algorithms/DirectRecursion.md diff --git a/docs/algorithms/recursive-algorithms/IndirectRecursion.md b/docs/extra/algorithms/recursive-algorithms/IndirectRecursion.md similarity index 100% rename from docs/algorithms/recursive-algorithms/IndirectRecursion.md rename to docs/extra/algorithms/recursive-algorithms/IndirectRecursion.md diff --git a/docs/algorithms/recursive-algorithms/_category_.json b/docs/extra/algorithms/recursive-algorithms/_category_.json similarity index 100% rename from docs/algorithms/recursive-algorithms/_category_.json rename to docs/extra/algorithms/recursive-algorithms/_category_.json diff --git a/docs/algorithms/recursive-algorithms/mutual-recursion.md b/docs/extra/algorithms/recursive-algorithms/mutual-recursion.md similarity index 100% rename from docs/algorithms/recursive-algorithms/mutual-recursion.md rename to docs/extra/algorithms/recursive-algorithms/mutual-recursion.md diff --git a/docs/algorithms/recursive-algorithms/non-tail-recursion.md b/docs/extra/algorithms/recursive-algorithms/non-tail-recursion.md similarity index 100% rename from docs/algorithms/recursive-algorithms/non-tail-recursion.md rename to docs/extra/algorithms/recursive-algorithms/non-tail-recursion.md diff --git a/docs/algorithms/recursive-algorithms/tail-recursion.md b/docs/extra/algorithms/recursive-algorithms/tail-recursion.md similarity index 100% rename from docs/algorithms/recursive-algorithms/tail-recursion.md rename to docs/extra/algorithms/recursive-algorithms/tail-recursion.md diff --git a/docs/algorithms/recursive-algorithms/tree-recursion.md b/docs/extra/algorithms/recursive-algorithms/tree-recursion.md similarity index 100% rename from docs/algorithms/recursive-algorithms/tree-recursion.md rename to docs/extra/algorithms/recursive-algorithms/tree-recursion.md diff --git a/docs/algorithms/sorting-algorithms/BitonicSort.md b/docs/extra/algorithms/sorting-algorithms/BitonicSort.md similarity index 100% rename from docs/algorithms/sorting-algorithms/BitonicSort.md rename to docs/extra/algorithms/sorting-algorithms/BitonicSort.md diff --git a/docs/algorithms/sorting-algorithms/BogoSort.md b/docs/extra/algorithms/sorting-algorithms/BogoSort.md similarity index 100% rename from docs/algorithms/sorting-algorithms/BogoSort.md rename to docs/extra/algorithms/sorting-algorithms/BogoSort.md diff --git a/docs/algorithms/sorting-algorithms/BubbleSort.md b/docs/extra/algorithms/sorting-algorithms/BubbleSort.md similarity index 100% rename from docs/algorithms/sorting-algorithms/BubbleSort.md rename to docs/extra/algorithms/sorting-algorithms/BubbleSort.md diff --git a/docs/algorithms/sorting-algorithms/BucketSort.md b/docs/extra/algorithms/sorting-algorithms/BucketSort.md similarity index 100% rename from docs/algorithms/sorting-algorithms/BucketSort.md rename to docs/extra/algorithms/sorting-algorithms/BucketSort.md diff --git a/docs/algorithms/sorting-algorithms/CocktailShakerSort.md b/docs/extra/algorithms/sorting-algorithms/CocktailShakerSort.md similarity index 100% rename from docs/algorithms/sorting-algorithms/CocktailShakerSort.md rename to docs/extra/algorithms/sorting-algorithms/CocktailShakerSort.md diff --git a/docs/algorithms/sorting-algorithms/CombSort.md b/docs/extra/algorithms/sorting-algorithms/CombSort.md similarity index 100% rename from docs/algorithms/sorting-algorithms/CombSort.md rename to docs/extra/algorithms/sorting-algorithms/CombSort.md diff --git a/docs/algorithms/sorting-algorithms/CountingSort.md b/docs/extra/algorithms/sorting-algorithms/CountingSort.md similarity index 100% rename from docs/algorithms/sorting-algorithms/CountingSort.md rename to docs/extra/algorithms/sorting-algorithms/CountingSort.md diff --git a/docs/algorithms/sorting-algorithms/CycleSort.md b/docs/extra/algorithms/sorting-algorithms/CycleSort.md similarity index 100% rename from docs/algorithms/sorting-algorithms/CycleSort.md rename to docs/extra/algorithms/sorting-algorithms/CycleSort.md diff --git a/docs/algorithms/sorting-algorithms/Dutch-flag-algo.md b/docs/extra/algorithms/sorting-algorithms/Dutch-flag-algo.md similarity index 100% rename from docs/algorithms/sorting-algorithms/Dutch-flag-algo.md rename to docs/extra/algorithms/sorting-algorithms/Dutch-flag-algo.md diff --git a/docs/algorithms/sorting-algorithms/GnomeSort.md b/docs/extra/algorithms/sorting-algorithms/GnomeSort.md similarity index 100% rename from docs/algorithms/sorting-algorithms/GnomeSort.md rename to docs/extra/algorithms/sorting-algorithms/GnomeSort.md diff --git a/docs/algorithms/sorting-algorithms/HeapSort.md b/docs/extra/algorithms/sorting-algorithms/HeapSort.md similarity index 100% rename from docs/algorithms/sorting-algorithms/HeapSort.md rename to docs/extra/algorithms/sorting-algorithms/HeapSort.md diff --git a/docs/algorithms/sorting-algorithms/InsertionSort.md b/docs/extra/algorithms/sorting-algorithms/InsertionSort.md similarity index 100% rename from docs/algorithms/sorting-algorithms/InsertionSort.md rename to docs/extra/algorithms/sorting-algorithms/InsertionSort.md diff --git a/docs/algorithms/sorting-algorithms/JumpSort.md b/docs/extra/algorithms/sorting-algorithms/JumpSort.md similarity index 100% rename from docs/algorithms/sorting-algorithms/JumpSort.md rename to docs/extra/algorithms/sorting-algorithms/JumpSort.md diff --git a/docs/algorithms/sorting-algorithms/MergeSort.md b/docs/extra/algorithms/sorting-algorithms/MergeSort.md similarity index 100% rename from docs/algorithms/sorting-algorithms/MergeSort.md rename to docs/extra/algorithms/sorting-algorithms/MergeSort.md diff --git a/docs/algorithms/sorting-algorithms/Odd-Even-Sort.md b/docs/extra/algorithms/sorting-algorithms/Odd-Even-Sort.md similarity index 100% rename from docs/algorithms/sorting-algorithms/Odd-Even-Sort.md rename to docs/extra/algorithms/sorting-algorithms/Odd-Even-Sort.md diff --git a/docs/algorithms/sorting-algorithms/OddEvenSort.md b/docs/extra/algorithms/sorting-algorithms/OddEvenSort.md similarity index 100% rename from docs/algorithms/sorting-algorithms/OddEvenSort.md rename to docs/extra/algorithms/sorting-algorithms/OddEvenSort.md diff --git a/docs/algorithms/sorting-algorithms/Pancake-sorting-algorithm.md b/docs/extra/algorithms/sorting-algorithms/Pancake-sorting-algorithm.md similarity index 100% rename from docs/algorithms/sorting-algorithms/Pancake-sorting-algorithm.md rename to docs/extra/algorithms/sorting-algorithms/Pancake-sorting-algorithm.md diff --git a/docs/algorithms/sorting-algorithms/Pigeonhole.md b/docs/extra/algorithms/sorting-algorithms/Pigeonhole.md similarity index 100% rename from docs/algorithms/sorting-algorithms/Pigeonhole.md rename to docs/extra/algorithms/sorting-algorithms/Pigeonhole.md diff --git a/docs/algorithms/sorting-algorithms/QuickSort.md b/docs/extra/algorithms/sorting-algorithms/QuickSort.md similarity index 100% rename from docs/algorithms/sorting-algorithms/QuickSort.md rename to docs/extra/algorithms/sorting-algorithms/QuickSort.md diff --git a/docs/algorithms/sorting-algorithms/RadixSort.md b/docs/extra/algorithms/sorting-algorithms/RadixSort.md similarity index 100% rename from docs/algorithms/sorting-algorithms/RadixSort.md rename to docs/extra/algorithms/sorting-algorithms/RadixSort.md diff --git a/docs/algorithms/sorting-algorithms/SelectionSort.md b/docs/extra/algorithms/sorting-algorithms/SelectionSort.md similarity index 100% rename from docs/algorithms/sorting-algorithms/SelectionSort.md rename to docs/extra/algorithms/sorting-algorithms/SelectionSort.md diff --git a/docs/algorithms/sorting-algorithms/ShellSort.md b/docs/extra/algorithms/sorting-algorithms/ShellSort.md similarity index 100% rename from docs/algorithms/sorting-algorithms/ShellSort.md rename to docs/extra/algorithms/sorting-algorithms/ShellSort.md diff --git a/docs/algorithms/sorting-algorithms/StoogeSort.md b/docs/extra/algorithms/sorting-algorithms/StoogeSort.md similarity index 100% rename from docs/algorithms/sorting-algorithms/StoogeSort.md rename to docs/extra/algorithms/sorting-algorithms/StoogeSort.md diff --git a/docs/algorithms/sorting-algorithms/TimSort.md b/docs/extra/algorithms/sorting-algorithms/TimSort.md similarity index 100% rename from docs/algorithms/sorting-algorithms/TimSort.md rename to docs/extra/algorithms/sorting-algorithms/TimSort.md diff --git a/docs/algorithms/sorting-algorithms/Topological-sorting-algorithm.md b/docs/extra/algorithms/sorting-algorithms/Topological-sorting-algorithm.md similarity index 100% rename from docs/algorithms/sorting-algorithms/Topological-sorting-algorithm.md rename to docs/extra/algorithms/sorting-algorithms/Topological-sorting-algorithm.md diff --git a/docs/algorithms/sorting-algorithms/TreeSort.md b/docs/extra/algorithms/sorting-algorithms/TreeSort.md similarity index 100% rename from docs/algorithms/sorting-algorithms/TreeSort.md rename to docs/extra/algorithms/sorting-algorithms/TreeSort.md diff --git a/docs/algorithms/sorting-algorithms/_category_.json b/docs/extra/algorithms/sorting-algorithms/_category_.json similarity index 100% rename from docs/algorithms/sorting-algorithms/_category_.json rename to docs/extra/algorithms/sorting-algorithms/_category_.json diff --git a/docs/algorithms/sorting-algorithms/odd-even-sorting.md b/docs/extra/algorithms/sorting-algorithms/odd-even-sorting.md similarity index 100% rename from docs/algorithms/sorting-algorithms/odd-even-sorting.md rename to docs/extra/algorithms/sorting-algorithms/odd-even-sorting.md diff --git a/docs/algorithms/sorting-algorithms/parity-partition-sort.md b/docs/extra/algorithms/sorting-algorithms/parity-partition-sort.md similarity index 100% rename from docs/algorithms/sorting-algorithms/parity-partition-sort.md rename to docs/extra/algorithms/sorting-algorithms/parity-partition-sort.md diff --git a/docs/algorithms/sorting-algorithms/strand-sort.md b/docs/extra/algorithms/sorting-algorithms/strand-sort.md similarity index 100% rename from docs/algorithms/sorting-algorithms/strand-sort.md rename to docs/extra/algorithms/sorting-algorithms/strand-sort.md diff --git a/docs/algorithms/string-algorithms/Naive-String-Matching-Algorithm.md b/docs/extra/algorithms/string-algorithms/Naive-String-Matching-Algorithm.md similarity index 100% rename from docs/algorithms/string-algorithms/Naive-String-Matching-Algorithm.md rename to docs/extra/algorithms/string-algorithms/Naive-String-Matching-Algorithm.md diff --git a/docs/algorithms/string-algorithms/Naive-search.md b/docs/extra/algorithms/string-algorithms/Naive-search.md similarity index 100% rename from docs/algorithms/string-algorithms/Naive-search.md rename to docs/extra/algorithms/string-algorithms/Naive-search.md diff --git a/docs/algorithms/string-algorithms/Suffix-Tree-Algorithm.md b/docs/extra/algorithms/string-algorithms/Suffix-Tree-Algorithm.md similarity index 100% rename from docs/algorithms/string-algorithms/Suffix-Tree-Algorithm.md rename to docs/extra/algorithms/string-algorithms/Suffix-Tree-Algorithm.md diff --git a/docs/algorithms/string-algorithms/Z-Algorithm.md b/docs/extra/algorithms/string-algorithms/Z-Algorithm.md similarity index 100% rename from docs/algorithms/string-algorithms/Z-Algorithm.md rename to docs/extra/algorithms/string-algorithms/Z-Algorithm.md diff --git a/docs/algorithms/string-algorithms/_category_.json b/docs/extra/algorithms/string-algorithms/_category_.json similarity index 100% rename from docs/algorithms/string-algorithms/_category_.json rename to docs/extra/algorithms/string-algorithms/_category_.json diff --git a/docs/algorithms/string-algorithms/aho-corasick-algorithm.md b/docs/extra/algorithms/string-algorithms/aho-corasick-algorithm.md similarity index 100% rename from docs/algorithms/string-algorithms/aho-corasick-algorithm.md rename to docs/extra/algorithms/string-algorithms/aho-corasick-algorithm.md diff --git a/docs/algorithms/string-algorithms/apostolico-giancarlo-algorithm.md b/docs/extra/algorithms/string-algorithms/apostolico-giancarlo-algorithm.md similarity index 100% rename from docs/algorithms/string-algorithms/apostolico-giancarlo-algorithm.md rename to docs/extra/algorithms/string-algorithms/apostolico-giancarlo-algorithm.md diff --git a/docs/algorithms/string-algorithms/berry-ravindran-algorithm.md b/docs/extra/algorithms/string-algorithms/berry-ravindran-algorithm.md similarity index 100% rename from docs/algorithms/string-algorithms/berry-ravindran-algorithm.md rename to docs/extra/algorithms/string-algorithms/berry-ravindran-algorithm.md diff --git a/docs/algorithms/string-algorithms/bitap-algorithm.md b/docs/extra/algorithms/string-algorithms/bitap-algorithm.md similarity index 100% rename from docs/algorithms/string-algorithms/bitap-algorithm.md rename to docs/extra/algorithms/string-algorithms/bitap-algorithm.md diff --git a/docs/algorithms/string-algorithms/bndm-algorithm.md b/docs/extra/algorithms/string-algorithms/bndm-algorithm.md similarity index 100% rename from docs/algorithms/string-algorithms/bndm-algorithm.md rename to docs/extra/algorithms/string-algorithms/bndm-algorithm.md diff --git a/docs/algorithms/string-algorithms/colussi-algorithm.md b/docs/extra/algorithms/string-algorithms/colussi-algorithm.md similarity index 100% rename from docs/algorithms/string-algorithms/colussi-algorithm.md rename to docs/extra/algorithms/string-algorithms/colussi-algorithm.md diff --git a/docs/algorithms/string-algorithms/commentz-walter-algorithm.md b/docs/extra/algorithms/string-algorithms/commentz-walter-algorithm.md similarity index 100% rename from docs/algorithms/string-algorithms/commentz-walter-algorithm.md rename to docs/extra/algorithms/string-algorithms/commentz-walter-algorithm.md diff --git a/docs/algorithms/string-algorithms/crochemores-algorithm.md b/docs/extra/algorithms/string-algorithms/crochemores-algorithm.md similarity index 100% rename from docs/algorithms/string-algorithms/crochemores-algorithm.md rename to docs/extra/algorithms/string-algorithms/crochemores-algorithm.md diff --git a/docs/algorithms/string-algorithms/finite-state-automation-algorithm.md b/docs/extra/algorithms/string-algorithms/finite-state-automation-algorithm.md similarity index 100% rename from docs/algorithms/string-algorithms/finite-state-automation-algorithm.md rename to docs/extra/algorithms/string-algorithms/finite-state-automation-algorithm.md diff --git a/docs/algorithms/string-algorithms/kmp-algorithm.md b/docs/extra/algorithms/string-algorithms/kmp-algorithm.md similarity index 100% rename from docs/algorithms/string-algorithms/kmp-algorithm.md rename to docs/extra/algorithms/string-algorithms/kmp-algorithm.md diff --git a/docs/algorithms/string-algorithms/kmp-algorithms.md b/docs/extra/algorithms/string-algorithms/kmp-algorithms.md similarity index 100% rename from docs/algorithms/string-algorithms/kmp-algorithms.md rename to docs/extra/algorithms/string-algorithms/kmp-algorithms.md diff --git a/docs/algorithms/string-algorithms/lcs-algorithm.md b/docs/extra/algorithms/string-algorithms/lcs-algorithm.md similarity index 100% rename from docs/algorithms/string-algorithms/lcs-algorithm.md rename to docs/extra/algorithms/string-algorithms/lcs-algorithm.md diff --git a/docs/algorithms/string-algorithms/levenshtein-distance-algorithm.md b/docs/extra/algorithms/string-algorithms/levenshtein-distance-algorithm.md similarity index 100% rename from docs/algorithms/string-algorithms/levenshtein-distance-algorithm.md rename to docs/extra/algorithms/string-algorithms/levenshtein-distance-algorithm.md diff --git a/docs/algorithms/string-algorithms/manacher-algorithm.md b/docs/extra/algorithms/string-algorithms/manacher-algorithm.md similarity index 100% rename from docs/algorithms/string-algorithms/manacher-algorithm.md rename to docs/extra/algorithms/string-algorithms/manacher-algorithm.md diff --git a/docs/algorithms/string-algorithms/needleman-wunsch-algorithm.md b/docs/extra/algorithms/string-algorithms/needleman-wunsch-algorithm.md similarity index 100% rename from docs/algorithms/string-algorithms/needleman-wunsch-algorithm.md rename to docs/extra/algorithms/string-algorithms/needleman-wunsch-algorithm.md diff --git a/docs/algorithms/string-algorithms/not-so-naive-algorithm.md b/docs/extra/algorithms/string-algorithms/not-so-naive-algorithm.md similarity index 100% rename from docs/algorithms/string-algorithms/not-so-naive-algorithm.md rename to docs/extra/algorithms/string-algorithms/not-so-naive-algorithm.md diff --git a/docs/algorithms/string-algorithms/optimal-mismatch-algorithm.md b/docs/extra/algorithms/string-algorithms/optimal-mismatch-algorithm.md similarity index 100% rename from docs/algorithms/string-algorithms/optimal-mismatch-algorithm.md rename to docs/extra/algorithms/string-algorithms/optimal-mismatch-algorithm.md diff --git a/docs/algorithms/string-algorithms/quick-search-algorithm.md b/docs/extra/algorithms/string-algorithms/quick-search-algorithm.md similarity index 100% rename from docs/algorithms/string-algorithms/quick-search-algorithm.md rename to docs/extra/algorithms/string-algorithms/quick-search-algorithm.md diff --git a/docs/algorithms/string-algorithms/rabin-karp-algorithms.md b/docs/extra/algorithms/string-algorithms/rabin-karp-algorithms.md similarity index 100% rename from docs/algorithms/string-algorithms/rabin-karp-algorithms.md rename to docs/extra/algorithms/string-algorithms/rabin-karp-algorithms.md diff --git a/docs/algorithms/string-algorithms/reverse-factor-algorithm.md b/docs/extra/algorithms/string-algorithms/reverse-factor-algorithm.md similarity index 100% rename from docs/algorithms/string-algorithms/reverse-factor-algorithm.md rename to docs/extra/algorithms/string-algorithms/reverse-factor-algorithm.md diff --git a/docs/algorithms/string-algorithms/shift-or-algorithm.md b/docs/extra/algorithms/string-algorithms/shift-or-algorithm.md similarity index 100% rename from docs/algorithms/string-algorithms/shift-or-algorithm.md rename to docs/extra/algorithms/string-algorithms/shift-or-algorithm.md diff --git a/docs/algorithms/string-algorithms/simon-algorithm.md b/docs/extra/algorithms/string-algorithms/simon-algorithm.md similarity index 100% rename from docs/algorithms/string-algorithms/simon-algorithm.md rename to docs/extra/algorithms/string-algorithms/simon-algorithm.md diff --git a/docs/algorithms/string-algorithms/smith-waterman-algorithm.md b/docs/extra/algorithms/string-algorithms/smith-waterman-algorithm.md similarity index 100% rename from docs/algorithms/string-algorithms/smith-waterman-algorithm.md rename to docs/extra/algorithms/string-algorithms/smith-waterman-algorithm.md diff --git a/docs/algorithms/string-algorithms/suffix-array-algorithm.md b/docs/extra/algorithms/string-algorithms/suffix-array-algorithm.md similarity index 100% rename from docs/algorithms/string-algorithms/suffix-array-algorithm.md rename to docs/extra/algorithms/string-algorithms/suffix-array-algorithm.md diff --git a/docs/algorithms/string-algorithms/sunday-algorithm.md b/docs/extra/algorithms/string-algorithms/sunday-algorithm.md similarity index 100% rename from docs/algorithms/string-algorithms/sunday-algorithm.md rename to docs/extra/algorithms/string-algorithms/sunday-algorithm.md diff --git a/docs/algorithms/string-algorithms/turbo-boyer-moore-algorithm.md b/docs/extra/algorithms/string-algorithms/turbo-boyer-moore-algorithm.md similarity index 100% rename from docs/algorithms/string-algorithms/turbo-boyer-moore-algorithm.md rename to docs/extra/algorithms/string-algorithms/turbo-boyer-moore-algorithm.md diff --git a/docs/algorithms/string-algorithms/two-way-string-matching-algorithm.md b/docs/extra/algorithms/string-algorithms/two-way-string-matching-algorithm.md similarity index 100% rename from docs/algorithms/string-algorithms/two-way-string-matching-algorithm.md rename to docs/extra/algorithms/string-algorithms/two-way-string-matching-algorithm.md diff --git a/docs/algorithms/string-algorithms/ukkonens-algorithm.md b/docs/extra/algorithms/string-algorithms/ukkonens-algorithm.md similarity index 100% rename from docs/algorithms/string-algorithms/ukkonens-algorithm.md rename to docs/extra/algorithms/string-algorithms/ukkonens-algorithm.md diff --git a/docs/algorithms/string-algorithms/zhu-takaoka-algorithm.md b/docs/extra/algorithms/string-algorithms/zhu-takaoka-algorithm.md similarity index 100% rename from docs/algorithms/string-algorithms/zhu-takaoka-algorithm.md rename to docs/extra/algorithms/string-algorithms/zhu-takaoka-algorithm.md diff --git a/docs/b-tree/B-Tree-1.md b/docs/extra/b-tree/B-Tree-1.md similarity index 100% rename from docs/b-tree/B-Tree-1.md rename to docs/extra/b-tree/B-Tree-1.md diff --git a/docs/b-tree/B-Tree-2.md b/docs/extra/b-tree/B-Tree-2.md similarity index 100% rename from docs/b-tree/B-Tree-2.md rename to docs/extra/b-tree/B-Tree-2.md diff --git a/docs/b-tree/B-Tree-3.md b/docs/extra/b-tree/B-Tree-3.md similarity index 100% rename from docs/b-tree/B-Tree-3.md rename to docs/extra/b-tree/B-Tree-3.md diff --git a/docs/b-tree/image/BTree2Ins.png b/docs/extra/b-tree/image/BTree2Ins.png similarity index 100% rename from docs/b-tree/image/BTree2Ins.png rename to docs/extra/b-tree/image/BTree2Ins.png diff --git a/docs/b-tree/image/BTreeIns3.png b/docs/extra/b-tree/image/BTreeIns3.png similarity index 100% rename from docs/b-tree/image/BTreeIns3.png rename to docs/extra/b-tree/image/BTreeIns3.png diff --git a/docs/b-tree/image/BTreeIns4.png b/docs/extra/b-tree/image/BTreeIns4.png similarity index 100% rename from docs/b-tree/image/BTreeIns4.png rename to docs/extra/b-tree/image/BTreeIns4.png diff --git a/docs/b-tree/image/BTreeIns6.png b/docs/extra/b-tree/image/BTreeIns6.png similarity index 100% rename from docs/b-tree/image/BTreeIns6.png rename to docs/extra/b-tree/image/BTreeIns6.png diff --git a/docs/b-tree/image/BTreeSplit-1024x321.jpg b/docs/extra/b-tree/image/BTreeSplit-1024x321.jpg similarity index 100% rename from docs/b-tree/image/BTreeSplit-1024x321.jpg rename to docs/extra/b-tree/image/BTreeSplit-1024x321.jpg diff --git a/docs/b-tree/image/Btree1.png b/docs/extra/b-tree/image/Btree1.png similarity index 100% rename from docs/b-tree/image/Btree1.png rename to docs/extra/b-tree/image/Btree1.png diff --git a/docs/b-tree/image/delete.png b/docs/extra/b-tree/image/delete.png similarity index 100% rename from docs/b-tree/image/delete.png rename to docs/extra/b-tree/image/delete.png diff --git a/docs/b-tree/image/delete2.png b/docs/extra/b-tree/image/delete2.png similarity index 100% rename from docs/b-tree/image/delete2.png rename to docs/extra/b-tree/image/delete2.png diff --git a/docs/b-tree/image/output253.png b/docs/extra/b-tree/image/output253.png similarity index 100% rename from docs/b-tree/image/output253.png rename to docs/extra/b-tree/image/output253.png diff --git a/docs/b-tree/image/output254.png b/docs/extra/b-tree/image/output254.png similarity index 100% rename from docs/b-tree/image/output254.png rename to docs/extra/b-tree/image/output254.png diff --git a/docs/b-tree/image/output255.png b/docs/extra/b-tree/image/output255.png similarity index 100% rename from docs/b-tree/image/output255.png rename to docs/extra/b-tree/image/output255.png diff --git a/docs/b-tree/image/output256.png b/docs/extra/b-tree/image/output256.png similarity index 100% rename from docs/b-tree/image/output256.png rename to docs/extra/b-tree/image/output256.png diff --git a/docs/backtracking algorithms/Tiling-problem.md b/docs/extra/backtracking algorithms/Tiling-problem.md similarity index 100% rename from docs/backtracking algorithms/Tiling-problem.md rename to docs/extra/backtracking algorithms/Tiling-problem.md diff --git a/docs/balancedBinTree/balancedBinTree.md b/docs/extra/balancedBinTree/balancedBinTree.md similarity index 100% rename from docs/balancedBinTree/balancedBinTree.md rename to docs/extra/balancedBinTree/balancedBinTree.md diff --git a/docs/balancedBinTree/balancedBinTreejava.md b/docs/extra/balancedBinTree/balancedBinTreejava.md similarity index 100% rename from docs/balancedBinTree/balancedBinTreejava.md rename to docs/extra/balancedBinTree/balancedBinTreejava.md diff --git a/docs/balancedBinTree/balancedBinTreejavaScript.md b/docs/extra/balancedBinTree/balancedBinTreejavaScript.md similarity index 100% rename from docs/balancedBinTree/balancedBinTreejavaScript.md rename to docs/extra/balancedBinTree/balancedBinTreejavaScript.md diff --git a/docs/basic-dsa/Method Overriding.md b/docs/extra/basic-dsa/Method Overriding.md similarity index 100% rename from docs/basic-dsa/Method Overriding.md rename to docs/extra/basic-dsa/Method Overriding.md diff --git a/docs/basic-dsa/Operator Overloading.md b/docs/extra/basic-dsa/Operator Overloading.md similarity index 100% rename from docs/basic-dsa/Operator Overloading.md rename to docs/extra/basic-dsa/Operator Overloading.md diff --git a/docs/basic-dsa/Strings/Advanced-techniques.md b/docs/extra/basic-dsa/Strings/Advanced-techniques.md similarity index 100% rename from docs/basic-dsa/Strings/Advanced-techniques.md rename to docs/extra/basic-dsa/Strings/Advanced-techniques.md diff --git a/docs/basic-dsa/Strings/Highest freqyuency letter.md b/docs/extra/basic-dsa/Strings/Highest freqyuency letter.md similarity index 100% rename from docs/basic-dsa/Strings/Highest freqyuency letter.md rename to docs/extra/basic-dsa/Strings/Highest freqyuency letter.md diff --git a/docs/basic-dsa/Strings/Isomorphic strings.md b/docs/extra/basic-dsa/Strings/Isomorphic strings.md similarity index 100% rename from docs/basic-dsa/Strings/Isomorphic strings.md rename to docs/extra/basic-dsa/Strings/Isomorphic strings.md diff --git a/docs/basic-dsa/Strings/Reversing a string.md b/docs/extra/basic-dsa/Strings/Reversing a string.md similarity index 100% rename from docs/basic-dsa/Strings/Reversing a string.md rename to docs/extra/basic-dsa/Strings/Reversing a string.md diff --git a/docs/basic-dsa/Strings/What_is String.md b/docs/extra/basic-dsa/Strings/What_is String.md similarity index 100% rename from docs/basic-dsa/Strings/What_is String.md rename to docs/extra/basic-dsa/Strings/What_is String.md diff --git a/docs/basic-dsa/Strings/kmp-algo.md b/docs/extra/basic-dsa/Strings/kmp-algo.md similarity index 100% rename from docs/basic-dsa/Strings/kmp-algo.md rename to docs/extra/basic-dsa/Strings/kmp-algo.md diff --git a/docs/basic-dsa/_category_.json b/docs/extra/basic-dsa/_category_.json similarity index 100% rename from docs/basic-dsa/_category_.json rename to docs/extra/basic-dsa/_category_.json diff --git a/docs/basic-dsa/array/2d-arrays.md b/docs/extra/basic-dsa/array/2d-arrays.md similarity index 100% rename from docs/basic-dsa/array/2d-arrays.md rename to docs/extra/basic-dsa/array/2d-arrays.md diff --git a/docs/basic-dsa/array/Kadane-Algorithm.md b/docs/extra/basic-dsa/array/Kadane-Algorithm.md similarity index 100% rename from docs/basic-dsa/array/Kadane-Algorithm.md rename to docs/extra/basic-dsa/array/Kadane-Algorithm.md diff --git a/docs/basic-dsa/array/ProudctOfArrayExceptSelf.md b/docs/extra/basic-dsa/array/ProudctOfArrayExceptSelf.md similarity index 100% rename from docs/basic-dsa/array/ProudctOfArrayExceptSelf.md rename to docs/extra/basic-dsa/array/ProudctOfArrayExceptSelf.md diff --git a/docs/basic-dsa/array/_category_.json b/docs/extra/basic-dsa/array/_category_.json similarity index 100% rename from docs/basic-dsa/array/_category_.json rename to docs/extra/basic-dsa/array/_category_.json diff --git a/docs/basic-dsa/array/arrays-bubblesort-dsa.md b/docs/extra/basic-dsa/array/arrays-bubblesort-dsa.md similarity index 100% rename from docs/basic-dsa/array/arrays-bubblesort-dsa.md rename to docs/extra/basic-dsa/array/arrays-bubblesort-dsa.md diff --git a/docs/basic-dsa/array/arrays-dsa.md b/docs/extra/basic-dsa/array/arrays-dsa.md similarity index 100% rename from docs/basic-dsa/array/arrays-dsa.md rename to docs/extra/basic-dsa/array/arrays-dsa.md diff --git a/docs/basic-dsa/array/arrays-insertionsort.md b/docs/extra/basic-dsa/array/arrays-insertionsort.md similarity index 100% rename from docs/basic-dsa/array/arrays-insertionsort.md rename to docs/extra/basic-dsa/array/arrays-insertionsort.md diff --git a/docs/basic-dsa/array/arrays-kadanesalgorithm-dsa.md b/docs/extra/basic-dsa/array/arrays-kadanesalgorithm-dsa.md similarity index 100% rename from docs/basic-dsa/array/arrays-kadanesalgorithm-dsa.md rename to docs/extra/basic-dsa/array/arrays-kadanesalgorithm-dsa.md diff --git a/docs/basic-dsa/array/arrays-selectionsort.md b/docs/extra/basic-dsa/array/arrays-selectionsort.md similarity index 100% rename from docs/basic-dsa/array/arrays-selectionsort.md rename to docs/extra/basic-dsa/array/arrays-selectionsort.md diff --git a/docs/basic-dsa/array/bucket-sort.md b/docs/extra/basic-dsa/array/bucket-sort.md similarity index 100% rename from docs/basic-dsa/array/bucket-sort.md rename to docs/extra/basic-dsa/array/bucket-sort.md diff --git a/docs/basic-dsa/array/counting-sort.md b/docs/extra/basic-dsa/array/counting-sort.md similarity index 100% rename from docs/basic-dsa/array/counting-sort.md rename to docs/extra/basic-dsa/array/counting-sort.md diff --git a/docs/basic-dsa/array/heap-sort.md b/docs/extra/basic-dsa/array/heap-sort.md similarity index 100% rename from docs/basic-dsa/array/heap-sort.md rename to docs/extra/basic-dsa/array/heap-sort.md diff --git a/docs/basic-dsa/array/quick-sort.md b/docs/extra/basic-dsa/array/quick-sort.md similarity index 100% rename from docs/basic-dsa/array/quick-sort.md rename to docs/extra/basic-dsa/array/quick-sort.md diff --git a/docs/basic-dsa/array/radix-sort.md b/docs/extra/basic-dsa/array/radix-sort.md similarity index 100% rename from docs/basic-dsa/array/radix-sort.md rename to docs/extra/basic-dsa/array/radix-sort.md diff --git a/docs/basic-dsa/matrix-data-structure.md b/docs/extra/basic-dsa/matrix-data-structure.md similarity index 100% rename from docs/basic-dsa/matrix-data-structure.md rename to docs/extra/basic-dsa/matrix-data-structure.md diff --git a/docs/basic-dsa/pointer.md b/docs/extra/basic-dsa/pointer.md similarity index 100% rename from docs/basic-dsa/pointer.md rename to docs/extra/basic-dsa/pointer.md diff --git a/docs/binary-search-tree/Binary search tree.md b/docs/extra/binary-search-tree/Binary search tree.md similarity index 100% rename from docs/binary-search-tree/Binary search tree.md rename to docs/extra/binary-search-tree/Binary search tree.md diff --git a/docs/binary-search-tree/Post_order_traversal.md b/docs/extra/binary-search-tree/Post_order_traversal.md similarity index 100% rename from docs/binary-search-tree/Post_order_traversal.md rename to docs/extra/binary-search-tree/Post_order_traversal.md diff --git a/docs/binary-search-tree/Problem-Practice.md b/docs/extra/binary-search-tree/Problem-Practice.md similarity index 100% rename from docs/binary-search-tree/Problem-Practice.md rename to docs/extra/binary-search-tree/Problem-Practice.md diff --git a/docs/binary-search-tree/_category_.json b/docs/extra/binary-search-tree/_category_.json similarity index 100% rename from docs/binary-search-tree/_category_.json rename to docs/extra/binary-search-tree/_category_.json diff --git a/docs/binary-search-tree/avl-tree.md b/docs/extra/binary-search-tree/avl-tree.md similarity index 100% rename from docs/binary-search-tree/avl-tree.md rename to docs/extra/binary-search-tree/avl-tree.md diff --git a/docs/binary-search-tree/delete-BST.md b/docs/extra/binary-search-tree/delete-BST.md similarity index 100% rename from docs/binary-search-tree/delete-BST.md rename to docs/extra/binary-search-tree/delete-BST.md diff --git a/docs/binary-search-tree/inorder-predecessor-BST.md b/docs/extra/binary-search-tree/inorder-predecessor-BST.md similarity index 100% rename from docs/binary-search-tree/inorder-predecessor-BST.md rename to docs/extra/binary-search-tree/inorder-predecessor-BST.md diff --git a/docs/binary-search-tree/inorder-successor-BST.md b/docs/extra/binary-search-tree/inorder-successor-BST.md similarity index 100% rename from docs/binary-search-tree/inorder-successor-BST.md rename to docs/extra/binary-search-tree/inorder-successor-BST.md diff --git a/docs/binary-search-tree/insert-BST.md b/docs/extra/binary-search-tree/insert-BST.md similarity index 100% rename from docs/binary-search-tree/insert-BST.md rename to docs/extra/binary-search-tree/insert-BST.md diff --git a/docs/binary-search-tree/red-black-trees.md b/docs/extra/binary-search-tree/red-black-trees.md similarity index 100% rename from docs/binary-search-tree/red-black-trees.md rename to docs/extra/binary-search-tree/red-black-trees.md diff --git a/docs/binary-search-tree/search-BST.md b/docs/extra/binary-search-tree/search-BST.md similarity index 100% rename from docs/binary-search-tree/search-BST.md rename to docs/extra/binary-search-tree/search-BST.md diff --git a/docs/binary-search/Exponential-Search.md b/docs/extra/binary-search/Exponential-Search.md similarity index 100% rename from docs/binary-search/Exponential-Search.md rename to docs/extra/binary-search/Exponential-Search.md diff --git a/docs/binary-search/Iterative_binary_search.md b/docs/extra/binary-search/Iterative_binary_search.md similarity index 100% rename from docs/binary-search/Iterative_binary_search.md rename to docs/extra/binary-search/Iterative_binary_search.md diff --git a/docs/binary-search/Painter_Partition_problem.md b/docs/extra/binary-search/Painter_Partition_problem.md similarity index 100% rename from docs/binary-search/Painter_Partition_problem.md rename to docs/extra/binary-search/Painter_Partition_problem.md diff --git a/docs/binary-search/Problem-Practice.md b/docs/extra/binary-search/Problem-Practice.md similarity index 100% rename from docs/binary-search/Problem-Practice.md rename to docs/extra/binary-search/Problem-Practice.md diff --git a/docs/binary-search/_category_.json b/docs/extra/binary-search/_category_.json similarity index 100% rename from docs/binary-search/_category_.json rename to docs/extra/binary-search/_category_.json diff --git a/docs/binary-search/binary-search.md b/docs/extra/binary-search/binary-search.md similarity index 100% rename from docs/binary-search/binary-search.md rename to docs/extra/binary-search/binary-search.md diff --git a/docs/binary-search/binary-search_rotated-sorted-array.md b/docs/extra/binary-search/binary-search_rotated-sorted-array.md similarity index 100% rename from docs/binary-search/binary-search_rotated-sorted-array.md rename to docs/extra/binary-search/binary-search_rotated-sorted-array.md diff --git a/docs/binary-search/binary.md b/docs/extra/binary-search/binary.md similarity index 100% rename from docs/binary-search/binary.md rename to docs/extra/binary-search/binary.md diff --git a/docs/binary-search/binary_search_questions.md b/docs/extra/binary-search/binary_search_questions.md similarity index 100% rename from docs/binary-search/binary_search_questions.md rename to docs/extra/binary-search/binary_search_questions.md diff --git a/docs/binary-search/matrix-binary-dsa.md b/docs/extra/binary-search/matrix-binary-dsa.md similarity index 100% rename from docs/binary-search/matrix-binary-dsa.md rename to docs/extra/binary-search/matrix-binary-dsa.md diff --git a/docs/binary-search/recursive_binary_search.md b/docs/extra/binary-search/recursive_binary_search.md similarity index 100% rename from docs/binary-search/recursive_binary_search.md rename to docs/extra/binary-search/recursive_binary_search.md diff --git a/docs/binary-trees/_category_.json b/docs/extra/binary-trees/_category_.json similarity index 100% rename from docs/binary-trees/_category_.json rename to docs/extra/binary-trees/_category_.json diff --git a/docs/binary-trees/basic-operations.md b/docs/extra/binary-trees/basic-operations.md similarity index 100% rename from docs/binary-trees/basic-operations.md rename to docs/extra/binary-trees/basic-operations.md diff --git a/docs/binary-trees/binary-tree.md b/docs/extra/binary-trees/binary-tree.md similarity index 100% rename from docs/binary-trees/binary-tree.md rename to docs/extra/binary-trees/binary-tree.md diff --git a/docs/binary-trees/expression-tree.md b/docs/extra/binary-trees/expression-tree.md similarity index 100% rename from docs/binary-trees/expression-tree.md rename to docs/extra/binary-trees/expression-tree.md diff --git a/docs/binary-trees/maximum-depth.md b/docs/extra/binary-trees/maximum-depth.md similarity index 100% rename from docs/binary-trees/maximum-depth.md rename to docs/extra/binary-trees/maximum-depth.md diff --git a/docs/binary-trees/merkle-tree.md b/docs/extra/binary-trees/merkle-tree.md similarity index 100% rename from docs/binary-trees/merkle-tree.md rename to docs/extra/binary-trees/merkle-tree.md diff --git a/docs/binary-trees/minimum-depth.md b/docs/extra/binary-trees/minimum-depth.md similarity index 100% rename from docs/binary-trees/minimum-depth.md rename to docs/extra/binary-trees/minimum-depth.md diff --git a/docs/binary-trees/practice-problems.md b/docs/extra/binary-trees/practice-problems.md similarity index 100% rename from docs/binary-trees/practice-problems.md rename to docs/extra/binary-trees/practice-problems.md diff --git a/docs/binary-trees/splay-trees.md b/docs/extra/binary-trees/splay-trees.md similarity index 100% rename from docs/binary-trees/splay-trees.md rename to docs/extra/binary-trees/splay-trees.md diff --git a/docs/bit-manipulation/_category_.json b/docs/extra/bit-manipulation/_category_.json similarity index 100% rename from docs/bit-manipulation/_category_.json rename to docs/extra/bit-manipulation/_category_.json diff --git a/docs/bit-manipulation/bit-manipulation-technique.md b/docs/extra/bit-manipulation/bit-manipulation-technique.md similarity index 100% rename from docs/bit-manipulation/bit-manipulation-technique.md rename to docs/extra/bit-manipulation/bit-manipulation-technique.md diff --git a/docs/bit-manipulation/bitmanipulation-practice-problem.md b/docs/extra/bit-manipulation/bitmanipulation-practice-problem.md similarity index 100% rename from docs/bit-manipulation/bitmanipulation-practice-problem.md rename to docs/extra/bit-manipulation/bitmanipulation-practice-problem.md diff --git a/docs/bit-manipulation/brain-kernighan-algo.md b/docs/extra/bit-manipulation/brain-kernighan-algo.md similarity index 100% rename from docs/bit-manipulation/brain-kernighan-algo.md rename to docs/extra/bit-manipulation/brain-kernighan-algo.md diff --git a/docs/bit-manipulation/clear-ith-Bit.md b/docs/extra/bit-manipulation/clear-ith-Bit.md similarity index 100% rename from docs/bit-manipulation/clear-ith-Bit.md rename to docs/extra/bit-manipulation/clear-ith-Bit.md diff --git a/docs/bit-manipulation/count-set-bits.md b/docs/extra/bit-manipulation/count-set-bits.md similarity index 100% rename from docs/bit-manipulation/count-set-bits.md rename to docs/extra/bit-manipulation/count-set-bits.md diff --git a/docs/bit-manipulation/power-of-two.md b/docs/extra/bit-manipulation/power-of-two.md similarity index 100% rename from docs/bit-manipulation/power-of-two.md rename to docs/extra/bit-manipulation/power-of-two.md diff --git a/docs/bit-manipulation/toggle-bit-at-position.md b/docs/extra/bit-manipulation/toggle-bit-at-position.md similarity index 100% rename from docs/bit-manipulation/toggle-bit-at-position.md rename to docs/extra/bit-manipulation/toggle-bit-at-position.md diff --git a/docs/challenges solutions/Challenge4.md b/docs/extra/challenges solutions/Challenge4.md similarity index 100% rename from docs/challenges solutions/Challenge4.md rename to docs/extra/challenges solutions/Challenge4.md diff --git a/docs/challenges solutions/_category_.json b/docs/extra/challenges solutions/_category_.json similarity index 100% rename from docs/challenges solutions/_category_.json rename to docs/extra/challenges solutions/_category_.json diff --git a/docs/challenges solutions/challenge1.md b/docs/extra/challenges solutions/challenge1.md similarity index 100% rename from docs/challenges solutions/challenge1.md rename to docs/extra/challenges solutions/challenge1.md diff --git a/docs/challenges solutions/challenge2.md b/docs/extra/challenges solutions/challenge2.md similarity index 100% rename from docs/challenges solutions/challenge2.md rename to docs/extra/challenges solutions/challenge2.md diff --git a/docs/challenges solutions/challenge3.md b/docs/extra/challenges solutions/challenge3.md similarity index 100% rename from docs/challenges solutions/challenge3.md rename to docs/extra/challenges solutions/challenge3.md diff --git a/docs/combinatorics/Practice-problems.md b/docs/extra/combinatorics/Practice-problems.md similarity index 100% rename from docs/combinatorics/Practice-problems.md rename to docs/extra/combinatorics/Practice-problems.md diff --git a/docs/combinatorics/_category_.json b/docs/extra/combinatorics/_category_.json similarity index 100% rename from docs/combinatorics/_category_.json rename to docs/extra/combinatorics/_category_.json diff --git a/docs/combinatorics/combinatorics-examples.md b/docs/extra/combinatorics/combinatorics-examples.md similarity index 100% rename from docs/combinatorics/combinatorics-examples.md rename to docs/extra/combinatorics/combinatorics-examples.md diff --git a/docs/combinatorics/combinatorics-theory.md b/docs/extra/combinatorics/combinatorics-theory.md similarity index 100% rename from docs/combinatorics/combinatorics-theory.md rename to docs/extra/combinatorics/combinatorics-theory.md diff --git a/docs/complexity/_category_.json b/docs/extra/complexity/_category_.json similarity index 100% rename from docs/complexity/_category_.json rename to docs/extra/complexity/_category_.json diff --git a/docs/complexity/how-to-calculate-complexity.md b/docs/extra/complexity/how-to-calculate-complexity.md similarity index 100% rename from docs/complexity/how-to-calculate-complexity.md rename to docs/extra/complexity/how-to-calculate-complexity.md diff --git a/docs/complexity/image-1.png b/docs/extra/complexity/image-1.png similarity index 100% rename from docs/complexity/image-1.png rename to docs/extra/complexity/image-1.png diff --git a/docs/complexity/image.png b/docs/extra/complexity/image.png similarity index 100% rename from docs/complexity/image.png rename to docs/extra/complexity/image.png diff --git a/docs/complexity/space-complexity.md b/docs/extra/complexity/space-complexity.md similarity index 100% rename from docs/complexity/space-complexity.md rename to docs/extra/complexity/space-complexity.md diff --git a/docs/complexity/time-complexity.md b/docs/extra/complexity/time-complexity.md similarity index 100% rename from docs/complexity/time-complexity.md rename to docs/extra/complexity/time-complexity.md diff --git a/docs/complexity/time-space-complexity.md b/docs/extra/complexity/time-space-complexity.md similarity index 100% rename from docs/complexity/time-space-complexity.md rename to docs/extra/complexity/time-space-complexity.md diff --git a/docs/dsa/_category_.json b/docs/extra/dsa/_category_.json similarity index 100% rename from docs/dsa/_category_.json rename to docs/extra/dsa/_category_.json diff --git a/docs/dsa/imp-of-dsa.md b/docs/extra/dsa/imp-of-dsa.md similarity index 100% rename from docs/dsa/imp-of-dsa.md rename to docs/extra/dsa/imp-of-dsa.md diff --git a/docs/dsa/roadmap-to-dsa.md b/docs/extra/dsa/roadmap-to-dsa.md similarity index 100% rename from docs/dsa/roadmap-to-dsa.md rename to docs/extra/dsa/roadmap-to-dsa.md diff --git a/docs/dsa/types-of-dsa.md b/docs/extra/dsa/types-of-dsa.md similarity index 100% rename from docs/dsa/types-of-dsa.md rename to docs/extra/dsa/types-of-dsa.md diff --git a/docs/dsa/what-is-dsa.md b/docs/extra/dsa/what-is-dsa.md similarity index 100% rename from docs/dsa/what-is-dsa.md rename to docs/extra/dsa/what-is-dsa.md diff --git a/docs/dynamic-programming/Beautiful-Subgrids.md b/docs/extra/dynamic-programming/Beautiful-Subgrids.md similarity index 100% rename from docs/dynamic-programming/Beautiful-Subgrids.md rename to docs/extra/dynamic-programming/Beautiful-Subgrids.md diff --git a/docs/dynamic-programming/Matrix-chain-multiplication.md b/docs/extra/dynamic-programming/Matrix-chain-multiplication.md similarity index 100% rename from docs/dynamic-programming/Matrix-chain-multiplication.md rename to docs/extra/dynamic-programming/Matrix-chain-multiplication.md diff --git a/docs/dynamic-programming/Multistage-graph.md b/docs/extra/dynamic-programming/Multistage-graph.md similarity index 100% rename from docs/dynamic-programming/Multistage-graph.md rename to docs/extra/dynamic-programming/Multistage-graph.md diff --git a/docs/dynamic-programming/Two-City-Scheduling-3D-DP.md b/docs/extra/dynamic-programming/Two-City-Scheduling-3D-DP.md similarity index 100% rename from docs/dynamic-programming/Two-City-Scheduling-3D-DP.md rename to docs/extra/dynamic-programming/Two-City-Scheduling-3D-DP.md diff --git a/docs/dynamic-programming/_category_.json b/docs/extra/dynamic-programming/_category_.json similarity index 100% rename from docs/dynamic-programming/_category_.json rename to docs/extra/dynamic-programming/_category_.json diff --git a/docs/dynamic-programming/approaches.md b/docs/extra/dynamic-programming/approaches.md similarity index 100% rename from docs/dynamic-programming/approaches.md rename to docs/extra/dynamic-programming/approaches.md diff --git a/docs/dynamic-programming/dynamic-programming-optimizations.md b/docs/extra/dynamic-programming/dynamic-programming-optimizations.md similarity index 100% rename from docs/dynamic-programming/dynamic-programming-optimizations.md rename to docs/extra/dynamic-programming/dynamic-programming-optimizations.md diff --git a/docs/dynamic-programming/fence-painting.md b/docs/extra/dynamic-programming/fence-painting.md similarity index 100% rename from docs/dynamic-programming/fence-painting.md rename to docs/extra/dynamic-programming/fence-painting.md diff --git a/docs/dynamic-programming/house-robber.md b/docs/extra/dynamic-programming/house-robber.md similarity index 100% rename from docs/dynamic-programming/house-robber.md rename to docs/extra/dynamic-programming/house-robber.md diff --git a/docs/dynamic-programming/how-to-identify.md b/docs/extra/dynamic-programming/how-to-identify.md similarity index 100% rename from docs/dynamic-programming/how-to-identify.md rename to docs/extra/dynamic-programming/how-to-identify.md diff --git a/docs/dynamic-programming/longest-zig-zag-subsequence.md b/docs/extra/dynamic-programming/longest-zig-zag-subsequence.md similarity index 100% rename from docs/dynamic-programming/longest-zig-zag-subsequence.md rename to docs/extra/dynamic-programming/longest-zig-zag-subsequence.md diff --git a/docs/dynamic-programming/longest_common_subsequence.md b/docs/extra/dynamic-programming/longest_common_subsequence.md similarity index 100% rename from docs/dynamic-programming/longest_common_subsequence.md rename to docs/extra/dynamic-programming/longest_common_subsequence.md diff --git a/docs/dynamic-programming/minimum_flips_to_zero_matrix.md b/docs/extra/dynamic-programming/minimum_flips_to_zero_matrix.md similarity index 100% rename from docs/dynamic-programming/minimum_flips_to_zero_matrix.md rename to docs/extra/dynamic-programming/minimum_flips_to_zero_matrix.md diff --git a/docs/dynamic-programming/palindrome_partitioning_IV.md b/docs/extra/dynamic-programming/palindrome_partitioning_IV.md similarity index 100% rename from docs/dynamic-programming/palindrome_partitioning_IV.md rename to docs/extra/dynamic-programming/palindrome_partitioning_IV.md diff --git a/docs/dynamic-programming/practice-problems-different-patterns.md b/docs/extra/dynamic-programming/practice-problems-different-patterns.md similarity index 100% rename from docs/dynamic-programming/practice-problems-different-patterns.md rename to docs/extra/dynamic-programming/practice-problems-different-patterns.md diff --git a/docs/dynamic-programming/trapped-rainwater.md b/docs/extra/dynamic-programming/trapped-rainwater.md similarity index 100% rename from docs/dynamic-programming/trapped-rainwater.md rename to docs/extra/dynamic-programming/trapped-rainwater.md diff --git a/docs/fundamentals/Conditional Statement.md b/docs/extra/fundamentals/Conditional Statement.md similarity index 100% rename from docs/fundamentals/Conditional Statement.md rename to docs/extra/fundamentals/Conditional Statement.md diff --git a/docs/fundamentals/Functions/Function Call.md b/docs/extra/fundamentals/Functions/Function Call.md similarity index 100% rename from docs/fundamentals/Functions/Function Call.md rename to docs/extra/fundamentals/Functions/Function Call.md diff --git a/docs/fundamentals/Functions/Function Closures.md b/docs/extra/fundamentals/Functions/Function Closures.md similarity index 100% rename from docs/fundamentals/Functions/Function Closures.md rename to docs/extra/fundamentals/Functions/Function Closures.md diff --git a/docs/fundamentals/Functions/Function Composition.md b/docs/extra/fundamentals/Functions/Function Composition.md similarity index 100% rename from docs/fundamentals/Functions/Function Composition.md rename to docs/extra/fundamentals/Functions/Function Composition.md diff --git a/docs/fundamentals/Functions/Function Currying.md b/docs/extra/fundamentals/Functions/Function Currying.md similarity index 100% rename from docs/fundamentals/Functions/Function Currying.md rename to docs/extra/fundamentals/Functions/Function Currying.md diff --git a/docs/fundamentals/Functions/Function Declaration.md b/docs/extra/fundamentals/Functions/Function Declaration.md similarity index 100% rename from docs/fundamentals/Functions/Function Declaration.md rename to docs/extra/fundamentals/Functions/Function Declaration.md diff --git a/docs/fundamentals/Functions/Function Memoization.md b/docs/extra/fundamentals/Functions/Function Memoization.md similarity index 100% rename from docs/fundamentals/Functions/Function Memoization.md rename to docs/extra/fundamentals/Functions/Function Memoization.md diff --git a/docs/fundamentals/Functions/Function Overloading.md b/docs/extra/fundamentals/Functions/Function Overloading.md similarity index 100% rename from docs/fundamentals/Functions/Function Overloading.md rename to docs/extra/fundamentals/Functions/Function Overloading.md diff --git a/docs/fundamentals/Functions/Function Parameters.md b/docs/extra/fundamentals/Functions/Function Parameters.md similarity index 100% rename from docs/fundamentals/Functions/Function Parameters.md rename to docs/extra/fundamentals/Functions/Function Parameters.md diff --git a/docs/fundamentals/Functions/Function Recursion.md b/docs/extra/fundamentals/Functions/Function Recursion.md similarity index 100% rename from docs/fundamentals/Functions/Function Recursion.md rename to docs/extra/fundamentals/Functions/Function Recursion.md diff --git a/docs/fundamentals/Functions/Function Return.md b/docs/extra/fundamentals/Functions/Function Return.md similarity index 100% rename from docs/fundamentals/Functions/Function Return.md rename to docs/extra/fundamentals/Functions/Function Return.md diff --git a/docs/fundamentals/Functions/Function Scope.md b/docs/extra/fundamentals/Functions/Function Scope.md similarity index 100% rename from docs/fundamentals/Functions/Function Scope.md rename to docs/extra/fundamentals/Functions/Function Scope.md diff --git a/docs/fundamentals/Loops.md b/docs/extra/fundamentals/Loops.md similarity index 100% rename from docs/fundamentals/Loops.md rename to docs/extra/fundamentals/Loops.md diff --git a/docs/game-Theory/gameTheory.md b/docs/extra/game-Theory/gameTheory.md similarity index 100% rename from docs/game-Theory/gameTheory.md rename to docs/extra/game-Theory/gameTheory.md diff --git a/docs/game-Theory/gameTheoryExamples.md b/docs/extra/game-Theory/gameTheoryExamples.md similarity index 100% rename from docs/game-Theory/gameTheoryExamples.md rename to docs/extra/game-Theory/gameTheoryExamples.md diff --git a/docs/graphs/Adjacency-List.md b/docs/extra/graphs/Adjacency-List.md similarity index 100% rename from docs/graphs/Adjacency-List.md rename to docs/extra/graphs/Adjacency-List.md diff --git a/docs/graphs/Adjacency-Matrix.md b/docs/extra/graphs/Adjacency-Matrix.md similarity index 100% rename from docs/graphs/Adjacency-Matrix.md rename to docs/extra/graphs/Adjacency-Matrix.md diff --git a/docs/graphs/Disjoint Set Union.md b/docs/extra/graphs/Disjoint Set Union.md similarity index 100% rename from docs/graphs/Disjoint Set Union.md rename to docs/extra/graphs/Disjoint Set Union.md diff --git a/docs/graphs/Johnson's-algo.md b/docs/extra/graphs/Johnson's-algo.md similarity index 100% rename from docs/graphs/Johnson's-algo.md rename to docs/extra/graphs/Johnson's-algo.md diff --git a/docs/graphs/Longest-path-in-DAG.md b/docs/extra/graphs/Longest-path-in-DAG.md similarity index 100% rename from docs/graphs/Longest-path-in-DAG.md rename to docs/extra/graphs/Longest-path-in-DAG.md diff --git a/docs/graphs/Page-Rank-Algorithm.md b/docs/extra/graphs/Page-Rank-Algorithm.md similarity index 100% rename from docs/graphs/Page-Rank-Algorithm.md rename to docs/extra/graphs/Page-Rank-Algorithm.md diff --git a/docs/graphs/Practice Problems.md b/docs/extra/graphs/Practice Problems.md similarity index 100% rename from docs/graphs/Practice Problems.md rename to docs/extra/graphs/Practice Problems.md diff --git a/docs/graphs/_category_.json b/docs/extra/graphs/_category_.json similarity index 100% rename from docs/graphs/_category_.json rename to docs/extra/graphs/_category_.json diff --git a/docs/graphs/ant-colony-optimization-tsp.md b/docs/extra/graphs/ant-colony-optimization-tsp.md similarity index 100% rename from docs/graphs/ant-colony-optimization-tsp.md rename to docs/extra/graphs/ant-colony-optimization-tsp.md diff --git a/docs/graphs/bfs.md b/docs/extra/graphs/bfs.md similarity index 100% rename from docs/graphs/bfs.md rename to docs/extra/graphs/bfs.md diff --git a/docs/graphs/bipartite-graph.md b/docs/extra/graphs/bipartite-graph.md similarity index 100% rename from docs/graphs/bipartite-graph.md rename to docs/extra/graphs/bipartite-graph.md diff --git a/docs/graphs/dfs.md b/docs/extra/graphs/dfs.md similarity index 100% rename from docs/graphs/dfs.md rename to docs/extra/graphs/dfs.md diff --git a/docs/graphs/dfs_java.md b/docs/extra/graphs/dfs_java.md similarity index 100% rename from docs/graphs/dfs_java.md rename to docs/extra/graphs/dfs_java.md diff --git a/docs/graphs/dijkstra-algo.md b/docs/extra/graphs/dijkstra-algo.md similarity index 100% rename from docs/graphs/dijkstra-algo.md rename to docs/extra/graphs/dijkstra-algo.md diff --git a/docs/graphs/eulerian-graphs.md b/docs/extra/graphs/eulerian-graphs.md similarity index 100% rename from docs/graphs/eulerian-graphs.md rename to docs/extra/graphs/eulerian-graphs.md diff --git a/docs/graphs/flood-fill.md b/docs/extra/graphs/flood-fill.md similarity index 100% rename from docs/graphs/flood-fill.md rename to docs/extra/graphs/flood-fill.md diff --git a/docs/graphs/floyd-algorithm.md b/docs/extra/graphs/floyd-algorithm.md similarity index 100% rename from docs/graphs/floyd-algorithm.md rename to docs/extra/graphs/floyd-algorithm.md diff --git a/docs/graphs/graph-cloning.md b/docs/extra/graphs/graph-cloning.md similarity index 100% rename from docs/graphs/graph-cloning.md rename to docs/extra/graphs/graph-cloning.md diff --git a/docs/graphs/graph-coloring.md b/docs/extra/graphs/graph-coloring.md similarity index 100% rename from docs/graphs/graph-coloring.md rename to docs/extra/graphs/graph-coloring.md diff --git a/docs/graphs/graph-reversal.md b/docs/extra/graphs/graph-reversal.md similarity index 100% rename from docs/graphs/graph-reversal.md rename to docs/extra/graphs/graph-reversal.md diff --git a/docs/graphs/hopcroft-karp-algorithm.md b/docs/extra/graphs/hopcroft-karp-algorithm.md similarity index 100% rename from docs/graphs/hopcroft-karp-algorithm.md rename to docs/extra/graphs/hopcroft-karp-algorithm.md diff --git a/docs/graphs/kahn-algo.md b/docs/extra/graphs/kahn-algo.md similarity index 100% rename from docs/graphs/kahn-algo.md rename to docs/extra/graphs/kahn-algo.md diff --git a/docs/graphs/kosaraju-algorithm.md b/docs/extra/graphs/kosaraju-algorithm.md similarity index 100% rename from docs/graphs/kosaraju-algorithm.md rename to docs/extra/graphs/kosaraju-algorithm.md diff --git a/docs/graphs/kruskal-algorithm.md b/docs/extra/graphs/kruskal-algorithm.md similarity index 100% rename from docs/graphs/kruskal-algorithm.md rename to docs/extra/graphs/kruskal-algorithm.md diff --git a/docs/graphs/minimum-cost-spanning-tree.md b/docs/extra/graphs/minimum-cost-spanning-tree.md similarity index 100% rename from docs/graphs/minimum-cost-spanning-tree.md rename to docs/extra/graphs/minimum-cost-spanning-tree.md diff --git a/docs/graphs/practice-problems.md b/docs/extra/graphs/practice-problems.md similarity index 100% rename from docs/graphs/practice-problems.md rename to docs/extra/graphs/practice-problems.md diff --git a/docs/graphs/prims-algorithm.md b/docs/extra/graphs/prims-algorithm.md similarity index 100% rename from docs/graphs/prims-algorithm.md rename to docs/extra/graphs/prims-algorithm.md diff --git a/docs/graphs/shortest-path-algorithms/A-star-algorithm.md b/docs/extra/graphs/shortest-path-algorithms/A-star-algorithm.md similarity index 100% rename from docs/graphs/shortest-path-algorithms/A-star-algorithm.md rename to docs/extra/graphs/shortest-path-algorithms/A-star-algorithm.md diff --git a/docs/graphs/shortest-path-algorithms/Prims-algorithm.md b/docs/extra/graphs/shortest-path-algorithms/Prims-algorithm.md similarity index 100% rename from docs/graphs/shortest-path-algorithms/Prims-algorithm.md rename to docs/extra/graphs/shortest-path-algorithms/Prims-algorithm.md diff --git a/docs/graphs/shortest-path-algorithms/_category_.json b/docs/extra/graphs/shortest-path-algorithms/_category_.json similarity index 100% rename from docs/graphs/shortest-path-algorithms/_category_.json rename to docs/extra/graphs/shortest-path-algorithms/_category_.json diff --git a/docs/graphs/shortest-path-algorithms/bell-man-ford-algorithm.md b/docs/extra/graphs/shortest-path-algorithms/bell-man-ford-algorithm.md similarity index 100% rename from docs/graphs/shortest-path-algorithms/bell-man-ford-algorithm.md rename to docs/extra/graphs/shortest-path-algorithms/bell-man-ford-algorithm.md diff --git a/docs/graphs/shortest-path-algorithms/dijkstra-algorithm.md b/docs/extra/graphs/shortest-path-algorithms/dijkstra-algorithm.md similarity index 100% rename from docs/graphs/shortest-path-algorithms/dijkstra-algorithm.md rename to docs/extra/graphs/shortest-path-algorithms/dijkstra-algorithm.md diff --git a/docs/graphs/shortest-path-algorithms/floyd-warshall-algorithm.md b/docs/extra/graphs/shortest-path-algorithms/floyd-warshall-algorithm.md similarity index 100% rename from docs/graphs/shortest-path-algorithms/floyd-warshall-algorithm.md rename to docs/extra/graphs/shortest-path-algorithms/floyd-warshall-algorithm.md diff --git a/docs/graphs/tarjans-algo.md b/docs/extra/graphs/tarjans-algo.md similarity index 100% rename from docs/graphs/tarjans-algo.md rename to docs/extra/graphs/tarjans-algo.md diff --git a/docs/graphs/warshall-algo.md b/docs/extra/graphs/warshall-algo.md similarity index 100% rename from docs/graphs/warshall-algo.md rename to docs/extra/graphs/warshall-algo.md diff --git a/docs/greedy-algorithms/Graph-Coloring.md b/docs/extra/greedy-algorithms/Graph-Coloring.md similarity index 100% rename from docs/greedy-algorithms/Graph-Coloring.md rename to docs/extra/greedy-algorithms/Graph-Coloring.md diff --git a/docs/greedy-algorithms/fractional-knapsack-algorithm.md b/docs/extra/greedy-algorithms/fractional-knapsack-algorithm.md similarity index 100% rename from docs/greedy-algorithms/fractional-knapsack-algorithm.md rename to docs/extra/greedy-algorithms/fractional-knapsack-algorithm.md diff --git a/docs/greedy-algorithms/job-scheduling.md b/docs/extra/greedy-algorithms/job-scheduling.md similarity index 100% rename from docs/greedy-algorithms/job-scheduling.md rename to docs/extra/greedy-algorithms/job-scheduling.md diff --git a/docs/greedy-algorithms/kruskals-algorithm.md b/docs/extra/greedy-algorithms/kruskals-algorithm.md similarity index 100% rename from docs/greedy-algorithms/kruskals-algorithm.md rename to docs/extra/greedy-algorithms/kruskals-algorithm.md diff --git a/docs/greedy-algorithms/prims-algorithm.md b/docs/extra/greedy-algorithms/prims-algorithm.md similarity index 100% rename from docs/greedy-algorithms/prims-algorithm.md rename to docs/extra/greedy-algorithms/prims-algorithm.md diff --git a/docs/hash/Practice Problems.md b/docs/extra/hash/Practice Problems.md similarity index 100% rename from docs/hash/Practice Problems.md rename to docs/extra/hash/Practice Problems.md diff --git a/docs/hash/_category_.json b/docs/extra/hash/_category_.json similarity index 100% rename from docs/hash/_category_.json rename to docs/extra/hash/_category_.json diff --git a/docs/hash/hash-tables.md b/docs/extra/hash/hash-tables.md similarity index 100% rename from docs/hash/hash-tables.md rename to docs/extra/hash/hash-tables.md diff --git a/docs/heap/Add-Merge-k-sorted-lists.md b/docs/extra/heap/Add-Merge-k-sorted-lists.md similarity index 100% rename from docs/heap/Add-Merge-k-sorted-lists.md rename to docs/extra/heap/Add-Merge-k-sorted-lists.md diff --git a/docs/heap/Kth-largest-using-min_heap.md b/docs/extra/heap/Kth-largest-using-min_heap.md similarity index 100% rename from docs/heap/Kth-largest-using-min_heap.md rename to docs/extra/heap/Kth-largest-using-min_heap.md diff --git a/docs/heap/Median-of-a-stream.md b/docs/extra/heap/Median-of-a-stream.md similarity index 100% rename from docs/heap/Median-of-a-stream.md rename to docs/extra/heap/Median-of-a-stream.md diff --git a/docs/heap/Problem-Practice.md b/docs/extra/heap/Problem-Practice.md similarity index 100% rename from docs/heap/Problem-Practice.md rename to docs/extra/heap/Problem-Practice.md diff --git a/docs/heap/_category_.json b/docs/extra/heap/_category_.json similarity index 100% rename from docs/heap/_category_.json rename to docs/extra/heap/_category_.json diff --git a/docs/heap/heap-basics.md b/docs/extra/heap/heap-basics.md similarity index 100% rename from docs/heap/heap-basics.md rename to docs/extra/heap/heap-basics.md diff --git a/docs/heap/heap-operations.md b/docs/extra/heap/heap-operations.md similarity index 100% rename from docs/heap/heap-operations.md rename to docs/extra/heap/heap-operations.md diff --git a/docs/heap/kth-largest.md b/docs/extra/heap/kth-largest.md similarity index 100% rename from docs/heap/kth-largest.md rename to docs/extra/heap/kth-largest.md diff --git a/docs/heap/kth-smallest.md b/docs/extra/heap/kth-smallest.md similarity index 100% rename from docs/heap/kth-smallest.md rename to docs/extra/heap/kth-smallest.md diff --git a/docs/heap/time-complexity.md b/docs/extra/heap/time-complexity.md similarity index 100% rename from docs/heap/time-complexity.md rename to docs/extra/heap/time-complexity.md diff --git a/docs/heap/top-k-frequent-elements.md b/docs/extra/heap/top-k-frequent-elements.md similarity index 100% rename from docs/heap/top-k-frequent-elements.md rename to docs/extra/heap/top-k-frequent-elements.md diff --git a/docs/knapsack-disaster-relief/knapsack-disaster-relief.md b/docs/extra/knapsack-disaster-relief/knapsack-disaster-relief.md similarity index 99% rename from docs/knapsack-disaster-relief/knapsack-disaster-relief.md rename to docs/extra/knapsack-disaster-relief/knapsack-disaster-relief.md index b1f10842d..0f8e1d322 100644 --- a/docs/knapsack-disaster-relief/knapsack-disaster-relief.md +++ b/docs/extra/knapsack-disaster-relief/knapsack-disaster-relief.md @@ -2,7 +2,6 @@ id: knapsack-disaster-relief title: "Optimizing Disaster Relief Supply Packing" sidebar_label: "Knapsack for Disaster Relief" -sidebar_position: 1 description: "Solving the 0/1 Knapsack problem to optimize the packing of supplies for disaster relief missions." tags: [Knapsack, Dynamic Programming, Disaster Relief, Algorithms] --- diff --git a/docs/linked-list/CircularDoubly.png b/docs/extra/linked-list/CircularDoubly.png similarity index 100% rename from docs/linked-list/CircularDoubly.png rename to docs/extra/linked-list/CircularDoubly.png diff --git a/docs/linked-list/CircularLinkedList.png b/docs/extra/linked-list/CircularLinkedList.png similarity index 100% rename from docs/linked-list/CircularLinkedList.png rename to docs/extra/linked-list/CircularLinkedList.png diff --git a/docs/linked-list/Doubly-linked-list-C.md b/docs/extra/linked-list/Doubly-linked-list-C.md similarity index 100% rename from docs/linked-list/Doubly-linked-list-C.md rename to docs/extra/linked-list/Doubly-linked-list-C.md diff --git a/docs/linked-list/DoublyLL.png b/docs/extra/linked-list/DoublyLL.png similarity index 100% rename from docs/linked-list/DoublyLL.png rename to docs/extra/linked-list/DoublyLL.png diff --git a/docs/linked-list/Hare-Tortoise.md b/docs/extra/linked-list/Hare-Tortoise.md similarity index 100% rename from docs/linked-list/Hare-Tortoise.md rename to docs/extra/linked-list/Hare-Tortoise.md diff --git a/docs/linked-list/Intersection_Linked_list_python.md b/docs/extra/linked-list/Intersection_Linked_list_python.md similarity index 100% rename from docs/linked-list/Intersection_Linked_list_python.md rename to docs/extra/linked-list/Intersection_Linked_list_python.md diff --git a/docs/linked-list/LinkedList.png b/docs/extra/linked-list/LinkedList.png similarity index 100% rename from docs/linked-list/LinkedList.png rename to docs/extra/linked-list/LinkedList.png diff --git a/docs/linked-list/Polynomial-Addition.md b/docs/extra/linked-list/Polynomial-Addition.md similarity index 100% rename from docs/linked-list/Polynomial-Addition.md rename to docs/extra/linked-list/Polynomial-Addition.md diff --git a/docs/linked-list/Polynomial_multiplication.md b/docs/extra/linked-list/Polynomial_multiplication.md similarity index 100% rename from docs/linked-list/Polynomial_multiplication.md rename to docs/extra/linked-list/Polynomial_multiplication.md diff --git a/docs/linked-list/Practice-Problems.md b/docs/extra/linked-list/Practice-Problems.md similarity index 100% rename from docs/linked-list/Practice-Problems.md rename to docs/extra/linked-list/Practice-Problems.md diff --git a/docs/linked-list/_category_.json b/docs/extra/linked-list/_category_.json similarity index 100% rename from docs/linked-list/_category_.json rename to docs/extra/linked-list/_category_.json diff --git a/docs/linked-list/circular-doubly-linked-list.md b/docs/extra/linked-list/circular-doubly-linked-list.md similarity index 100% rename from docs/linked-list/circular-doubly-linked-list.md rename to docs/extra/linked-list/circular-doubly-linked-list.md diff --git a/docs/linked-list/doubly-linked-list.md b/docs/extra/linked-list/doubly-linked-list.md similarity index 100% rename from docs/linked-list/doubly-linked-list.md rename to docs/extra/linked-list/doubly-linked-list.md diff --git a/docs/linked-list/floyds-cycle-detection.md b/docs/extra/linked-list/floyds-cycle-detection.md similarity index 100% rename from docs/linked-list/floyds-cycle-detection.md rename to docs/extra/linked-list/floyds-cycle-detection.md diff --git a/docs/linked-list/gircular-linked-list.md b/docs/extra/linked-list/gircular-linked-list.md similarity index 100% rename from docs/linked-list/gircular-linked-list.md rename to docs/extra/linked-list/gircular-linked-list.md diff --git a/docs/linked-list/intersection-linked-lists.md b/docs/extra/linked-list/intersection-linked-lists.md similarity index 100% rename from docs/linked-list/intersection-linked-lists.md rename to docs/extra/linked-list/intersection-linked-lists.md diff --git a/docs/linked-list/introduction-to-linked-list.md b/docs/extra/linked-list/introduction-to-linked-list.md similarity index 100% rename from docs/linked-list/introduction-to-linked-list.md rename to docs/extra/linked-list/introduction-to-linked-list.md diff --git a/docs/linked-list/linked-list-approaches.md b/docs/extra/linked-list/linked-list-approaches.md similarity index 100% rename from docs/linked-list/linked-list-approaches.md rename to docs/extra/linked-list/linked-list-approaches.md diff --git a/docs/linked-list/max-twin-sum-of-linked-list.md b/docs/extra/linked-list/max-twin-sum-of-linked-list.md similarity index 100% rename from docs/linked-list/max-twin-sum-of-linked-list.md rename to docs/extra/linked-list/max-twin-sum-of-linked-list.md diff --git a/docs/linked-list/merge-two-sorted-list.md b/docs/extra/linked-list/merge-two-sorted-list.md similarity index 100% rename from docs/linked-list/merge-two-sorted-list.md rename to docs/extra/linked-list/merge-two-sorted-list.md diff --git a/docs/linked-list/next-greater-node-in-linked-list.md b/docs/extra/linked-list/next-greater-node-in-linked-list.md similarity index 100% rename from docs/linked-list/next-greater-node-in-linked-list.md rename to docs/extra/linked-list/next-greater-node-in-linked-list.md diff --git a/docs/linked-list/polynomial-representation.md b/docs/extra/linked-list/polynomial-representation.md similarity index 100% rename from docs/linked-list/polynomial-representation.md rename to docs/extra/linked-list/polynomial-representation.md diff --git a/docs/linked-list/range-sum-of-linked-list.md b/docs/extra/linked-list/range-sum-of-linked-list.md similarity index 100% rename from docs/linked-list/range-sum-of-linked-list.md rename to docs/extra/linked-list/range-sum-of-linked-list.md diff --git a/docs/linked-list/remove-duplicates-from-sorted-list.md b/docs/extra/linked-list/remove-duplicates-from-sorted-list.md similarity index 100% rename from docs/linked-list/remove-duplicates-from-sorted-list.md rename to docs/extra/linked-list/remove-duplicates-from-sorted-list.md diff --git a/docs/linked-list/swapping-node-in-a-linked-list-at-kth-node.md b/docs/extra/linked-list/swapping-node-in-a-linked-list-at-kth-node.md similarity index 100% rename from docs/linked-list/swapping-node-in-a-linked-list-at-kth-node.md rename to docs/extra/linked-list/swapping-node-in-a-linked-list-at-kth-node.md diff --git a/docs/machine-learning/AdaBoost.md b/docs/extra/machine-learning/AdaBoost.md similarity index 100% rename from docs/machine-learning/AdaBoost.md rename to docs/extra/machine-learning/AdaBoost.md diff --git a/docs/machine-learning/Autoencoders.md b/docs/extra/machine-learning/Autoencoders.md similarity index 100% rename from docs/machine-learning/Autoencoders.md rename to docs/extra/machine-learning/Autoencoders.md diff --git a/docs/machine-learning/BeamSearch.md b/docs/extra/machine-learning/BeamSearch.md similarity index 100% rename from docs/machine-learning/BeamSearch.md rename to docs/extra/machine-learning/BeamSearch.md diff --git a/docs/machine-learning/Catboost.md b/docs/extra/machine-learning/Catboost.md similarity index 100% rename from docs/machine-learning/Catboost.md rename to docs/extra/machine-learning/Catboost.md diff --git a/docs/machine-learning/Convolutional_Neural_Network.md b/docs/extra/machine-learning/Convolutional_Neural_Network.md similarity index 100% rename from docs/machine-learning/Convolutional_Neural_Network.md rename to docs/extra/machine-learning/Convolutional_Neural_Network.md diff --git a/docs/machine-learning/DBSCAN_Clustering_Algorithm.md b/docs/extra/machine-learning/DBSCAN_Clustering_Algorithm.md similarity index 100% rename from docs/machine-learning/DBSCAN_Clustering_Algorithm.md rename to docs/extra/machine-learning/DBSCAN_Clustering_Algorithm.md diff --git a/docs/machine-learning/Extra_Trees.md b/docs/extra/machine-learning/Extra_Trees.md similarity index 100% rename from docs/machine-learning/Extra_Trees.md rename to docs/extra/machine-learning/Extra_Trees.md diff --git a/docs/machine-learning/GBM.md b/docs/extra/machine-learning/GBM.md similarity index 100% rename from docs/machine-learning/GBM.md rename to docs/extra/machine-learning/GBM.md diff --git a/docs/machine-learning/Gaussian_Mixture_Model.md b/docs/extra/machine-learning/Gaussian_Mixture_Model.md similarity index 100% rename from docs/machine-learning/Gaussian_Mixture_Model.md rename to docs/extra/machine-learning/Gaussian_Mixture_Model.md diff --git a/docs/machine-learning/Generative_Adversarial_Networks.md b/docs/extra/machine-learning/Generative_Adversarial_Networks.md similarity index 100% rename from docs/machine-learning/Generative_Adversarial_Networks.md rename to docs/extra/machine-learning/Generative_Adversarial_Networks.md diff --git a/docs/machine-learning/HBOS.md b/docs/extra/machine-learning/HBOS.md similarity index 100% rename from docs/machine-learning/HBOS.md rename to docs/extra/machine-learning/HBOS.md diff --git a/docs/machine-learning/Hidden_Markov_Model.md b/docs/extra/machine-learning/Hidden_Markov_Model.md similarity index 100% rename from docs/machine-learning/Hidden_Markov_Model.md rename to docs/extra/machine-learning/Hidden_Markov_Model.md diff --git a/docs/machine-learning/HierarchialClustering.md b/docs/extra/machine-learning/HierarchialClustering.md similarity index 100% rename from docs/machine-learning/HierarchialClustering.md rename to docs/extra/machine-learning/HierarchialClustering.md diff --git a/docs/machine-learning/Independent Component Analysis.md b/docs/extra/machine-learning/Independent Component Analysis.md similarity index 100% rename from docs/machine-learning/Independent Component Analysis.md rename to docs/extra/machine-learning/Independent Component Analysis.md diff --git a/docs/machine-learning/K-Means_clustering.md b/docs/extra/machine-learning/K-Means_clustering.md similarity index 100% rename from docs/machine-learning/K-Means_clustering.md rename to docs/extra/machine-learning/K-Means_clustering.md diff --git a/docs/machine-learning/K-NearestNeighbours.md b/docs/extra/machine-learning/K-NearestNeighbours.md similarity index 100% rename from docs/machine-learning/K-NearestNeighbours.md rename to docs/extra/machine-learning/K-NearestNeighbours.md diff --git a/docs/machine-learning/LinearRegression.md b/docs/extra/machine-learning/LinearRegression.md similarity index 100% rename from docs/machine-learning/LinearRegression.md rename to docs/extra/machine-learning/LinearRegression.md diff --git a/docs/machine-learning/LogisticRegression.md b/docs/extra/machine-learning/LogisticRegression.md similarity index 100% rename from docs/machine-learning/LogisticRegression.md rename to docs/extra/machine-learning/LogisticRegression.md diff --git a/docs/machine-learning/Long_Short_Term_Memory.md b/docs/extra/machine-learning/Long_Short_Term_Memory.md similarity index 100% rename from docs/machine-learning/Long_Short_Term_Memory.md rename to docs/extra/machine-learning/Long_Short_Term_Memory.md diff --git a/docs/machine-learning/PC_Visualizations.md b/docs/extra/machine-learning/PC_Visualizations.md similarity index 100% rename from docs/machine-learning/PC_Visualizations.md rename to docs/extra/machine-learning/PC_Visualizations.md diff --git a/docs/machine-learning/Recurrent_Neural_Network.md b/docs/extra/machine-learning/Recurrent_Neural_Network.md similarity index 100% rename from docs/machine-learning/Recurrent_Neural_Network.md rename to docs/extra/machine-learning/Recurrent_Neural_Network.md diff --git a/docs/machine-learning/Reinforcement_Learning.md b/docs/extra/machine-learning/Reinforcement_Learning.md similarity index 100% rename from docs/machine-learning/Reinforcement_Learning.md rename to docs/extra/machine-learning/Reinforcement_Learning.md diff --git a/docs/machine-learning/RidgeRegression.md b/docs/extra/machine-learning/RidgeRegression.md similarity index 100% rename from docs/machine-learning/RidgeRegression.md rename to docs/extra/machine-learning/RidgeRegression.md diff --git a/docs/machine-learning/SDG.md b/docs/extra/machine-learning/SDG.md similarity index 100% rename from docs/machine-learning/SDG.md rename to docs/extra/machine-learning/SDG.md diff --git a/docs/machine-learning/SVM.md b/docs/extra/machine-learning/SVM.md similarity index 100% rename from docs/machine-learning/SVM.md rename to docs/extra/machine-learning/SVM.md diff --git a/docs/machine-learning/Silhoutte.md b/docs/extra/machine-learning/Silhoutte.md similarity index 100% rename from docs/machine-learning/Silhoutte.md rename to docs/extra/machine-learning/Silhoutte.md diff --git a/docs/machine-learning/Singular_Value_Decomposition_Algorithm.md b/docs/extra/machine-learning/Singular_Value_Decomposition_Algorithm.md similarity index 100% rename from docs/machine-learning/Singular_Value_Decomposition_Algorithm.md rename to docs/extra/machine-learning/Singular_Value_Decomposition_Algorithm.md diff --git a/docs/machine-learning/Statistical_Anomaly_Detection.md b/docs/extra/machine-learning/Statistical_Anomaly_Detection.md similarity index 100% rename from docs/machine-learning/Statistical_Anomaly_Detection.md rename to docs/extra/machine-learning/Statistical_Anomaly_Detection.md diff --git a/docs/machine-learning/Time_Series_Forecasting_Algo.md b/docs/extra/machine-learning/Time_Series_Forecasting_Algo.md similarity index 100% rename from docs/machine-learning/Time_Series_Forecasting_Algo.md rename to docs/extra/machine-learning/Time_Series_Forecasting_Algo.md diff --git a/docs/machine-learning/XGBoost.md b/docs/extra/machine-learning/XGBoost.md similarity index 100% rename from docs/machine-learning/XGBoost.md rename to docs/extra/machine-learning/XGBoost.md diff --git a/docs/machine-learning/decisionTree.md b/docs/extra/machine-learning/decisionTree.md similarity index 100% rename from docs/machine-learning/decisionTree.md rename to docs/extra/machine-learning/decisionTree.md diff --git a/docs/machine-learning/deep-q-networks.md b/docs/extra/machine-learning/deep-q-networks.md similarity index 97% rename from docs/machine-learning/deep-q-networks.md rename to docs/extra/machine-learning/deep-q-networks.md index 7e25e08b5..1f8124b4f 100644 --- a/docs/machine-learning/deep-q-networks.md +++ b/docs/extra/machine-learning/deep-q-networks.md @@ -1,164 +1,164 @@ ---- -id: deep-q-networks -title: Deep Q-Networks (DQN) Algorithm -sidebar_label: Deep Q-Networks -description: "An introduction to Deep Q-Networks, a reinforcement learning technique that combines Q-Learning with deep neural networks to handle complex, high-dimensional state spaces." -tags: [machine learning, reinforcement learning, DQN, deep learning, algorithms] ---- - - - -### Definition: -**Deep Q-Networks (DQN)** is a reinforcement learning algorithm that extends Q-Learning by using deep neural networks to approximate the Q-function. This allows DQN to handle high-dimensional state spaces that are not feasible with traditional tabular Q-Learning. The approach was popularized by DeepMind's success in applying DQN to play Atari games at a superhuman level. - -### Characteristics: -- **Combines Deep Learning with Reinforcement Learning**: - DQN leverages neural networks to estimate Q-values, enabling agents to make decisions in environments with complex, high-dimensional state representations. - -- **Experience Replay**: - To improve training stability, DQN stores experiences (state, action, reward, next state) in a replay buffer and samples mini-batches from this buffer to train the network. This reduces correlations between consecutive experiences. - -- **Fixed Target Network**: - DQN uses a separate target network to provide stable Q-value updates. This network is periodically updated with the weights of the main Q-network, preventing harmful feedback loops during training. - - - -### How It Works: -DQN follows the same principles as Q-Learning but uses a deep neural network $ Q(s, a; \theta) $ parameterized by weights $ \theta $ to approximate Q-values. The network is trained to minimize the loss function: - -$$ -L(\theta) = \mathbb{E}_{(s, a, r, s') \sim \text{ReplayBuffer}} \left[ \left( r + \gamma \max_{a'} Q(s', a'; \theta^-) - Q(s, a; \theta) \right)^2 \right] -$$ - -- **$ \theta $**: Weights of the current Q-network -- **$ \theta^- $**: Weights of the target network (held fixed for stability) -- **$ \gamma $**: Discount factor for future rewards - -### Steps Involved: -1. **Initialize Replay Buffer and Networks**: - Initialize the replay buffer, the Q-network with weights $ \theta $, and the target network with weights $ \theta^- $ (set $ \theta^- = \theta $). - -2. **Choose an Action**: - Select an action using an epsilon-greedy policy based on the Q-values predicted by the Q-network. - -3. **Take Action and Store Experience**: - Execute the action, observe the reward, and store the experience (state, action, reward, next state) in the replay buffer. - -4. **Sample Mini-Batch**: - Randomly sample a mini-batch of experiences from the replay buffer for training. - -5. **Compute Target and Update Weights**: - Compute the target Q-value and update the Q-network weights $ \theta $ by minimizing the loss function. - -6. **Update Target Network**: - Periodically update the target network weights $ \theta^- $ to match the Q-network weights $ \theta $. - - - -### Problem Statement: -Develop a DQN agent capable of learning policies in environments where the state space is large or continuous, such as video games or robotics. - -### Key Concepts: -- **Neural Network Architecture**: - A multi-layer neural network that takes the state as input and outputs Q-values for each action. - -- **Experience Replay Buffer**: - Stores past experiences to break the temporal correlations between consecutive training samples and improve training efficiency. - -- **Epsilon-Greedy Strategy**: - Balances exploration and exploitation by selecting random actions with probability $ \epsilon $ and greedy actions based on the Q-network with probability $ 1 - \epsilon $. - -### Example: -Consider an agent learning to play a simple game with pixel-based input: - -- **States**: Raw pixel data from the game screen. -- **Actions**: Available moves (e.g., left, right, jump). -- **Rewards**: +1 for progressing in the game, -1 for losing a life. - - - -**Training Steps**: -1. Preprocess the state (e.g., resize, grayscale). -2. Feed the state into the Q-network to predict Q-values. -3. Select an action using the epsilon-greedy strategy. -4. Observe the reward and next state. -5. Store the experience in the replay buffer. -6. Sample a mini-batch from the buffer and train the network. - -### Python Implementation: -Below is a simplified version of a DQN implementation in Python using **TensorFlow/Keras**: - -```python -import numpy as np -import tensorflow as tf -from collections import deque -import random - -# Neural network model for the Q-network -def build_model(state_size, action_size): - model = tf.keras.Sequential([ - tf.keras.layers.Dense(24, input_dim=state_size, activation='relu'), - tf.keras.layers.Dense(24, activation='relu'), - tf.keras.layers.Dense(action_size, activation='linear') - ]) - model.compile(optimizer='adam', loss='mse') - return model - -# Replay buffer -replay_buffer = deque(maxlen=2000) - -# Parameters -state_size = 4 # Example state space size -action_size = 2 # Example action space size -gamma = 0.95 # Discount factor -epsilon = 1.0 # Exploration rate -epsilon_min = 0.01 -epsilon_decay = 0.995 -batch_size = 32 -update_target_frequency = 10 - -# Initialize models -q_network = build_model(state_size, action_size) -target_network = build_model(state_size, action_size) -target_network.set_weights(q_network.get_weights()) - -# Training loop -for episode in range(num_episodes): - state = env.reset() - done = False - while not done: - # Choose action using epsilon-greedy strategy - if np.random.rand() < epsilon: - action = env.action_space.sample() - else: - action = np.argmax(q_network.predict(state)) - - # Take action, observe reward and next state - next_state, reward, done, _ = env.step(action) - replay_buffer.append((state, action, reward, next_state, done)) - state = next_state - - # Sample mini-batch and train - if len(replay_buffer) > batch_size: - minibatch = random.sample(replay_buffer, batch_size) - for state, action, reward, next_state, done in minibatch: - target = reward - if not done: - target += gamma * np.max(target_network.predict(next_state)) - target_f = q_network.predict(state) - target_f[0][action] = target - q_network.fit(state, target_f, epochs=1, verbose=0) - - # Update epsilon - if epsilon > epsilon_min: - epsilon *= epsilon_decay - - # Update target network - if episode % update_target_frequency == 0: - target_network.set_weights(q_network.get_weights()) - -print("DQN training completed.") -``` - -### Conclusion: -DQN has significantly advanced the capabilities of reinforcement learning, making it practical to apply RL algorithms in complex environments with large state spaces. By leveraging deep neural networks, DQN has paved the way for applications ranging from gaming to real-world tasks like robotics. +--- +id: deep-q-networks +title: Deep Q-Networks (DQN) Algorithm +sidebar_label: Deep Q-Networks +description: "An introduction to Deep Q-Networks, a reinforcement learning technique that combines Q-Learning with deep neural networks to handle complex, high-dimensional state spaces." +tags: [machine learning, reinforcement learning, DQN, deep learning, algorithms] +--- + + + +### Definition: +**Deep Q-Networks (DQN)** is a reinforcement learning algorithm that extends Q-Learning by using deep neural networks to approximate the Q-function. This allows DQN to handle high-dimensional state spaces that are not feasible with traditional tabular Q-Learning. The approach was popularized by DeepMind's success in applying DQN to play Atari games at a superhuman level. + +### Characteristics: +- **Combines Deep Learning with Reinforcement Learning**: + DQN leverages neural networks to estimate Q-values, enabling agents to make decisions in environments with complex, high-dimensional state representations. + +- **Experience Replay**: + To improve training stability, DQN stores experiences (state, action, reward, next state) in a replay buffer and samples mini-batches from this buffer to train the network. This reduces correlations between consecutive experiences. + +- **Fixed Target Network**: + DQN uses a separate target network to provide stable Q-value updates. This network is periodically updated with the weights of the main Q-network, preventing harmful feedback loops during training. + + + +### How It Works: +DQN follows the same principles as Q-Learning but uses a deep neural network $ Q(s, a; \theta) $ parameterized by weights $ \theta $ to approximate Q-values. The network is trained to minimize the loss function: + +$$ +L(\theta) = \mathbb{E}_{(s, a, r, s') \sim \text{ReplayBuffer}} \left[ \left( r + \gamma \max_{a'} Q(s', a'; \theta^-) - Q(s, a; \theta) \right)^2 \right] +$$ + +- **$ \theta $**: Weights of the current Q-network +- **$ \theta^- $**: Weights of the target network (held fixed for stability) +- **$ \gamma $**: Discount factor for future rewards + +### Steps Involved: +1. **Initialize Replay Buffer and Networks**: + Initialize the replay buffer, the Q-network with weights $ \theta $, and the target network with weights $ \theta^- $ (set $ \theta^- = \theta $). + +2. **Choose an Action**: + Select an action using an epsilon-greedy policy based on the Q-values predicted by the Q-network. + +3. **Take Action and Store Experience**: + Execute the action, observe the reward, and store the experience (state, action, reward, next state) in the replay buffer. + +4. **Sample Mini-Batch**: + Randomly sample a mini-batch of experiences from the replay buffer for training. + +5. **Compute Target and Update Weights**: + Compute the target Q-value and update the Q-network weights $ \theta $ by minimizing the loss function. + +6. **Update Target Network**: + Periodically update the target network weights $ \theta^- $ to match the Q-network weights $ \theta $. + + + +### Problem Statement: +Develop a DQN agent capable of learning policies in environments where the state space is large or continuous, such as video games or robotics. + +### Key Concepts: +- **Neural Network Architecture**: + A multi-layer neural network that takes the state as input and outputs Q-values for each action. + +- **Experience Replay Buffer**: + Stores past experiences to break the temporal correlations between consecutive training samples and improve training efficiency. + +- **Epsilon-Greedy Strategy**: + Balances exploration and exploitation by selecting random actions with probability $ \epsilon $ and greedy actions based on the Q-network with probability $ 1 - \epsilon $. + +### Example: +Consider an agent learning to play a simple game with pixel-based input: + +- **States**: Raw pixel data from the game screen. +- **Actions**: Available moves (e.g., left, right, jump). +- **Rewards**: +1 for progressing in the game, -1 for losing a life. + + + +**Training Steps**: +1. Preprocess the state (e.g., resize, grayscale). +2. Feed the state into the Q-network to predict Q-values. +3. Select an action using the epsilon-greedy strategy. +4. Observe the reward and next state. +5. Store the experience in the replay buffer. +6. Sample a mini-batch from the buffer and train the network. + +### Python Implementation: +Below is a simplified version of a DQN implementation in Python using **TensorFlow/Keras**: + +```python +import numpy as np +import tensorflow as tf +from collections import deque +import random + +# Neural network model for the Q-network +def build_model(state_size, action_size): + model = tf.keras.Sequential([ + tf.keras.layers.Dense(24, input_dim=state_size, activation='relu'), + tf.keras.layers.Dense(24, activation='relu'), + tf.keras.layers.Dense(action_size, activation='linear') + ]) + model.compile(optimizer='adam', loss='mse') + return model + +# Replay buffer +replay_buffer = deque(maxlen=2000) + +# Parameters +state_size = 4 # Example state space size +action_size = 2 # Example action space size +gamma = 0.95 # Discount factor +epsilon = 1.0 # Exploration rate +epsilon_min = 0.01 +epsilon_decay = 0.995 +batch_size = 32 +update_target_frequency = 10 + +# Initialize models +q_network = build_model(state_size, action_size) +target_network = build_model(state_size, action_size) +target_network.set_weights(q_network.get_weights()) + +# Training loop +for episode in range(num_episodes): + state = env.reset() + done = False + while not done: + # Choose action using epsilon-greedy strategy + if np.random.rand() < epsilon: + action = env.action_space.sample() + else: + action = np.argmax(q_network.predict(state)) + + # Take action, observe reward and next state + next_state, reward, done, _ = env.step(action) + replay_buffer.append((state, action, reward, next_state, done)) + state = next_state + + # Sample mini-batch and train + if len(replay_buffer) > batch_size: + minibatch = random.sample(replay_buffer, batch_size) + for state, action, reward, next_state, done in minibatch: + target = reward + if not done: + target += gamma * np.max(target_network.predict(next_state)) + target_f = q_network.predict(state) + target_f[0][action] = target + q_network.fit(state, target_f, epochs=1, verbose=0) + + # Update epsilon + if epsilon > epsilon_min: + epsilon *= epsilon_decay + + # Update target network + if episode % update_target_frequency == 0: + target_network.set_weights(q_network.get_weights()) + +print("DQN training completed.") +``` + +### Conclusion: +DQN has significantly advanced the capabilities of reinforcement learning, making it practical to apply RL algorithms in complex environments with large state spaces. By leveraging deep neural networks, DQN has paved the way for applications ranging from gaming to real-world tasks like robotics. diff --git a/docs/machine-learning/hierarchical-clustering-visualizations.md b/docs/extra/machine-learning/hierarchical-clustering-visualizations.md similarity index 100% rename from docs/machine-learning/hierarchical-clustering-visualizations.md rename to docs/extra/machine-learning/hierarchical-clustering-visualizations.md diff --git a/docs/machine-learning/lasso_regression.md b/docs/extra/machine-learning/lasso_regression.md similarity index 100% rename from docs/machine-learning/lasso_regression.md rename to docs/extra/machine-learning/lasso_regression.md diff --git a/docs/machine-learning/naive-bayes.md b/docs/extra/machine-learning/naive-bayes.md similarity index 100% rename from docs/machine-learning/naive-bayes.md rename to docs/extra/machine-learning/naive-bayes.md diff --git a/docs/machine-learning/neuralNetworks.md b/docs/extra/machine-learning/neuralNetworks.md similarity index 100% rename from docs/machine-learning/neuralNetworks.md rename to docs/extra/machine-learning/neuralNetworks.md diff --git a/docs/machine-learning/policy-gradient-visualization.md b/docs/extra/machine-learning/policy-gradient-visualization.md similarity index 97% rename from docs/machine-learning/policy-gradient-visualization.md rename to docs/extra/machine-learning/policy-gradient-visualization.md index 6b203d1c4..f3295e0a8 100644 --- a/docs/machine-learning/policy-gradient-visualization.md +++ b/docs/extra/machine-learning/policy-gradient-visualization.md @@ -1,141 +1,141 @@ ---- -id: policy-gradient-visualization -title: Policy Gradient Methods Algorithm -sidebar_label: Policy Gradient Methods -description: "An introduction to policy gradient methods in reinforcement learning, including their role in optimizing policies directly for better performance in continuous action spaces." -tags: [machine learning, reinforcement learning, policy gradient, algorithms, visualization] ---- - - - -### Definition: - -**Policy Gradient Methods** are a class of reinforcement learning algorithms that optimize the policy directly by updating its parameters to maximize the expected cumulative reward. Unlike value-based methods that learn a value function, policy gradient approaches adjust the policy itself, making them suitable for environments with continuous action spaces. - -### Characteristics: -- **Direct Policy Optimization**: - Instead of deriving the policy from a value function, policy gradient methods optimize the policy directly by following the gradient of the expected reward. - -- **Continuous Action Spaces**: - These methods excel in scenarios where actions are continuous, making them essential for real-world applications like robotic control and complex decision-making tasks. - -### How It Works: -Policy gradient methods operate by adjusting the policy parameters $\theta$ in the direction that increases the expected return $J(\theta)$. The update step typically follows this rule: - -$$ -\theta \leftarrow \theta + \alpha \nabla_\theta J(\theta) -$$ - -where $\alpha$ is the learning rate and $\nabla_\theta J(\theta)$ represents the gradient of the expected reward to the policy parameters. - -### Problem Statement: -Implement policy gradient algorithms as part of a reinforcement learning framework to enhance support for continuous action spaces and enable users to visualize policy updates and improvements over time. - -### Key Concepts: -- **Policy**: - A function $\pi_\theta(a|s)$ that defines the probability of taking action $a$ in state $s$ given parameters $\theta$. - -- **Score Function**: - The gradient estimation used is known as the **likelihood ratio gradient** or **REINFORCE** algorithm, computed by: - -$$ -\nabla_\theta J(\theta) \approx \sum_{t=1}^{T} \nabla_\theta \log \pi_\theta(a_t | s_t) G_t -$$ - -where $G_t$ is the discounted return after time step $t$. - -- **Baseline**: - To reduce variance in gradient estimation, a baseline (e.g., value function) is often subtracted from the return without changing the expected value of the gradient. - -### Types of Policy Gradient Algorithms: -1. **REINFORCE Algorithm**: - A simple Monte Carlo policy gradient method where updates are made after complete episodes. - -2. **Actor-Critic Methods**: - Combine policy gradient methods (actor) with a value function estimator (critic) to improve learning efficiency by using TD (Temporal-Difference) updates. - -3. **Proximal Policy Optimization (PPO)**: - A popular policy gradient approach prevents large updates to the policy by using a clipped objective function, enhancing stability. - -### Steps Involved: -1. **Initialize Policy Parameters**: - Start with random weights for the policy network. - -2. **Sample Trajectories**: - Collect episodes by interacting with the environment using the current policy. - -3. **Calculate Returns**: - Compute the total reward for each step in the trajectory. - -4. **Estimate Policy Gradient**: - Calculate the policy gradient based on sampled trajectories. - -5. **Update Policy**: - Adjust the policy parameters in the direction of the gradient. - -### Example Implementation: -Here is a basic example of implementing a policy gradient method using Python and PyTorch: - -```python -import torch -import torch.nn as nn -import torch.optim as optim -import numpy as np - -# Simple policy network -class PolicyNetwork(nn.Module): - def __init__(self, input_dim, hidden_dim, output_dim): - super(PolicyNetwork, self).__init__() - self.fc1 = nn.Linear(input_dim, hidden_dim) - self.fc2 = nn.Linear(hidden_dim, output_dim) - - def forward(self, x): - x = torch.relu(self.fc1(x)) - return torch.softmax(self.fc2(x), dim=-1) - -# Hyperparameters -input_dim = 4 # Example state size (e.g., from CartPole) -hidden_dim = 128 -output_dim = 2 # Number of actions -learning_rate = 0.01 - -# Initialize policy network and optimizer -policy_net = PolicyNetwork(input_dim, hidden_dim, output_dim) -optimizer = optim.Adam(policy_net.parameters(), lr=learning_rate) - -# Placeholder for training loop -for episode in range(1000): - # Sample an episode (code to interact with environment not shown) - # Compute returns and policy gradients - # Update policy parameters using optimizer - pass -``` - -### Visualization: -Implementing visualizations can help observe how the policy changes over time, which can be done by plotting: -- **Policy Distribution**: Display the action probabilities for given states over episodes. -- **Rewards Over Episodes**: Track the cumulative reward to assess learning progress. -- **Gradient Updates**: Visualize parameter updates to understand learning dynamics. - -### Benefits: -- **Flexibility in Action Spaces**: - Applicable to both discrete and continuous action spaces. - -- **Improved Exploration**: - Direct policy optimization can lead to better exploration strategies. - -- **Stability Enhancements**: - Advanced variants like PPO and Trust Region Policy Optimization (TRPO) add stability to policy updates. - -### Challenges: -- **High Variance**: - Gradient estimates can have high variance, making learning unstable without variance reduction techniques (e.g., baselines). - -- **Sample Inefficiency**: - Requires many samples to produce reliable policy updates. - -- **Tuning**: - Requires careful tuning of hyperparameters like learning rate and policy architecture. - -### Conclusion: -Policy gradient methods provide a robust framework for training reinforcement learning agents in complex environments, especially those involving continuous actions. By directly optimizing the policy, they offer a path to enhanced performance in various real-world applications. +--- +id: policy-gradient-visualization +title: Policy Gradient Methods Algorithm +sidebar_label: Policy Gradient Methods +description: "An introduction to policy gradient methods in reinforcement learning, including their role in optimizing policies directly for better performance in continuous action spaces." +tags: [machine learning, reinforcement learning, policy gradient, algorithms, visualization] +--- + + + +### Definition: + +**Policy Gradient Methods** are a class of reinforcement learning algorithms that optimize the policy directly by updating its parameters to maximize the expected cumulative reward. Unlike value-based methods that learn a value function, policy gradient approaches adjust the policy itself, making them suitable for environments with continuous action spaces. + +### Characteristics: +- **Direct Policy Optimization**: + Instead of deriving the policy from a value function, policy gradient methods optimize the policy directly by following the gradient of the expected reward. + +- **Continuous Action Spaces**: + These methods excel in scenarios where actions are continuous, making them essential for real-world applications like robotic control and complex decision-making tasks. + +### How It Works: +Policy gradient methods operate by adjusting the policy parameters $\theta$ in the direction that increases the expected return $J(\theta)$. The update step typically follows this rule: + +$$ +\theta \leftarrow \theta + \alpha \nabla_\theta J(\theta) +$$ + +where $\alpha$ is the learning rate and $\nabla_\theta J(\theta)$ represents the gradient of the expected reward to the policy parameters. + +### Problem Statement: +Implement policy gradient algorithms as part of a reinforcement learning framework to enhance support for continuous action spaces and enable users to visualize policy updates and improvements over time. + +### Key Concepts: +- **Policy**: + A function $\pi_\theta(a|s)$ that defines the probability of taking action $a$ in state $s$ given parameters $\theta$. + +- **Score Function**: + The gradient estimation used is known as the **likelihood ratio gradient** or **REINFORCE** algorithm, computed by: + +$$ +\nabla_\theta J(\theta) \approx \sum_{t=1}^{T} \nabla_\theta \log \pi_\theta(a_t | s_t) G_t +$$ + +where $G_t$ is the discounted return after time step $t$. + +- **Baseline**: + To reduce variance in gradient estimation, a baseline (e.g., value function) is often subtracted from the return without changing the expected value of the gradient. + +### Types of Policy Gradient Algorithms: +1. **REINFORCE Algorithm**: + A simple Monte Carlo policy gradient method where updates are made after complete episodes. + +2. **Actor-Critic Methods**: + Combine policy gradient methods (actor) with a value function estimator (critic) to improve learning efficiency by using TD (Temporal-Difference) updates. + +3. **Proximal Policy Optimization (PPO)**: + A popular policy gradient approach prevents large updates to the policy by using a clipped objective function, enhancing stability. + +### Steps Involved: +1. **Initialize Policy Parameters**: + Start with random weights for the policy network. + +2. **Sample Trajectories**: + Collect episodes by interacting with the environment using the current policy. + +3. **Calculate Returns**: + Compute the total reward for each step in the trajectory. + +4. **Estimate Policy Gradient**: + Calculate the policy gradient based on sampled trajectories. + +5. **Update Policy**: + Adjust the policy parameters in the direction of the gradient. + +### Example Implementation: +Here is a basic example of implementing a policy gradient method using Python and PyTorch: + +```python +import torch +import torch.nn as nn +import torch.optim as optim +import numpy as np + +# Simple policy network +class PolicyNetwork(nn.Module): + def __init__(self, input_dim, hidden_dim, output_dim): + super(PolicyNetwork, self).__init__() + self.fc1 = nn.Linear(input_dim, hidden_dim) + self.fc2 = nn.Linear(hidden_dim, output_dim) + + def forward(self, x): + x = torch.relu(self.fc1(x)) + return torch.softmax(self.fc2(x), dim=-1) + +# Hyperparameters +input_dim = 4 # Example state size (e.g., from CartPole) +hidden_dim = 128 +output_dim = 2 # Number of actions +learning_rate = 0.01 + +# Initialize policy network and optimizer +policy_net = PolicyNetwork(input_dim, hidden_dim, output_dim) +optimizer = optim.Adam(policy_net.parameters(), lr=learning_rate) + +# Placeholder for training loop +for episode in range(1000): + # Sample an episode (code to interact with environment not shown) + # Compute returns and policy gradients + # Update policy parameters using optimizer + pass +``` + +### Visualization: +Implementing visualizations can help observe how the policy changes over time, which can be done by plotting: +- **Policy Distribution**: Display the action probabilities for given states over episodes. +- **Rewards Over Episodes**: Track the cumulative reward to assess learning progress. +- **Gradient Updates**: Visualize parameter updates to understand learning dynamics. + +### Benefits: +- **Flexibility in Action Spaces**: + Applicable to both discrete and continuous action spaces. + +- **Improved Exploration**: + Direct policy optimization can lead to better exploration strategies. + +- **Stability Enhancements**: + Advanced variants like PPO and Trust Region Policy Optimization (TRPO) add stability to policy updates. + +### Challenges: +- **High Variance**: + Gradient estimates can have high variance, making learning unstable without variance reduction techniques (e.g., baselines). + +- **Sample Inefficiency**: + Requires many samples to produce reliable policy updates. + +- **Tuning**: + Requires careful tuning of hyperparameters like learning rate and policy architecture. + +### Conclusion: +Policy gradient methods provide a robust framework for training reinforcement learning agents in complex environments, especially those involving continuous actions. By directly optimizing the policy, they offer a path to enhanced performance in various real-world applications. diff --git a/docs/machine-learning/principal-component-analysis.md b/docs/extra/machine-learning/principal-component-analysis.md similarity index 100% rename from docs/machine-learning/principal-component-analysis.md rename to docs/extra/machine-learning/principal-component-analysis.md diff --git a/docs/machine-learning/qLearning.md b/docs/extra/machine-learning/qLearning.md similarity index 97% rename from docs/machine-learning/qLearning.md rename to docs/extra/machine-learning/qLearning.md index 1a3be3b1f..a5c0f309a 100644 --- a/docs/machine-learning/qLearning.md +++ b/docs/extra/machine-learning/qLearning.md @@ -1,129 +1,129 @@ ---- -id: q-learning -title: Q Learning Algorithm -sidebar_label: Q Learning -description: "An overview of the Q-Learning Algorithm, a model-free reinforcement learning method that learns the optimal action-value function to guide decision-making." -tags: [machine learning, reinforcement learning, q-learning, algorithms, model-free] ---- - -### Definition: -The **Q-Learning Algorithm** is a model-free reinforcement learning algorithm used to find the optimal action-selection policy for any given finite Markov Decision Process (MDP). It works by learning the value of actions in specific states without needing a model of the environment and aims to optimize long-term rewards. - - - -### Characteristics: -- **Model-Free**: - Q-Learning does not require prior knowledge of the environment's dynamics and learns directly from experience. - -- **Off-Policy**: - The algorithm updates the value of actions using the maximum expected future rewards, regardless of the agent's current policy. - -- **Exploration vs. Exploitation**: - Balances exploring new actions to find better long-term rewards and exploiting known actions to maximize immediate rewards, often managed using **epsilon-greedy** strategy. - -### How It Works: -Q-Learning learns an **action-value function (Q-function)** that maps state-action pairs to their expected cumulative rewards. The Q-value is updated using the following equation: - -$$ -Q(s, a) \leftarrow Q(s, a) + \alpha \left[ r + \gamma \max_{a'} Q(s', a') - Q(s, a) \right] -$$ - -- $ s $: Current state -- $ a $: Action taken in the current state -- $ r $: Reward received after taking action $ a $ -- $ s' $: Next state after taking action $ a $ -- $\alpha $: Learning rate (controls how much new information overrides old) -- $ \gamma $: Discount factor (determines the importance of future rewards) - -### Steps Involved: -1. **Initialization**: - Initialize the Q-table with zeros or random values for all possible state-action pairs. - -2. **Choose an Action**: - Select an action using an exploration strategy (e.g., epsilon-greedy). - -3. **Take Action and Observe Reward**: - Execute the selected action, transition to a new state, and receive the corresponding reward. - -4. **Update Q-Value**: - Update the Q-value of the current state-action pair using the Q-Learning update rule. - -5. **Repeat**: - Continue until the learning converges or a stopping condition is met. - - - -### Problem Statement: -Given an environment defined by states and actions with unknown dynamics, the goal is to learn the optimal Q-function that allows an agent to make decisions maximizing cumulative rewards over time. - -### Key Concepts: -- **Q-Table**: - A matrix where each row represents a state, and each column represents an action. The values represent the learned Q-values for state-action pairs. - -- **Epsilon-Greedy Strategy**: - A common method to balance exploration and exploitation. The agent selects a random action with probability $ \epsilon $ and the best-known action with probability $ 1 - \epsilon $. - -- **Convergence**: - Q-learning converges to the optimal Q-function given an infinite number of episodes and a decaying learning rate. - -### Example: -Consider a grid-world environment where an agent navigates to collect rewards: - -- **States**: Positions on the grid (e.g., (1,1), (1,2)) -- **Actions**: Up, Down, Left, Right -- **Rewards**: +1 for reaching the goal, -1 for hitting obstacles, 0 otherwise - -**Update Step**: -After moving from (1,1) to (1,2) with action "Right" and receiving a reward of 0: - -$$ -Q(1,1, \text{Right}) \leftarrow Q(1,1, \text{Right}) + \alpha \left[ 0 + \gamma \max_{a'} Q(1,2, a') - Q(1,1, \text{Right}) \right] -$$ - -### Python Implementation: -Here is a basic implementation of Q-Learning in Python: - -```python -import numpy as np - -# Initialize Q-table with zeros -q_table = np.zeros((state_space_size, action_space_size)) - -# Hyperparameters -alpha = 0.1 # Learning rate -gamma = 0.99 # Discount factor -epsilon = 1.0 # Exploration rate -epsilon_decay = 0.995 -min_epsilon = 0.01 - -# Training loop -for episode in range(num_episodes): - state = env.reset() - done = False - - while not done: - # Choose action using epsilon-greedy strategy - if np.random.rand() < epsilon: - action = env.action_space.sample() # Explore - else: - action = np.argmax(q_table[state]) # Exploit - - # Take action and observe result - next_state, reward, done, _ = env.step(action) - - # Update Q-value - q_table[state, action] = q_table[state, action] + alpha * ( - reward + gamma * np.max(q_table[next_state]) - q_table[state, action] - ) - - # Transition to next state - state = next_state - - # Decay epsilon - epsilon = max(min_epsilon, epsilon * epsilon_decay) - -print("Training completed.") -``` - -### Conclusion: -Q-learning is a powerful and foundational reinforcement learning technique that enables agents to learn optimal policies through direct interaction with an environment. Its simplicity and effectiveness make it a popular choice for many RL applications. +--- +id: q-learning +title: Q Learning Algorithm +sidebar_label: Q Learning +description: "An overview of the Q-Learning Algorithm, a model-free reinforcement learning method that learns the optimal action-value function to guide decision-making." +tags: [machine learning, reinforcement learning, q-learning, algorithms, model-free] +--- + +### Definition: +The **Q-Learning Algorithm** is a model-free reinforcement learning algorithm used to find the optimal action-selection policy for any given finite Markov Decision Process (MDP). It works by learning the value of actions in specific states without needing a model of the environment and aims to optimize long-term rewards. + + + +### Characteristics: +- **Model-Free**: + Q-Learning does not require prior knowledge of the environment's dynamics and learns directly from experience. + +- **Off-Policy**: + The algorithm updates the value of actions using the maximum expected future rewards, regardless of the agent's current policy. + +- **Exploration vs. Exploitation**: + Balances exploring new actions to find better long-term rewards and exploiting known actions to maximize immediate rewards, often managed using **epsilon-greedy** strategy. + +### How It Works: +Q-Learning learns an **action-value function (Q-function)** that maps state-action pairs to their expected cumulative rewards. The Q-value is updated using the following equation: + +$$ +Q(s, a) \leftarrow Q(s, a) + \alpha \left[ r + \gamma \max_{a'} Q(s', a') - Q(s, a) \right] +$$ + +- $ s $: Current state +- $ a $: Action taken in the current state +- $ r $: Reward received after taking action $ a $ +- $ s' $: Next state after taking action $ a $ +- $\alpha $: Learning rate (controls how much new information overrides old) +- $ \gamma $: Discount factor (determines the importance of future rewards) + +### Steps Involved: +1. **Initialization**: + Initialize the Q-table with zeros or random values for all possible state-action pairs. + +2. **Choose an Action**: + Select an action using an exploration strategy (e.g., epsilon-greedy). + +3. **Take Action and Observe Reward**: + Execute the selected action, transition to a new state, and receive the corresponding reward. + +4. **Update Q-Value**: + Update the Q-value of the current state-action pair using the Q-Learning update rule. + +5. **Repeat**: + Continue until the learning converges or a stopping condition is met. + + + +### Problem Statement: +Given an environment defined by states and actions with unknown dynamics, the goal is to learn the optimal Q-function that allows an agent to make decisions maximizing cumulative rewards over time. + +### Key Concepts: +- **Q-Table**: + A matrix where each row represents a state, and each column represents an action. The values represent the learned Q-values for state-action pairs. + +- **Epsilon-Greedy Strategy**: + A common method to balance exploration and exploitation. The agent selects a random action with probability $ \epsilon $ and the best-known action with probability $ 1 - \epsilon $. + +- **Convergence**: + Q-learning converges to the optimal Q-function given an infinite number of episodes and a decaying learning rate. + +### Example: +Consider a grid-world environment where an agent navigates to collect rewards: + +- **States**: Positions on the grid (e.g., (1,1), (1,2)) +- **Actions**: Up, Down, Left, Right +- **Rewards**: +1 for reaching the goal, -1 for hitting obstacles, 0 otherwise + +**Update Step**: +After moving from (1,1) to (1,2) with action "Right" and receiving a reward of 0: + +$$ +Q(1,1, \text{Right}) \leftarrow Q(1,1, \text{Right}) + \alpha \left[ 0 + \gamma \max_{a'} Q(1,2, a') - Q(1,1, \text{Right}) \right] +$$ + +### Python Implementation: +Here is a basic implementation of Q-Learning in Python: + +```python +import numpy as np + +# Initialize Q-table with zeros +q_table = np.zeros((state_space_size, action_space_size)) + +# Hyperparameters +alpha = 0.1 # Learning rate +gamma = 0.99 # Discount factor +epsilon = 1.0 # Exploration rate +epsilon_decay = 0.995 +min_epsilon = 0.01 + +# Training loop +for episode in range(num_episodes): + state = env.reset() + done = False + + while not done: + # Choose action using epsilon-greedy strategy + if np.random.rand() < epsilon: + action = env.action_space.sample() # Explore + else: + action = np.argmax(q_table[state]) # Exploit + + # Take action and observe result + next_state, reward, done, _ = env.step(action) + + # Update Q-value + q_table[state, action] = q_table[state, action] + alpha * ( + reward + gamma * np.max(q_table[next_state]) - q_table[state, action] + ) + + # Transition to next state + state = next_state + + # Decay epsilon + epsilon = max(min_epsilon, epsilon * epsilon_decay) + +print("Training completed.") +``` + +### Conclusion: +Q-learning is a powerful and foundational reinforcement learning technique that enables agents to learn optimal policies through direct interaction with an environment. Its simplicity and effectiveness make it a popular choice for many RL applications. diff --git a/docs/machine-learning/random-forest.md b/docs/extra/machine-learning/random-forest.md similarity index 100% rename from docs/machine-learning/random-forest.md rename to docs/extra/machine-learning/random-forest.md diff --git a/docs/machine-learning/regression_algorithm.md b/docs/extra/machine-learning/regression_algorithm.md similarity index 100% rename from docs/machine-learning/regression_algorithm.md rename to docs/extra/machine-learning/regression_algorithm.md diff --git a/docs/machine-learning/supervised_learning_algo.md b/docs/extra/machine-learning/supervised_learning_algo.md similarity index 100% rename from docs/machine-learning/supervised_learning_algo.md rename to docs/extra/machine-learning/supervised_learning_algo.md diff --git a/docs/machine-learning/support-vector-machine.md b/docs/extra/machine-learning/support-vector-machine.md similarity index 100% rename from docs/machine-learning/support-vector-machine.md rename to docs/extra/machine-learning/support-vector-machine.md diff --git a/docs/machine-learning/t-SNE_Dimensionality_Reduction.md b/docs/extra/machine-learning/t-SNE_Dimensionality_Reduction.md similarity index 100% rename from docs/machine-learning/t-SNE_Dimensionality_Reduction.md rename to docs/extra/machine-learning/t-SNE_Dimensionality_Reduction.md diff --git a/docs/machine-learning/tsne-visualization.md b/docs/extra/machine-learning/tsne-visualization.md similarity index 98% rename from docs/machine-learning/tsne-visualization.md rename to docs/extra/machine-learning/tsne-visualization.md index 18e3e0a31..b12f70a8a 100644 --- a/docs/machine-learning/tsne-visualization.md +++ b/docs/extra/machine-learning/tsne-visualization.md @@ -1,96 +1,96 @@ ---- - -id: tsne-visualization -title: t-Distributed Stochastic Neighbor Embedding (t-SNE) Algorithm -sidebar_label: t-SNE Visualization -description: "An overview of t-SNE, a popular technique for visualizing high-dimensional data in two or three dimensions." -tags: [machine learning, data visualization, dimensionality reduction, t-SNE, algorithms] - ---- - -### Definition: -**t-Distributed Stochastic Neighbor Embedding (t-SNE)** is a nonlinear dimensionality reduction technique commonly used for visualizing high-dimensional data. By mapping data points to a lower-dimensional space (typically two or three dimensions), t-SNE preserves the local structure of the data, making patterns and clusters more discernible. - -### Characteristics: -- **Nonlinear Dimensionality Reduction**: - Unlike linear techniques like PCA, t-SNE captures the complex relationships between data points, making it suitable for data with intricate structures. - -- **Focus on Local Structure**: - t-SNE emphasizes preserving the relative distances of nearby points while de-emphasizing larger pairwise distances. This helps reveal the underlying structure in clusters of data. - -### How It Works: -t-SNE minimizes the divergence between two distributions: one that measures pairwise similarities in the original high-dimensional space and another in the lower-dimensional space. The algorithm works as follows: - -1. **Pairwise Similarities**: - Calculate the pairwise similarities between points using a Gaussian distribution in the high-dimensional space. - -2. **Low-Dimensional Mapping**: - Initialize the data points randomly in the lower-dimensional space and compute their similarities using a Student’s t-distribution (hence "t-SNE"). - -3. **Optimization**: - Minimize the Kullback–Leibler divergence between the two similarity distributions using gradient descent. - -### Problem Statement: -Integrate t-SNE visualization as a feature to aid users in interpreting and analyzing high-dimensional datasets by reducing them to 2D or 3D representations that can reveal clusters, patterns, and anomalies. - -### Key Concepts: -- **Perplexity**: - A hyperparameter in t-SNE that balances attention between local and global aspects of the data. Typical values range from 5 to 50. - -- **Learning Rate**: - Affects the speed of convergence. Too low a rate can result in poor convergence, while too high a rate can lead to data artifacts. - -- **High-Dimensional Similarities**: - Defined using conditional probabilities based on Gaussian kernels. - -- **Low-Dimensional Embedding**: - Uses a Student's t-distribution to prevent "crowding" in the lower-dimensional space, where distant points stay separated. - -### Example Usage: -Consider a dataset containing 1000 samples, each with 50 features: - -```python -import numpy as np -import matplotlib.pyplot as plt -from sklearn.manifold import TSNE - -# Example data: synthetic dataset -X = np.random.rand(1000, 50) # 1000 samples, 50 features - -# Apply t-SNE to reduce dimensions to 2D -tsne = TSNE(n_components=2, perplexity=30, learning_rate=200, random_state=42) -X_embedded = tsne.fit_transform(X) - -# Plot the 2D t-SNE visualization -plt.figure(figsize=(10, 6)) -plt.scatter(X_embedded[:, 0], X_embedded[:, 1], c='blue', alpha=0.6) -plt.title('t-SNE Visualization of High-Dimensional Data') -plt.xlabel('t-SNE Component 1') -plt.ylabel('t-SNE Component 2') -plt.show() -``` - -### Considerations: -- **Computationally Intensive**: - t-SNE can be slow for large datasets due to the pairwise similarity calculations and optimization process. Various optimized implementations (e.g., Barnes-Hut t-SNE) help reduce the runtime. - -- **Interpretation**: - While t-SNE is excellent for visualizing clusters, the distances between clusters may not be as meaningful as the intra-cluster distances. - -- **Preprocessing**: - It’s beneficial to scale and preprocess data (e.g., using PCA for initial reduction) to enhance the quality and performance of t-SNE. - -### Benefits: -- Reveals hidden structures in data that linear methods may miss. -- Suitable for exploring complex datasets such as images, word embeddings, or genomic data. -- Enhances data analysis, pattern recognition, and exploratory data analysis (EDA). - -### Challenges: -- Requires careful tuning of hyperparameters like perplexity and learning rate. -- Sensitive to scale; data preprocessing is crucial for optimal results. -- The visualization outcome can vary between runs due to the non-convex optimization. - -### Conclusion: -t-SNE has become a powerful tool for visualizing and understanding high-dimensional data, especially in cases where simpler techniques fail to reveal meaningful structures. Integrating t-SNE visualizations into projects provides users with an intuitive way to explore complex datasets, spot clusters, and identify underlying relationships. - ---- +--- + +id: tsne-visualization +title: t-Distributed Stochastic Neighbor Embedding (t-SNE) Algorithm +sidebar_label: t-SNE Visualization +description: "An overview of t-SNE, a popular technique for visualizing high-dimensional data in two or three dimensions." +tags: [machine learning, data visualization, dimensionality reduction, t-SNE, algorithms] + +--- + +### Definition: +**t-Distributed Stochastic Neighbor Embedding (t-SNE)** is a nonlinear dimensionality reduction technique commonly used for visualizing high-dimensional data. By mapping data points to a lower-dimensional space (typically two or three dimensions), t-SNE preserves the local structure of the data, making patterns and clusters more discernible. + +### Characteristics: +- **Nonlinear Dimensionality Reduction**: + Unlike linear techniques like PCA, t-SNE captures the complex relationships between data points, making it suitable for data with intricate structures. + +- **Focus on Local Structure**: + t-SNE emphasizes preserving the relative distances of nearby points while de-emphasizing larger pairwise distances. This helps reveal the underlying structure in clusters of data. + +### How It Works: +t-SNE minimizes the divergence between two distributions: one that measures pairwise similarities in the original high-dimensional space and another in the lower-dimensional space. The algorithm works as follows: + +1. **Pairwise Similarities**: + Calculate the pairwise similarities between points using a Gaussian distribution in the high-dimensional space. + +2. **Low-Dimensional Mapping**: + Initialize the data points randomly in the lower-dimensional space and compute their similarities using a Student’s t-distribution (hence "t-SNE"). + +3. **Optimization**: + Minimize the Kullback–Leibler divergence between the two similarity distributions using gradient descent. + +### Problem Statement: +Integrate t-SNE visualization as a feature to aid users in interpreting and analyzing high-dimensional datasets by reducing them to 2D or 3D representations that can reveal clusters, patterns, and anomalies. + +### Key Concepts: +- **Perplexity**: + A hyperparameter in t-SNE that balances attention between local and global aspects of the data. Typical values range from 5 to 50. + +- **Learning Rate**: + Affects the speed of convergence. Too low a rate can result in poor convergence, while too high a rate can lead to data artifacts. + +- **High-Dimensional Similarities**: + Defined using conditional probabilities based on Gaussian kernels. + +- **Low-Dimensional Embedding**: + Uses a Student's t-distribution to prevent "crowding" in the lower-dimensional space, where distant points stay separated. + +### Example Usage: +Consider a dataset containing 1000 samples, each with 50 features: + +```python +import numpy as np +import matplotlib.pyplot as plt +from sklearn.manifold import TSNE + +# Example data: synthetic dataset +X = np.random.rand(1000, 50) # 1000 samples, 50 features + +# Apply t-SNE to reduce dimensions to 2D +tsne = TSNE(n_components=2, perplexity=30, learning_rate=200, random_state=42) +X_embedded = tsne.fit_transform(X) + +# Plot the 2D t-SNE visualization +plt.figure(figsize=(10, 6)) +plt.scatter(X_embedded[:, 0], X_embedded[:, 1], c='blue', alpha=0.6) +plt.title('t-SNE Visualization of High-Dimensional Data') +plt.xlabel('t-SNE Component 1') +plt.ylabel('t-SNE Component 2') +plt.show() +``` + +### Considerations: +- **Computationally Intensive**: + t-SNE can be slow for large datasets due to the pairwise similarity calculations and optimization process. Various optimized implementations (e.g., Barnes-Hut t-SNE) help reduce the runtime. + +- **Interpretation**: + While t-SNE is excellent for visualizing clusters, the distances between clusters may not be as meaningful as the intra-cluster distances. + +- **Preprocessing**: + It’s beneficial to scale and preprocess data (e.g., using PCA for initial reduction) to enhance the quality and performance of t-SNE. + +### Benefits: +- Reveals hidden structures in data that linear methods may miss. +- Suitable for exploring complex datasets such as images, word embeddings, or genomic data. +- Enhances data analysis, pattern recognition, and exploratory data analysis (EDA). + +### Challenges: +- Requires careful tuning of hyperparameters like perplexity and learning rate. +- Sensitive to scale; data preprocessing is crucial for optimal results. +- The visualization outcome can vary between runs due to the non-convex optimization. + +### Conclusion: +t-SNE has become a powerful tool for visualizing and understanding high-dimensional data, especially in cases where simpler techniques fail to reveal meaningful structures. Integrating t-SNE visualizations into projects provides users with an intuitive way to explore complex datasets, spot clusters, and identify underlying relationships. + +--- diff --git a/docs/machine-learning/unsupervised_learning_algo.md b/docs/extra/machine-learning/unsupervised_learning_algo.md similarity index 100% rename from docs/machine-learning/unsupervised_learning_algo.md rename to docs/extra/machine-learning/unsupervised_learning_algo.md diff --git a/docs/sortings/Sortings.md b/docs/extra/sortings/Sortings.md similarity index 100% rename from docs/sortings/Sortings.md rename to docs/extra/sortings/Sortings.md diff --git a/docs/sortings/shell-sort .md b/docs/extra/sortings/shell-sort .md similarity index 100% rename from docs/sortings/shell-sort .md rename to docs/extra/sortings/shell-sort .md diff --git a/docs/index.md b/docs/index.md index b93fb64b8..16550550d 100644 --- a/docs/index.md +++ b/docs/index.md @@ -4,7 +4,7 @@ title: Welcome to Algo - Gateway to DSA Mastery! sidebar_label: Welcome to Algo sidebar_position: 1 slug: / -description: Algo is your gateway to mastering Data Structures and Algorithms (DSA). Whether you're a coding enthusiast, a student, or a professional looking to enhance your programming skills, Algo is here to guide you through the intricate world of DSA. +description: "Algo is your gateway to mastering Data Structures and Algorithms (DSA). Whether you're a coding enthusiast, a student, or a professional looking to enhance your programming skills, Algo is here to guide you through the intricate world of DSA." tags: [dsa, data structures, algorithms] --- diff --git a/docs/programming-fundamentals/Loops.md b/docs/programming-fundamentals/Loops.md deleted file mode 100644 index 1bc300d69..000000000 --- a/docs/programming-fundamentals/Loops.md +++ /dev/null @@ -1,117 +0,0 @@ ---- -id: Loops -title: Introduction to loops fundamentals -sidebar_label: Loops -sidebar_position: 5 -description: "Information About loops in progamming" -tags: [loops,fundamentals] ---- - -# Loops in C - -## What are Loops? -Loops in C are used to execute a block of code repeatedly until a specified condition is met. They are essential for performing repetitive tasks efficiently. - -## Types of Loops - -### 1. `for` Loop -The `for` loop is used when the number of iterations is known beforehand. It consists of three parts: initialization, condition, and increment/decrement. - -#### Syntax: -```c -for (initialization; condition; increment/decrement) { - // code to be executed -} -``` - -#### Example: -```C -for (int i = 0; i < 5; i++) { - printf("Iteration: %d\n", i); -} -``` - -### 2. while Loop -The while loop is used when the number of iterations is not known, and the loop continues until the condition is false. - -#### Syntax: -```C -while (condition) { - // code to be executed -} -``` - -#### Example: -```C -int i = 0; -while (i < 5) { - printf("Iteration: %d\n", i); - i++; -} -``` - -### 3. do-while Loop -The do-while loop is similar to the while loop, but it guarantees that the loop body will be executed at least once, as the condition is checked after the execution of the loop body. - -#### Syntax: -```C -do { - // code to be executed -} while (condition); -``` - -#### Example: -```C -int i = 0; -do { - printf("Iteration: %d\n", i); - i++; -} while (i < 5); -``` - -## Loop Control Statements -Loop control statements allow you to control the flow of the loop. - -### 1. break -The break statement is used to exit a loop prematurely. - -#### Example: -```C -for (int i = 0; i < 10; i++) { - if (i == 5) { - break; // Exit the loop when i is 5 - } - printf("%d\n", i); -} -```` - -### 2. continue -The continue statement is used to skip the current iteration of the loop and move to the next iteration. - -#### Example: -```C -for (int i = 0; i < 10; i++) { - if (i % 2 == 0) { - continue; // Skip even numbers - } - printf("%d\n", i); -} -``` - -### Nested Loops -You can use loops inside other loops, known as nested loops. This is useful for working with multi-dimensional data structures. - -#### Example: -```C -for (int i = 0; i < 3; i++) { - for (int j = 0; j < 2; j++) { - printf("i: %d, j: %d\n", i, j); - } -} -``` - -### Summary -- Loops allow you to execute a block of code repeatedly based on a condition. -- The primary types of loops are for, while, and do-while. -- Loop control statements like break and continue help manage the flow of loops. -- Nested loops can be used for working with multi-dimensional data. diff --git a/docs/programming-fundamentals/Variables.md b/docs/programming-fundamentals/Variables.md deleted file mode 100644 index f2303a160..000000000 --- a/docs/programming-fundamentals/Variables.md +++ /dev/null @@ -1,149 +0,0 @@ ---- -id: Variables -title: Introduction to variables fundamentals -sidebar_label: Variables -sidebar_position: 6 -description: "Information About variables in progamming" -tags: [variables,fundamentals] ---- - -# Variables in C - -## What are Variables? -Variables in C are containers used to store data values. Each variable is given a specific type, which defines the kind of data it can hold, like integers, floating-point numbers, characters, etc. - -## Declaration and Initialization -A variable must be declared before it can be used. You can also initialize a variable with a value when you declare it. - -### Syntax: -```c -data_type variable_name; -data_type variable_name = value; -``` - -### Example: -```C -int age = 21; // Integer variable initialized with value 21 -float height = 5.9; // Float variable initialized with value 5.9 -char grade = 'A'; // Character variable initialized with value 'A' -``` - -### Multiple Declarations: -You can declare multiple variables of the same type in one line. - -```C -int a = 5, b = 10, c = 15; -``` - -### Types of Variables -C supports several data types to store various kinds of data: - -1. int: Used to store integer values (whole numbers). -int count = 10; -Range: -32,768 to 32,767 (typically 2 bytes, but depends on system). - -2. float: Used to store single-precision floating-point numbers (decimals). -float price = 19.99; -Precision: Up to 7 decimal digits. - -3. double: Used to store double-precision floating-point numbers (larger decimals). -double bigNumber = 12345.6789; -Precision: Up to 15 decimal digits. - -4. char: Used to store single characters. -char initial = 'A'; - -5. _Bool: Used to store boolean values (true/false). In C, true is represented by 1 and false by 0. -_Bool isTrue = 1; - -6. unsigned int: Used to store only non-negative integers. -unsigned int age = 25; -Range: 0 to 65,535 (for 2 bytes). - - -### Scope of Variables -The scope of a variable defines the region of the program where the variable can be accessed. - -1. Local Variables: Declared inside a function or block, and they can only be accessed within that function/block. -```C -void myFunction() { - int x = 10; // Local variable -} -``` - -2. Global Variables: Declared outside all functions, and they can be accessed by any function within the program. -```C -int globalVar = 20; - -void myFunction() { - // globalVar can be accessed here -} -``` - -3. Static Variables: Variables that maintain their value between function calls. They are initialized only once. -```C -void myFunction() { - static int counter = 0; // Static variable - counter++; -} -``` - -4. Register Variables: Stored in CPU registers instead of RAM, providing faster access. These are recommended for frequently used variables. -```C -register int fastCounter = 0; -``` - -### Storage Classes -Storage classes in C define the scope, lifetime, and visibility of variables. - -1. auto: The default storage class for local variables. -```C -auto int num = 10; -``` - -2. extern: Used to declare a global variable that is defined elsewhere. -```C -extern int globalVar; -``` - -3. static: Limits the scope of a variable to its source file or function, while preserving its value across function calls. -```C -static int count = 0; -``` - -4. register: Suggests that the compiler store the variable in a CPU register for faster access. -```C -register int i = 5; -``` - -### Variable Naming Rules -- Names can contain letters, digits, and underscores (_), but the first character must be a letter or underscore. -- Keywords cannot be used as variable names. -- C is case-sensitive, so num and Num would be considered different variables. - - -### Example: -```C -int count; -float _price; -double price123; -``` - -### Constants -Constants are variables whose values cannot be changed once initialized. In C, constants are defined using the const keyword or #define preprocessor directive. - -### Using `const`: -```C -const int MAX = 100; -``` - -### Using #define: -```C -#define PI 3.14159 -``` - -### Summary -- Variables store data and can be of different types such as int, float, char, etc. -- Variables have a scope that defines where they can be accessed within a program. -- Storage classes modify the scope and lifetime of a variable. -- Constants are variables whose value cannot be changed after initialization. diff --git a/docs/programming-fundamentals/_category_.json b/docs/programming-fundamentals/_category_.json index 8cc1338fd..4d100db10 100644 --- a/docs/programming-fundamentals/_category_.json +++ b/docs/programming-fundamentals/_category_.json @@ -1,8 +1,8 @@ { - "label": "Programming Fundamentals", - "position": 4, - "link": { - "type": "generated-index", - "description": "Learn about Programming Fundamentals. This is the first step to become a good programmer." - } - } \ No newline at end of file + "label": "Programming Fundamentals", + "position": 4, + "link": { + "type": "generated-index", + "description": "Learn about Programming Fundamentals. This is the first step to become a good programmer." + } +} \ No newline at end of file diff --git a/docs/programming-fundamentals/control-structures/_category_.json b/docs/programming-fundamentals/control-structures/_category_.json new file mode 100644 index 000000000..497354c9a --- /dev/null +++ b/docs/programming-fundamentals/control-structures/_category_.json @@ -0,0 +1,8 @@ +{ + "label": "Control Structures", + "position": 2, + "link": { + "type": "generated-index", + "description": "Learn about Programming Fundamentals. This is the first step to become a good programmer." + } +} diff --git a/docs/programming-fundamentals/language-syntax/_category_.json b/docs/programming-fundamentals/language-syntax/_category_.json new file mode 100644 index 000000000..138aaba9f --- /dev/null +++ b/docs/programming-fundamentals/language-syntax/_category_.json @@ -0,0 +1,8 @@ +{ + "label": "Language Syntax", + "position": 1, + "link": { + "type": "generated-index", + "description": "Learn about Programming Fundamentals. This is the first step to become a good programmer." + } +} \ No newline at end of file diff --git a/docs/programming-fundamentals/language-syntax/operators.md b/docs/programming-fundamentals/language-syntax/operators.md new file mode 100644 index 000000000..9563487bf --- /dev/null +++ b/docs/programming-fundamentals/language-syntax/operators.md @@ -0,0 +1,211 @@ +--- +id: operators +sidebar_position: 2 +title: Operators +sidebar_label: Operators +description: "Explore different types of operators in programming languages like JavaScript, Java, Python, and C++. Understand their usage, precedence, and practical examples." +tags: [operators, programming, syntax, js, java, python, cpp] +--- + +Operators are symbols or keywords used to perform operations on variables and values. Understanding the different types of operators and their precedence is crucial for writing efficient code. + + + +## Types of Operators + +Most programming languages support the following types of operators: + +1. **Arithmetic Operators** +2. **Comparison Operators** +3. **Logical Operators** +4. **Assignment Operators** +5. **Bitwise Operators** +6. **Unary Operators** +7. **Ternary (Conditional) Operators** + + + + +### JavaScript Operators Overview + +JavaScript supports a wide range of operators that help you perform various tasks: + +#### 1. Arithmetic Operators +These operators are used to perform mathematical operations. + +```js title="Arithmetic Operators in JavaScript" +let a = 10; +let b = 5; + +console.log(a + b); // Addition: 15 +console.log(a - b); // Subtraction: 5 +console.log(a * b); // Multiplication: 50 +console.log(a / b); // Division: 2 +console.log(a % b); // Modulus: 0 +console.log(a ** 2); // Exponentiation: 100 +``` + +#### 2. Comparison Operators +These operators compare two values and return a Boolean (`true` or `false`). + +```js title="Comparison Operators in JavaScript" +console.log(a > b); // true +console.log(a < b); // false +console.log(a == 10); // true (loose equality) +console.log(a === "10"); // false (strict equality) +``` + +### Operator Precedence + +Understanding operator precedence is important to ensure expressions evaluate as intended. JavaScript evaluates operators from **highest to lowest precedence**. + +**Mermaid Diagram of Operator Precedence:** + +```mermaid +graph TD + Power[Exponentiation **] --> Multiplication[Multiplication * and Division /] + Multiplication --> Addition[Addition + / Subtraction -] + Addition --> Comparison[Comparison >, <, >=, <=] + Comparison --> Equality[Equality ==, ===, !=, !==] + Equality --> LogicalAND[Logical AND] + LogicalAND --> LogicalOR[Logical OR] +``` + + + + + +### Java Operators Overview + +In Java, operators work similarly but come with strict typing: + +#### 1. Arithmetic Operators +```java +int a = 15; +int b = 4; + +System.out.println(a + b); // Addition: 19 +System.out.println(a - b); // Subtraction: 11 +System.out.println(a * b); // Multiplication: 60 +System.out.println(a / b); // Division: 3 (integer division) +System.out.println(a % b); // Modulus: 3 +``` + +#### 2. Comparison Operators +```java +System.out.println(a > b); // true +System.out.println(a == 15); // true +System.out.println(a != b); // true +``` + +#### 3. Logical Operators +```java +boolean x = true; +boolean y = false; + +System.out.println(x && y); // Logical AND: false +System.out.println(x || y); // Logical OR: true +System.out.println(!x); // Logical NOT: false +``` + +### Operator Precedence Chart + +Operator precedence in Java follows a strict hierarchy: + + + + + + + + + +### Python Operators Overview + +Python operators are straightforward and easy to use: + +#### 1. Arithmetic Operators +```python +a = 20 +b = 7 + +print(a + b) # Addition: 27 +print(a - b) # Subtraction: 13 +print(a * b) # Multiplication: 140 +print(a / b) # Division: 2.857142857142857 +print(a % b) # Modulus: 6 +print(a ** 2) # Exponentiation: 400 +``` + +#### 2. Comparison Operators +```python +print(a > b) # True +print(a == 20) # True +print(a != b) # True +``` + +#### 3. Logical Operators +```python +x = True +y = False + +print(x and y) # False +print(x or y) # True +print(not x) # False +``` + +### Operator Precedence in Python + + + + + + + +### C++ Operators Overview + +C++ operators are powerful and similar to those in Java: + +#### 1. Arithmetic Operators +```cpp +int a = 25; +int b = 8; + +std::cout << a + b << std::endl; // Addition: 33 +std::cout << a - b << std::endl; // Subtraction: 17 +std::cout << a * b << std::endl; // Multiplication: 200 +std::cout << a / b << std::endl; // Division: 3 (integer division) +std::cout << a % b << std::endl; // Modulus: 1 +``` + +#### 2. Comparison Operators +```cpp +std::cout << (a > b) << std::endl; // true +std::cout << (a == 25) << std::endl; // true +std::cout << (a != b) << std::endl; // true +``` + +#### 3. Logical Operators +```cpp +bool x = true; +bool y = false; + +std::cout << (x && y) << std::endl; // false +std::cout << (x || y) << std::endl; // true +std::cout << (!x) << std::endl; // false +``` + +### Operator Precedence Chart + + + + + + + + +--- + +

Feedback and Support

+ + \ No newline at end of file diff --git a/docs/programming-fundamentals/language-syntax/variables.md b/docs/programming-fundamentals/language-syntax/variables.md new file mode 100644 index 000000000..3d5e01154 --- /dev/null +++ b/docs/programming-fundamentals/language-syntax/variables.md @@ -0,0 +1,176 @@ +--- +id: variables +sidebar_position: 1 +title: Variables in Programming +sidebar_label: Variables +description: "Learn how to declare, initialize, and use variables in JavaScript, Java, Python, and C++. Understand the scope, types, and best practices for using variables effectively." +tags: [variables, programming, syntax, js, java, python, cpp] +--- + +Variables are fundamental components in programming. They act as containers for storing data values that can be manipulated throughout your code. Understanding how to declare, initialize, and use variables effectively is crucial for writing efficient and maintainable programs. + +## What is a Variable? + +A variable is a symbolic name associated with a value and whose associated value can change. Think of a variable as a labeled box that can hold data. The label (variable name) helps you retrieve and manipulate the data. + + + +## Variables by Language + + + + +### JavaScript Variables Overview + +In JavaScript, variables can be declared using `var`, `let`, or `const`: + +- `var`: Function-scoped and prone to hoisting issues. Avoid using in modern code. +- `let`: Block-scoped and ideal for variables that can be reassigned. +- `const`: Block-scoped and immutable. Perfect for values that shouldn't change. + +```js title="Declaring variables in JavaScript" +let name = "Alice"; // Block-scoped variable +const age = 25; // Constant variable, cannot be reassigned +var isStudent = true; // Function-scoped (use is discouraged) +``` + +:::note +Use `let` and `const` for modern JavaScript as they offer better scoping and avoid potential pitfalls. +::: + +### Variable Hoisting in JavaScript + +JavaScript variables declared using `var` are hoisted to the top of their scope, but not initialized: + +```js title="Variable hoisting" +console.log(x); // Undefined, not an error but undefined due to hoisting +var x = 10; +``` + + + + + +### Java Variables Overview + +Java is a statically-typed language, meaning you need to declare the type of the variable before using it: + +- **Primitive types**: `int`, `double`, `boolean`, `char`, etc. +- **Reference types**: Objects and arrays. + +```java title="Declaring variables in Java" +String name = "Alice"; +int age = 25; +boolean isStudent = true; +``` + +### Variable Scope in Java + +Java has three main types of variable scopes: +1. **Local variables**: Declared within a method and accessible only within that method. +2. **Instance variables**: Declared within a class but outside any method. They are specific to an instance of a class. +3. **Class (static) variables**: Declared with the `static` keyword and shared among all instances of a class. + + + + + +### Python Variables Overview + +Python is a dynamically-typed language, which means the type is inferred when the variable is assigned: + +```python title="Declaring variables in Python" +name = "Alice" +age = 25 +is_student = True +``` + +### Variable Naming Conventions + +In Python, variable names should follow these guidelines: +- Use lowercase words separated by underscores for readability: `is_student`. +- Avoid using Python keywords like `class`, `for`, or `if` as variable names. + +### Variable Scope in Python + +Python has four main types of scopes: +1. **Local scope**: Variables declared inside a function. +2. **Global scope**: Variables declared at the top level of a script or module. +3. **Enclosed scope**: Variables in a nested function. +4. **Built-in scope**: Reserved names in the Python language. + + + + + +### C++ Variables Overview + +C++ requires you to declare the type explicitly, similar to Java: + +```cpp title="Declaring variables in C++" +std::string name = "Alice"; +int age = 25; +bool isStudent = true; +``` + +### Variable Lifetime and Scope in C++ + +- **Local variables**: Declared within a function and destroyed after the function ends. +- **Global variables**: Declared outside of all functions and accessible from any part of the program. +- **Static variables**: Retain their value between function calls. + +```cpp title="Static variable" +#include +using namespace std; + +void example() { + static int count = 0; // Retains value between calls + count++; + cout << "Count: " << count << endl; +} + +int main() { + example(); + example(); + return 0; +} +``` + + + + + + +## Visualizing Variable Scope + +To understand the lifetime and scope of variables across different parts of your program, we can use a Mermaid diagram: + +```mermaid +graph TD + A[Global Scope] -->|Accessible| B[Function Scope] + B -->|Accessible| C[Block Scope] + B -->|Limited Accessibility| D[Static Variable] + C -->|Ends after block| E[Local Variable] +``` + +- **Global Scope**: Variables accessible throughout the program. +- **Function Scope**: Variables that live within the function. +- **Block Scope**: Variables that exist within a block of code (e.g., inside loops or conditionals). +- **Static Variable**: Maintains its value between function calls. + +--- + +## Best Practices for Variable Use + +- **Choose meaningful names**: Variables should reflect their purpose. +- **Follow language-specific naming conventions**. +- **Use the correct scope**: Keep variables as limited in scope as possible for better code management. +- **Avoid global variables when possible**: They can lead to code that's hard to maintain and debug. + +By understanding how to declare, initialize, and use variables effectively, you can write cleaner, more maintainable code in any programming language. + +--- + +

Feedback and Support

+ + \ No newline at end of file