Skip to content

Commit e29d933

Browse files
committed
restructured code
1 parent 8c6a018 commit e29d933

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+189
-111
lines changed

README.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
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+

src/main/java/algorithms/backtracking/FindLongestPathInMatrix.java renamed to src/main/java/algorithm/bruteforce/FindLongestPathInMatrix.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package algorithms.backtracking;
1+
package algorithm.bruteforce;
22

33
import java.util.ArrayList;
44
import java.util.List;

src/main/java/algorithms/backtracking/FindStringInDictionary.java renamed to src/main/java/algorithm/bruteforce/FindStringInDictionary.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
package algorithms.backtracking;
1+
package algorithm.bruteforce;
22

33
import java.util.ArrayList;
4-
import java.util.Arrays;
54
import java.util.List;
65
import java.util.Stack;
76

src/main/java/algorithms/backtracking/ResolveWildcardCharacter.java renamed to src/main/java/algorithm/bruteforce/ResolveWildcardCharacter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package algorithms.backtracking;
1+
package algorithm.bruteforce;
22

33
import java.util.ArrayList;
44
import java.util.List;

src/main/java/algorithms/divideandconquer/LargestAndSmallestNumber.java renamed to src/main/java/algorithm/divideandconquer/LargestAndSmallestNumber.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1-
package algorithms.divideandconquer;
1+
package algorithm.divideandconquer;
22

33
/**
44
* Created by aysen on 10/16/16.
55
*/
66

77

8-
import javafx.util.Pair;
8+
9+
import algorithm.mathematicaloptimizations.lists.Pair;
910

1011
import java.util.List;
1112

src/main/java/algorithms/dp/FibonacciSeries.java renamed to src/main/java/algorithm/dp/FibonacciSeries.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package algorithms.dp;
1+
package algorithm.dp;
22

33

44
public class FibonacciSeries {

src/main/java/algorithms/dp/LongestCommonSubsequence.java renamed to src/main/java/algorithm/dp/LongestCommonSubsequence.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package algorithms.dp;
1+
package algorithm.dp;
22

33
public class LongestCommonSubsequence {
44

src/main/java/algorithms/dp/LowestTravelCost.java renamed to src/main/java/algorithm/dp/LowestTravelCost.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package algorithms.dp;
1+
package algorithm.dp;
22

33
import java.util.*;
44
import java.util.stream.Collectors;

src/main/java/algorithms/dp/MaxSubMatrix.java renamed to src/main/java/algorithm/dp/MaxSubMatrix.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package algorithms.dp;
1+
package algorithm.dp;
22

33
import java.util.Arrays;
44

src/main/java/algorithms/dp/MinimumCoins.java renamed to src/main/java/algorithm/dp/MinimumCoins.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package algorithms.dp;
1+
package algorithm.dp;
22

33
import java.util.Collections;
44
import java.util.List;

0 commit comments

Comments
 (0)