|
| 1 | +# Code Logbook |
| 2 | +This repository contains solutions for standard programming problems structured by the algorithmic techniques or datastructures |
| 3 | +used to solve them |
| 4 | + |
| 5 | +## Algorithm Techniques |
| 6 | +In mathematics and computer science, an algorithmic technique is a general approach for implementing a process or computation |
| 7 | + |
| 8 | + |
| 9 | +### Brute Force |
| 10 | +Brute Force search or exhaustive search, also known as generate and test, is a very general problem-solving technique and algorithmic paradigm that consists of systematically enumerating all possible candidates |
| 11 | +for the solution and checking whether each candidate satisfies the problem's statement. An example of a brute force technique is backtracking.Backtracking is an algorithm where we |
| 12 | +traverse all the possible paths to find the correct solution. |
| 13 | + |
| 14 | +### Divide and Conquer |
| 15 | +The divide and conquer technique decomposes complex problems recursively into smaller sub-problems. |
| 16 | +Each sub-problem is then solved and these partial solutions are recombined to determine the overall solution. |
| 17 | +This technique is often used for searching and sorting. |
| 18 | + |
| 19 | +### Dynamic Programming |
| 20 | +Dynamic programming is a systematic technique in which a complex problem is decomposed recursively into smaller, overlapping sub-problems for solution. |
| 21 | +Dynamic programming stores the results of the overlapping sub-problems locally using an optimization technique called memoization |
| 22 | + |
| 23 | + |
| 24 | +### Greedy |
| 25 | +A greedy approach begins by evaluating one possible outcome from the set of possible outcomes, and then searches locally for an improvement on that outcome. |
| 26 | +When a local improvement is found, it will repeat the process and again search locally for additional improvements near this local optimum. |
| 27 | +A greedy technique is generally simple to implement, and these series of decisions can be used to find local optimums depending on where the search began. |
| 28 | +However, greedy techniques may not identify the global optimum across the entire set of possible outcomes. |
| 29 | + |
| 30 | + |
| 31 | +### Graph Traversal |
| 32 | +Graph traversal is a technique for finding solutions to problems that can be represented as graphs. |
| 33 | +This approach is broad, and includes depth-first search, breadth-first search, tree traversal, and many specific variations that may include local optimizations and excluding search spaces that can be determined to be non-optimum or not possible. |
| 34 | +These techniques may be used to solve a variety of problems including shortest path and constraint satisfaction problems. |
| 35 | + |
| 36 | +## Datastructures |
| 37 | + |
| 38 | + |
| 39 | +### HashMaps |
| 40 | + |
| 41 | +### Heap |
| 42 | + |
| 43 | +### List |
| 44 | + |
| 45 | +### Stack |
| 46 | + |
| 47 | +### Tree |
| 48 | + |
| 49 | + |
0 commit comments