├── Array ├── .gitignore ├── 01- majority element (Boyer-Moore's algorithm) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── BoyerMoore.class │ └── src │ │ └── BoyerMoore.java ├── 02- remove duplicates from a sorted array │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── RemoveDuplicates.class │ └── src │ │ └── RemoveDuplicates.java ├── 03- move all zeros to the end of array │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── MoveAllZeros.class │ └── src │ │ └── MoveAllZeros.java ├── 04- left rotate an array by d elements │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── LeftRotateByD.class │ └── src │ │ └── LeftRotateByD.java ├── 05- maximum subarray sum (Kadane's algorithm) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── MaximumSubArraySum.class │ └── src │ │ └── MaximumSubArraySum.java ├── 06 - equilibrium index │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── EquilibriumIndex.class │ └── src │ │ └── EquilibriumIndex.java ├── 07- missing number in an array │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── MissingNumber.class │ └── src │ │ └── MissingNumber.java ├── 08- atleast two greater elements │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── AtLeastTwoGreater.class │ └── src │ │ └── AtLeastTwoGreater.java ├── 09- change string into a new character set │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── ChangeString.class │ └── src │ │ └── ChangeString.java ├── 10- sorted merge in one array │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── SortedMerge.class │ └── src │ │ └── SortedMerge.java ├── 11- product of array except itself (without using division) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── ProductOfArrayExceptItself.class │ └── src │ │ └── ProductOfArrayExceptItself.java ├── 12- merge two sorted arrays without using extra space │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── MergeSorted.class │ └── src │ │ └── MergeSorted.java ├── 13- merge two sorted arrays without extra space (Gap method) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── MergeTwoSortedArrays.class │ └── src │ │ └── MergeTwoSortedArrays.java ├── 14- three sum │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── ThreeSum.class │ └── src │ │ └── ThreeSum.java ├── 15- four sum │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── FourSum.class │ └── src │ │ └── FourSum.java ├── 16- two sum │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── TwoSum.class │ └── src │ │ └── TwoSum.java ├── 17- max words found in a sentences │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── MaxWords.class │ └── src │ │ └── MaxWords.java ├── 18- stay positive │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── StayPositive.class │ └── src │ │ └── StayPositive.java ├── 19- subarray with given sum │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── SubarraySum.class │ └── src │ │ └── SubarraySum.java ├── 20- count subarrays with given sum │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── CountSubarrayWithGivenSum.class │ └── src │ │ └── CountSubarrayWithGivenSum.java ├── 21- complement │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── ContiguousSubarray.class │ └── src │ │ └── ContiguousSubarray.java ├── 22- delete characters to make an anagram │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── Anagram.class │ └── src │ │ └── Anagram.java ├── 23- missing numbers in an unsorted array │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── Missing.class │ └── src │ │ └── Missing.java ├── 24- smallest positive missing number │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── MissingPositive.class │ └── src │ │ └── MissingPositive.java ├── 25- valid ip │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── ValidIP.class │ └── src │ │ └── ValidIP.java ├── 26- minimum swaps to sort │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── MinSwapsToSwap.class │ └── src │ │ └── MinSwapsToSwap.java ├── 27- maximum index │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── MaxIndex.class │ └── src │ │ └── MaxIndex.java ├── 28- find missing and repeating │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── FindMissingAndRepeating.class │ └── src │ │ └── FindMissingAndRepeating.java ├── 29- count inversions │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── Array.class │ └── src │ │ └── Array.java └── 30- next greater element in the array │ ├── .classpath │ ├── .project │ ├── .settings │ └── org.eclipse.jdt.core.prefs │ ├── bin │ └── Array.class │ └── src │ └── Array.java ├── BST ├── .gitignore ├── 01- search in bst (recursive) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── BST.class │ │ └── Node.class │ └── src │ │ └── BST.java ├── 02- search in bst (iterative) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── BST.class │ │ └── Node.class │ └── src │ │ └── BST.java ├── 03- insert in bst (recursive) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── BST.class │ │ └── Node.class │ └── src │ │ └── BST.java ├── 04- insert in bst (iterative) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── BST.class │ │ └── Node.class │ └── src │ │ └── BST.java ├── 05- delete a key in bst (recursive) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── BST.class │ │ └── Node.class │ └── src │ │ └── BST.java ├── 06- floor in bst │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── BST.class │ │ └── Node.class │ └── src │ │ └── BST.java ├── 07- ceil in bst │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── BST.class │ │ └── Node.class │ └── src │ │ └── BST.java ├── 08- LCA in a bst O(n) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── BST.class │ │ └── Node.class │ └── src │ │ └── BST.java ├── 09- LCA in a bst O(logn) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── BST.class │ │ └── Node.class │ └── src │ │ └── BST.java ├── 10- avl tree insertion │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── AVL.class │ │ └── Node.class │ └── src │ │ └── AVL.java └── 11- avl tree deletion │ ├── .classpath │ ├── .project │ ├── .settings │ └── org.eclipse.jdt.core.prefs │ ├── bin │ ├── AVL.class │ └── Node.class │ └── src │ └── AVL.java ├── Circular Linked List ├── .gitignore ├── 01- Traversal of circular linked list │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── LinkedList.class │ │ └── Node.class │ └── src │ │ └── LinkedList.java ├── 02- insert at beginning O(1) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── LinkedList.class │ │ └── Node.class │ └── src │ │ └── LinkedList.java ├── 03- insert at the end O(1) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── LinkedList.class │ │ └── Node.class │ └── src │ │ └── LinkedList.java ├── 04- delete head of a circular linked list O(1) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── LinkedList.class │ │ └── Node.class │ └── src │ │ └── LinkedList.java ├── 05- delete kth node of a circular linked list │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── LinkedList.class │ │ └── Node.class │ └── src │ │ └── LinkedList.java └── 06- delete tail of a circular linked list │ ├── .classpath │ ├── .project │ ├── .settings │ └── org.eclipse.jdt.core.prefs │ ├── bin │ ├── LinkedList.class │ └── Node.class │ └── src │ └── LinkedList.java ├── Doubly Linked List ├── .gitignore ├── 01- insert at beginning of a doubly linked list │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── LinkedList.class │ │ └── Node.class │ └── src │ │ └── LinkedList.java ├── 02- insert at end of a doubly linked list │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── LinkedList.class │ │ └── Node.class │ └── src │ │ └── LinkedList.java ├── 03- reverse a doubly linked list (recursive) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── LinkedList.class │ │ └── Node.class │ └── src │ │ └── LinkedList.java ├── 04- reverse a doubly linked list (iterative) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── LinkedList.class │ │ └── Node.class │ └── src │ │ └── LinkedList.java ├── 05- delete head of a doubly linked list │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── LinkedList.class │ │ └── Node.class │ └── src │ │ └── LinkedList.java ├── 06- delete tail of a doubly linked list │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── LinkedList.class │ │ └── Node.class │ └── src │ │ └── LinkedList.java └── 07- sorted insert into a doubly linked list │ ├── .classpath │ ├── .project │ ├── .settings │ └── org.eclipse.jdt.core.prefs │ ├── bin │ ├── LinkedList.class │ └── Node.class │ └── src │ └── LinkedList.java ├── Dynamic Programming ├── .gitignore ├── 01- nth fibonacci number (top down memorization) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── DP.class │ └── src │ │ └── DP.java ├── 02- nth fibonacci number (bottom up) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── DP.class │ └── src │ │ └── DP.java ├── 03- longest common subsequence (memorization) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── DP.class │ └── src │ │ └── DP.java ├── 04- longest common subsequence (tabulation based) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── DP.class │ └── src │ │ └── DP.java ├── 05- insert, delete on s1 to convert to s2 │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── DP.class │ └── src │ │ └── DP.java ├── 06- shortest common subsequence │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── DP.class │ └── src │ │ └── DP.java ├── 07- longest palindromic subsequence │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── DP.class │ └── src │ │ └── DP.java ├── 08- longest repeating subsequence │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── DP.class │ └── src │ │ └── DP.java ├── 09- printing lcs │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── DP.class │ └── src │ │ └── DP.java ├── 10- lcs of 3 strings │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── DP.class │ └── src │ │ └── DP.java ├── 11- coin change count problem │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── DP.class │ └── src │ │ └── DP.java ├── 12- edit distance problem │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── DP.class │ └── src │ │ └── DP.java ├── 13- longest increasing subsequence (n^2) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── DP.class │ └── src │ │ └── DP.java ├── 14- longest increasing subsequence (nlogn) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── DP.class │ └── src │ │ └── DP.java ├── 15- minimum deletions to make an array sorted │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── DP.class │ └── src │ │ └── DP.java ├── 16- maximum sum increasing subsequence │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── DP.class │ └── src │ │ └── DP.java ├── 17- max bitonic subsequence │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── DP.class │ └── src │ │ └── DP.java ├── 18- the largest chain │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── DP.class │ │ ├── Pair.class │ │ └── compareByFirst.class │ └── src │ │ └── DP.java ├── 19- building bridges │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── CityPairs.class │ │ ├── DP.class │ │ └── MyCmp.class │ └── src │ │ └── DP.java ├── 20- max cuts │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── DP.class │ └── src │ │ └── DP.java ├── 21- min coins to make a value │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── DP.class │ └── src │ │ └── DP.java ├── 22- minimum jumps to reach the end │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── DP.class │ └── src │ │ └── DP.java ├── 23- minimum jumps to reach the end (optimized) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── DP.class │ └── src │ │ └── DP.java ├── 24- 0-1 knapsack problem │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── DP.class │ └── src │ │ └── DP.java ├── 25- number of bst with n keys │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── DP.class │ └── src │ │ └── DP.java ├── 26- count ways to reach nth stair │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── DP.class │ └── src │ │ └── DP.java ├── 27- count ways to reach nth stair (bottoms up) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── DP.class │ └── src │ │ └── DP.java ├── 28- max sum wih no adjacent elements │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── DP.class │ └── src │ │ └── DP.java ├── 29- trapping rainwater problem │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── DP.class │ └── src │ │ └── DP.java └── 30- escape the forbidden forest │ ├── .classpath │ ├── .project │ ├── .settings │ └── org.eclipse.jdt.core.prefs │ ├── bin │ └── DP.class │ └── src │ └── DP.java ├── Graph ├── .gitignore ├── 01- adjacency list representation of graph │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── Graph.class │ └── src │ │ └── Graph.java ├── 02- BFS traversal of an undirected graph (source given) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── Graph.class │ └── src │ │ └── Graph.java ├── 03- BFS traversal of a directed graph (source given) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── Graph.class │ └── src │ │ └── Graph.java ├── 04- BFS traversal of a disjointed undirected graph (source not given) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── Graph.class │ └── src │ │ └── Graph.java ├── 05- number of components in a graph │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── Graph.class │ └── src │ │ └── Graph.java ├── 06- dfs of undirected graph (with given source) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── Graph.class │ └── src │ │ └── Graph.java ├── 07- dfs of disjointed graph │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── Graph.class │ └── src │ │ └── Graph.java ├── 08- detect cycles in an undirected graph │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── Graph.class │ └── src │ │ └── Graph.java ├── 09- detect cycles in a disjointed undirected graph │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── Graph.class │ └── src │ │ └── Graph.java ├── 10- cycle detection in a directed graph │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── Graph.class │ └── src │ │ └── Graph.java ├── 11- topological sorting for directed acyclic graph (Kahn's algo) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── Graph.class │ └── src │ │ └── Graph.java ├── 12- cycle detection in a directed graph (kahn's algo) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── Graph.class │ └── src │ │ └── Graph.java ├── 13- topological sorting (DFS based) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── Graph.class │ └── src │ │ └── Graph.java ├── 14- transpose a graph │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── Graph.class │ └── src │ │ └── Graph.java └── 15- strongly connected components (Kosaraju’s algorithm) │ ├── .classpath │ ├── .project │ ├── .settings │ └── org.eclipse.jdt.core.prefs │ ├── bin │ └── Graph.class │ └── src │ └── Graph.java ├── Greedy ├── .gitignore ├── 01- minimum number of coins │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── Greedy.class │ └── src │ │ └── Greedy.java ├── 02- acitvity selection problem │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── Greedy.class │ │ └── Pair.class │ └── src │ │ └── Greedy.java ├── 03- fractional knapsack problem │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── Greedy.class │ │ └── Pair.class │ └── src │ │ └── Greedy.java ├── 04- job sequencing problem │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── Greedy$1.class │ │ ├── Greedy.class │ │ └── Job.class │ └── src │ │ └── Greedy.java ├── 05- huffman decoding │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── Greedy.class │ │ └── MinHeapNode.class │ └── src │ │ └── Greedy.java ├── 06- n meetings in a room │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── Greedy.class │ │ └── Pair.class │ └── src │ │ └── Greedy.java ├── 07- largest number with given sum │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── Greedy.class │ └── src │ │ └── Greedy.java └── 08- minimize the height 2 │ ├── .classpath │ ├── .project │ ├── .settings │ └── org.eclipse.jdt.core.prefs │ ├── bin │ └── Greedy.class │ └── src │ └── Greedy.java ├── Hashing ├── .gitignore ├── 01-pair with given sum (distinct elements) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── FindPairWithGivenSum.class │ └── src │ │ └── FindPairWithGivenSum.java ├── 02-pair with given sum (repeating elements) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── FindPair.class │ └── src │ │ └── FindPair.java └── 03-winner of an election │ ├── .classpath │ ├── .project │ ├── .settings │ └── org.eclipse.jdt.core.prefs │ ├── bin │ └── WinnerOfElection.class │ └── src │ └── WinnerOfElection.java ├── Heap ├── .gitignore ├── 01- Min heap insertion │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── Heap.class │ │ └── MinHeap.class │ └── src │ │ └── Heap.java ├── 02- build min-heap from an array │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── Heap.class │ │ └── MinHeap.class │ └── src │ │ └── Heap.java ├── 03- build max-heap from an array │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── Heap.class │ │ └── MaxHeap.class │ └── src │ │ └── Heap.java ├── 04- min heapify │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── Heap.class │ └── src │ │ └── Heap.java ├── 05- extract max from heap │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── MaxHeap.class │ └── src │ │ └── MaxHeap.java ├── 06- decrease key in a max heap │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── MaxHeap.class │ └── src │ │ └── MaxHeap.java ├── 07- delete key in a min heap │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── MinHeap.class │ └── src │ │ └── MinHeap.java ├── 08- heap sort (without aux space) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── HeapSort.class │ └── src │ │ └── HeapSort.java └── 09- kth smallest element in an array │ ├── .classpath │ ├── .project │ ├── .settings │ └── org.eclipse.jdt.core.prefs │ ├── bin │ └── KthSmallest.class │ └── src │ └── KthSmallest.java ├── Linked List ├── .gitignore ├── 01- simple implementation │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── LinkedList.class │ │ └── Node.class │ └── src │ │ └── LinkedList.java ├── 02- searching in a linked List (iterative & recursive) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── LinkedListSearch.class │ │ └── Node.class │ └── src │ │ └── LinkedListSearch.java ├── 03- insert at a given position │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── LinkedList.class │ │ └── Node.class │ └── src │ │ └── LinkedList.java ├── 04- sorted insert at singly linked list │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── LinkedList.class │ │ └── Node.class │ └── src │ │ └── LinkedList.java ├── 05- nth node from the end of the linked list │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── LinkedList.class │ │ └── Node.class │ └── src │ │ └── LinkedList.java ├── 06- reverse a linked list (iterative) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── LinkedList.class │ │ └── Node.class │ └── src │ │ └── LinkedList.java ├── 07- reverse a linked list (recursive) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── LinkedList.class │ │ └── Node.class │ └── src │ │ └── LinkedList.java ├── 08- remove duplicates from a sorted singly linked list │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── LinkedList.class │ │ └── Node.class │ └── src │ │ └── LinkedList.java ├── 09- detect loop in a linked list │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── LinkedList.class │ │ └── Node.class │ └── src │ │ └── LinkedList.java ├── 10- detect loop in a linked list (Floyd's cycle finding algorithm) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── LinkedList.class │ │ └── Node.class │ └── src │ │ └── LinkedList.java ├── 11- find intersection point of two linked list │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── LinkedList.class │ │ └── Node.class │ └── src │ │ └── LinkedList.java ├── 12- insert at the middle of a linked list │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── LinkedList.class │ │ └── Node.class │ └── src │ │ └── LinkedList.java ├── 13- check if two linked lists are identical │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── LinkedList.class │ │ └── Node.class │ └── src │ │ └── LinkedList.java ├── 14- Rotate a linked list │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── LinkedList.class │ │ └── Node.class │ └── src │ │ └── LinkedList.java ├── 15- merge two sorted linked list │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── LinkedList.class │ │ └── Node.class │ └── src │ │ └── LinkedList.java └── 16- pairwise swap of nodes │ ├── .classpath │ ├── .project │ ├── .settings │ └── org.eclipse.jdt.core.prefs │ ├── bin │ ├── LinkedLIst.class │ └── Node.class │ └── src │ └── LinkedLIst.java ├── Queue ├── .gitignore ├── 01- array implementation of queue │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── Queue.class │ │ └── QueueImpl.class │ └── src │ │ └── QueueImpl.java ├── 02- linked list implementation of queue │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── Node.class │ │ └── Queue.class │ └── src │ │ └── Queue.java ├── 03- circular queue using array │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── CircularQueue.class │ │ └── Queue.class │ └── src │ │ └── CircularQueue.java ├── 04- circular queue using linked list │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── CircularQueue.class │ │ └── Node.class │ └── src │ │ └── CircularQueue.java ├── 05- stack using queues │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── StackUsingQueue.class │ └── src │ │ └── StackUsingQueue.java ├── 06- queue using stacks │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── QueueUsingStacks.class │ └── src │ │ └── QueueUsingStacks.java ├── 07- reversing the first k elements of a queue │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── ReverseKElements.class │ └── src │ │ └── ReverseKElements.java └── 08- sliding window maximum │ ├── .classpath │ ├── .project │ ├── .settings │ └── org.eclipse.jdt.core.prefs │ ├── bin │ └── SlidingWindowMaximum.class │ └── src │ └── SlidingWindowMaximum.java ├── Recursion ├── .gitignore ├── 01-If a string is palindrome │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── IsPalindrome.class │ └── src │ │ └── IsPalindrome.java ├── 02-sum of digits │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── SumOfDigits.class │ └── src │ │ └── SumOfDigits.java ├── 03-rope cutting problem │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── RopeCutting.class │ └── src │ │ └── RopeCutting.java ├── 04-subsets of a string │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── SubsetsOfString.class │ └── src │ │ └── SubsetsOfString.java ├── 05-tower of hanoi │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── TowerOfHanoi.class │ └── src │ │ └── TowerOfHanoi.java ├── 06-Tree traversals (inorder, preorder, postorder) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── BinaryTree.class │ │ ├── Node.class │ │ └── TreeTraversals.class │ └── src │ │ ├── BinaryTree.java │ │ ├── Node.java │ │ └── TreeTraversals.java ├── 07-Josephus Problem │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── JosephusProblem.class │ └── src │ │ └── JosephusProblem.java ├── 08-Permutations of a string │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── Permutations.class │ └── src │ │ └── Permutations.java ├── 09-Print array recursively │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── Priya.class │ └── src │ │ └── Priya.java ├── 10- max diff between two elements │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── Recursion.class │ └── src │ │ └── Recursion.java ├── 11- coin change count │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── Recursion.class │ └── src │ │ └── Recursion.java └── 12- 0-1 knacksap problem │ ├── .classpath │ ├── .project │ ├── .settings │ └── org.eclipse.jdt.core.prefs │ ├── bin │ └── DP.class │ └── src │ └── DP.java ├── Searching ├── .gitignore ├── 01- binary search (iterative) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── BinarySearch.class │ └── src │ │ └── BinarySearch.java ├── 02- binary search (recursive) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── RecursiveBinarySearch.class │ └── src │ │ └── RecursiveBinarySearch.java ├── 03- index of first occurrence in sorted array (recursive) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── SortedIndex.class │ └── src │ │ └── SortedIndex.java ├── 04- index of last occurance in sorted array (iterative) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── SortedIndex.class │ └── src │ │ └── SortedIndex.java ├── 05- no of 1s in a sorted binary array │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── CountOnes.class │ └── src │ │ └── CountOnes.java └── 06- square root │ ├── .classpath │ ├── .project │ ├── .settings │ └── org.eclipse.jdt.core.prefs │ ├── bin │ └── SquareRoot.class │ └── src │ └── SquareRoot.java ├── Sorting ├── .gitignore ├── 01- comparable │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── ComparableExample.class │ │ └── Point.class │ └── src │ │ └── ComparableExample.java ├── 02- sort by even odd │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── MyCmp.class │ │ └── SortEvenOdd.class │ └── src │ │ └── SortEvenOdd.java ├── 03- comparator │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── MyCmp.class │ │ ├── Point.class │ │ └── Test.class │ └── src │ │ └── Test.java ├── 04- buuble sort (optimized) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── Sort.class │ └── src │ │ └── Sort.java ├── 05- selection sort │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── Sort.class │ └── src │ │ └── Sort.java ├── 06- insertion sort │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── Sort.class │ └── src │ │ └── Sort.java ├── 07- merge two sorted array │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── MergeTwoSortedArray.class │ └── src │ │ └── MergeTwoSortedArray.java ├── 08- merge function of merge sort │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── MergeFunctionOfMergeSort.class │ └── src │ │ └── MergeFunctionOfMergeSort.java ├── 09- merge sort │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── MergeSortAlgorithm.class │ └── src │ │ └── MergeSortAlgorithm.java ├── 10- naive partitioning │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── NaivePartioning.class │ └── src │ │ └── NaivePartioning.java ├── 11- lomuto partitioning │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── Partition.class │ └── src │ │ └── Partition.java ├── 12- hoare's partitioning │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── Partition.class │ └── src │ │ └── Partition.java ├── 13- quicksort using lomuto partition │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── QuickSort.class │ └── src │ │ └── QuickSort.java ├── 14- quicksort using hoare partition │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── QuickSort.class │ └── src │ │ └── QuickSort.java ├── 15- heap sort │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── HeapSort.class │ └── src │ │ └── HeapSort.java ├── 16- counting sort │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── CountingSort.class │ └── src │ │ └── CountingSort.java └── 17- count number of triangles │ ├── .classpath │ ├── .project │ ├── .settings │ └── org.eclipse.jdt.core.prefs │ ├── bin │ └── Triangles.class │ └── src │ └── Triangles.java ├── Stack ├── .gitignore ├── 01- array implementation of stack │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── Runner.class │ │ └── Stack.class │ └── src │ │ ├── Runner.java │ │ └── Stack.java ├── 02- arrayList implementation of stack │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── Runner.class │ │ └── Stack.class │ └── src │ │ ├── Runner.java │ │ └── Stack.java ├── 03- check for balanced parenthesis │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── BalancedParenthesis.class │ └── src │ │ └── BalancedParenthesis.java ├── 04- infix to postfix │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── InfoxToPostfix.class │ └── src │ │ └── InfoxToPostfix.java ├── 05- infix to postfix (gfg's solution) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── InfoxToPostfix.class │ └── src │ │ └── InfoxToPostfix.java ├── 06- evaluation of postfix expression │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── EvaluatePostFix.class │ └── src │ │ └── EvaluatePostFix.java ├── 07- infix to prefix │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── InfixToPrefix.class │ └── src │ │ └── InfixToPrefix.java ├── 08- prefix evaluation │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── PrefixEvaluation.class │ └── src │ │ └── PrefixEvaluation.java ├── 09- two stacks │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── TwoStacks.class │ └── src │ │ └── TwoStacks.java ├── 10- squares of a sorted array │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── SquaresOfASortedArray.class │ └── src │ │ └── SquaresOfASortedArray.java ├── 11- stack that returns minimum element in O(1) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── MinEleInStack.class │ └── src │ │ └── MinEleInStack.java ├── 12- stack that returns minimum element in O(1) time and O(n) extra space │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── MinEleInStack.class │ └── src │ │ └── MinEleInStack.java ├── 13- build the smallest num after deleting k numbers from it │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── BuildSmallest.class │ └── src │ │ └── BuildSmallest.java ├── 14- pairwise consecutive │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── MyStack.class │ └── src │ │ └── MyStack.java └── 15- sort a stack in O(1) auxiliary space │ ├── .classpath │ ├── .project │ ├── .settings │ └── org.eclipse.jdt.core.prefs │ ├── bin │ └── MyStack.class │ └── src │ └── MyStack.java ├── String ├── .gitignore ├── 01-freq of characters │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── Freq.class │ └── src │ │ └── Freq.java ├── 02-palindrome │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── Palindrome.class │ └── src │ │ └── Palindrome.java ├── 03-largest Rectangle in Histogram │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── LargestRect.class │ └── src │ │ └── LargestRect.java ├── 04-anagram check │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── Anagram.class │ └── src │ │ └── Anagram.java ├── 05-left most repeating character │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── LeftMostRepeat.class │ └── src │ │ └── LeftMostRepeat.java ├── 06-leftmost non repeating character │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── LeftNonRepeat.class │ └── src │ │ └── LeftNonRepeat.java ├── 07-pattern searching (naive) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── PatternSearch.class │ └── src │ │ └── PatternSearch.java ├── 08-pattern searching (for distinct pattern elements) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── PatternSearch.class │ └── src │ │ └── PatternSearch.java ├── 09-anagram search │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── AnagramSearch.class │ └── src │ │ └── AnagramSearch.java ├── 10-if two strings are rotations of each other │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── StringRotations.class │ └── src │ │ └── StringRotations.java ├── 11-rabin karp algorithm │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── RabinKarp.class │ └── src │ │ └── RabinKarp.java ├── 12-lexicographic rank of a string │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── LexicographicRank.class │ └── src │ │ └── LexicographicRank.java ├── 13-longest proper prefix array │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── LPS.class │ └── src │ │ └── LPS.java ├── 14- KMP algorithm for pattern searching │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── KMP.class │ └── src │ │ └── KMP.java ├── 15-longest non repeating substring │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── Longest.class │ └── src │ │ └── Longest.java ├── 16- minimum number of operations to move all balls to each box │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── MinimumSwaps.class │ └── src │ │ └── MinimumSwaps.java ├── 17- minimum number of operations to move all balls to each box (optimised) │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── MinimumSwaps.class │ └── src │ │ └── MinimumSwaps.java ├── 18- find and replace pattern │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── FindAndReplacePattern.class │ └── src │ │ └── FindAndReplacePattern.java ├── 19- break a palindrome │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── BreakPalindrome.class │ └── src │ │ └── BreakPalindrome.java ├── 20- break a tie │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ └── MyString.class │ └── src │ │ └── MyString.java └── 21- maximumm integer value │ ├── .classpath │ ├── .project │ ├── .settings │ └── org.eclipse.jdt.core.prefs │ ├── bin │ └── MaxInt.class │ └── src │ └── MaxInt.java └── Tree ├── .gitignore ├── 01- inorder, preorder, postorder traversal ├── .classpath ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs ├── bin │ ├── Node.class │ └── TreeTraversal.class └── src │ └── TreeTraversal.java ├── 02- height of a binary tree ├── .classpath ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs ├── bin │ ├── BinaryTreeHeight.class │ └── Node.class └── src │ └── BinaryTreeHeight.java ├── 03- print nodes at distance k ├── .classpath ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs ├── bin │ ├── BinaryTree.class │ └── Node.class └── src │ └── BinaryTree.java ├── 04- breadth first traversal ├── .classpath ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs ├── bin │ ├── BinaryTree.class │ ├── Node.class │ └── TreeNode.class └── src │ └── BinaryTree.java ├── 05- size of a binary tree (recursive) ├── .classpath ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs ├── bin │ ├── BinaryTree.class │ └── Node.class └── src │ └── BinaryTree.java ├── 06- size of a binary tree (iterative) ├── .classpath ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs ├── bin │ ├── BinaryTree.class │ └── Node.class └── src │ └── BinaryTree.java ├── 07- max in a binary tree ├── .classpath ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs ├── bin │ ├── BinaryTree.class │ └── Node.class └── src │ └── BinaryTree.java ├── 08- iterative inorder traversal 1 ├── .classpath ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs ├── bin │ ├── BinaryTree.class │ └── Node.class └── src │ └── BinaryTree.java ├── 09- iterative inorder traversal 2 ├── .classpath ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs ├── bin │ ├── BinaryTree.class │ └── Node.class └── src │ └── BinaryTree.java ├── 10- iterative preorder traversal ├── .classpath ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs ├── bin │ ├── BinaryTree.class │ └── Node.class └── src │ └── BinaryTree.java ├── 11- insert key in a a binary tree ├── .classpath ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs ├── bin │ ├── BinaryTree.class │ └── Node.class └── src │ └── BinaryTree.java ├── 12- delete key in a a binary tree ├── .classpath ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs ├── bin │ ├── BinaryTree.class │ └── Node.class └── src │ └── BinaryTree.java ├── 13- lowest common ancestor (with extra space) ├── .classpath ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs ├── bin │ ├── BinaryTree.class │ └── Node.class └── src │ └── BinaryTree.java ├── 14- get path of a key from root ├── .classpath ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs ├── bin │ ├── BinaryTree.class │ └── Node.class └── src │ └── BinaryTree.java ├── 15- diameter of a binary tree ├── .classpath ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs ├── bin │ ├── BinaryTree.class │ └── Node.class └── src │ └── BinaryTree.java ├── 16- left, right, top, bottom view ofa a binary tree ├── .classpath ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs ├── bin │ ├── BinaryTree.class │ └── Node.class └── src │ └── BinaryTree.java ├── 17- convert binary tree into it's mirror tree ├── .classpath ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs ├── bin │ ├── BianryTree.class │ └── Node.class └── src │ └── BianryTree.java ├── 18- lowest common ancestor (O(1) space) ├── .classpath ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs ├── bin │ ├── BinaryTree.class │ └── Node.class └── src │ └── BinaryTree.java └── 19- sum tree ├── .classpath ├── .project ├── .settings └── org.eclipse.jdt.core.prefs ├── bin ├── Node.class └── SumTree.class └── src └── SumTree.java /Array/.gitignore: -------------------------------------------------------------------------------- 1 | /.metadata/ 2 | /.recommenders/ 3 | -------------------------------------------------------------------------------- /Array/01- majority element (Boyer-Moore's algorithm)/bin/BoyerMoore.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Array/01- majority element (Boyer-Moore's algorithm)/bin/BoyerMoore.class -------------------------------------------------------------------------------- /Array/02- remove duplicates from a sorted array/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Array/02- remove duplicates from a sorted array/bin/RemoveDuplicates.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Array/02- remove duplicates from a sorted array/bin/RemoveDuplicates.class -------------------------------------------------------------------------------- /Array/03- move all zeros to the end of array/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Array/03- move all zeros to the end of array/bin/MoveAllZeros.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Array/03- move all zeros to the end of array/bin/MoveAllZeros.class -------------------------------------------------------------------------------- /Array/04- left rotate an array by d elements/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Array/04- left rotate an array by d elements/bin/LeftRotateByD.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Array/04- left rotate an array by d elements/bin/LeftRotateByD.class -------------------------------------------------------------------------------- /Array/05- maximum subarray sum (Kadane's algorithm)/bin/MaximumSubArraySum.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Array/05- maximum subarray sum (Kadane's algorithm)/bin/MaximumSubArraySum.class -------------------------------------------------------------------------------- /Array/06 - equilibrium index/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Array/06 - equilibrium index/bin/EquilibriumIndex.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Array/06 - equilibrium index/bin/EquilibriumIndex.class -------------------------------------------------------------------------------- /Array/07- missing number in an array/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Array/07- missing number in an array/bin/MissingNumber.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Array/07- missing number in an array/bin/MissingNumber.class -------------------------------------------------------------------------------- /Array/08- atleast two greater elements/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Array/08- atleast two greater elements/bin/AtLeastTwoGreater.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Array/08- atleast two greater elements/bin/AtLeastTwoGreater.class -------------------------------------------------------------------------------- /Array/09- change string into a new character set/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Array/09- change string into a new character set/bin/ChangeString.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Array/09- change string into a new character set/bin/ChangeString.class -------------------------------------------------------------------------------- /Array/09- change string into a new character set/src/ChangeString.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Array/09- change string into a new character set/src/ChangeString.java -------------------------------------------------------------------------------- /Array/10- sorted merge in one array/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Array/10- sorted merge in one array/bin/SortedMerge.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Array/10- sorted merge in one array/bin/SortedMerge.class -------------------------------------------------------------------------------- /Array/11- product of array except itself (without using division)/bin/ProductOfArrayExceptItself.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Array/11- product of array except itself (without using division)/bin/ProductOfArrayExceptItself.class -------------------------------------------------------------------------------- /Array/12- merge two sorted arrays without using extra space/bin/MergeSorted.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Array/12- merge two sorted arrays without using extra space/bin/MergeSorted.class -------------------------------------------------------------------------------- /Array/13- merge two sorted arrays without extra space (Gap method)/bin/MergeTwoSortedArrays.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Array/13- merge two sorted arrays without extra space (Gap method)/bin/MergeTwoSortedArrays.class -------------------------------------------------------------------------------- /Array/14- three sum/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Array/14- three sum/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | 14- three sum 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /Array/14- three sum/bin/ThreeSum.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Array/14- three sum/bin/ThreeSum.class -------------------------------------------------------------------------------- /Array/15- four sum/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Array/15- four sum/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | 15- four sum 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /Array/15- four sum/bin/FourSum.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Array/15- four sum/bin/FourSum.class -------------------------------------------------------------------------------- /Array/15- four sum/src/FourSum.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Array/15- four sum/src/FourSum.java -------------------------------------------------------------------------------- /Array/16- two sum/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Array/16- two sum/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16- two sum 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /Array/16- two sum/bin/TwoSum.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Array/16- two sum/bin/TwoSum.class -------------------------------------------------------------------------------- /Array/17- max words found in a sentences/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Array/17- max words found in a sentences/bin/MaxWords.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Array/17- max words found in a sentences/bin/MaxWords.class -------------------------------------------------------------------------------- /Array/18- stay positive/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Array/18- stay positive/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | 18- stay positive 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /Array/18- stay positive/bin/StayPositive.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Array/18- stay positive/bin/StayPositive.class -------------------------------------------------------------------------------- /Array/19- subarray with given sum/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Array/19- subarray with given sum/bin/SubarraySum.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Array/19- subarray with given sum/bin/SubarraySum.class -------------------------------------------------------------------------------- /Array/20- count subarrays with given sum/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Array/20- count subarrays with given sum/bin/CountSubarrayWithGivenSum.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Array/20- count subarrays with given sum/bin/CountSubarrayWithGivenSum.class -------------------------------------------------------------------------------- /Array/21- complement/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Array/21- complement/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | 21- complement 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /Array/21- complement/bin/ContiguousSubarray.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Array/21- complement/bin/ContiguousSubarray.class -------------------------------------------------------------------------------- /Array/21- complement/src/ContiguousSubarray.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Array/21- complement/src/ContiguousSubarray.java -------------------------------------------------------------------------------- /Array/22- delete characters to make an anagram/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Array/22- delete characters to make an anagram/bin/Anagram.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Array/22- delete characters to make an anagram/bin/Anagram.class -------------------------------------------------------------------------------- /Array/23- missing numbers in an unsorted array/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Array/23- missing numbers in an unsorted array/bin/Missing.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Array/23- missing numbers in an unsorted array/bin/Missing.class -------------------------------------------------------------------------------- /Array/24- smallest positive missing number/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Array/24- smallest positive missing number/bin/MissingPositive.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Array/24- smallest positive missing number/bin/MissingPositive.class -------------------------------------------------------------------------------- /Array/25- valid ip/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Array/25- valid ip/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | 25- valid ip 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /Array/25- valid ip/bin/ValidIP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Array/25- valid ip/bin/ValidIP.class -------------------------------------------------------------------------------- /Array/26- minimum swaps to sort/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Array/26- minimum swaps to sort/bin/MinSwapsToSwap.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Array/26- minimum swaps to sort/bin/MinSwapsToSwap.class -------------------------------------------------------------------------------- /Array/27- maximum index/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Array/27- maximum index/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | 27- maximum index 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /Array/27- maximum index/bin/MaxIndex.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Array/27- maximum index/bin/MaxIndex.class -------------------------------------------------------------------------------- /Array/28- find missing and repeating/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Array/28- find missing and repeating/bin/FindMissingAndRepeating.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Array/28- find missing and repeating/bin/FindMissingAndRepeating.class -------------------------------------------------------------------------------- /Array/28- find missing and repeating/src/FindMissingAndRepeating.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Array/28- find missing and repeating/src/FindMissingAndRepeating.java -------------------------------------------------------------------------------- /Array/29- count inversions/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Array/29- count inversions/bin/Array.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Array/29- count inversions/bin/Array.class -------------------------------------------------------------------------------- /Array/30- next greater element in the array/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Array/30- next greater element in the array/bin/Array.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Array/30- next greater element in the array/bin/Array.class -------------------------------------------------------------------------------- /BST/.gitignore: -------------------------------------------------------------------------------- 1 | /.metadata/ 2 | /.recommenders/ 3 | -------------------------------------------------------------------------------- /BST/01- search in bst (recursive)/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /BST/01- search in bst (recursive)/bin/BST.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/BST/01- search in bst (recursive)/bin/BST.class -------------------------------------------------------------------------------- /BST/01- search in bst (recursive)/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/BST/01- search in bst (recursive)/bin/Node.class -------------------------------------------------------------------------------- /BST/02- search in bst (iterative)/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /BST/02- search in bst (iterative)/bin/BST.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/BST/02- search in bst (iterative)/bin/BST.class -------------------------------------------------------------------------------- /BST/02- search in bst (iterative)/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/BST/02- search in bst (iterative)/bin/Node.class -------------------------------------------------------------------------------- /BST/03- insert in bst (recursive)/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /BST/03- insert in bst (recursive)/bin/BST.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/BST/03- insert in bst (recursive)/bin/BST.class -------------------------------------------------------------------------------- /BST/03- insert in bst (recursive)/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/BST/03- insert in bst (recursive)/bin/Node.class -------------------------------------------------------------------------------- /BST/04- insert in bst (iterative)/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /BST/04- insert in bst (iterative)/bin/BST.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/BST/04- insert in bst (iterative)/bin/BST.class -------------------------------------------------------------------------------- /BST/04- insert in bst (iterative)/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/BST/04- insert in bst (iterative)/bin/Node.class -------------------------------------------------------------------------------- /BST/05- delete a key in bst (recursive)/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /BST/05- delete a key in bst (recursive)/bin/BST.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/BST/05- delete a key in bst (recursive)/bin/BST.class -------------------------------------------------------------------------------- /BST/05- delete a key in bst (recursive)/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/BST/05- delete a key in bst (recursive)/bin/Node.class -------------------------------------------------------------------------------- /BST/06- floor in bst/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /BST/06- floor in bst/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | 06- floor in bst 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /BST/06- floor in bst/bin/BST.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/BST/06- floor in bst/bin/BST.class -------------------------------------------------------------------------------- /BST/06- floor in bst/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/BST/06- floor in bst/bin/Node.class -------------------------------------------------------------------------------- /BST/07- ceil in bst/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /BST/07- ceil in bst/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | 07- ceil in bst 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /BST/07- ceil in bst/bin/BST.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/BST/07- ceil in bst/bin/BST.class -------------------------------------------------------------------------------- /BST/07- ceil in bst/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/BST/07- ceil in bst/bin/Node.class -------------------------------------------------------------------------------- /BST/08- LCA in a bst O(n)/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /BST/08- LCA in a bst O(n)/bin/BST.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/BST/08- LCA in a bst O(n)/bin/BST.class -------------------------------------------------------------------------------- /BST/08- LCA in a bst O(n)/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/BST/08- LCA in a bst O(n)/bin/Node.class -------------------------------------------------------------------------------- /BST/09- LCA in a bst O(logn)/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /BST/09- LCA in a bst O(logn)/bin/BST.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/BST/09- LCA in a bst O(logn)/bin/BST.class -------------------------------------------------------------------------------- /BST/09- LCA in a bst O(logn)/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/BST/09- LCA in a bst O(logn)/bin/Node.class -------------------------------------------------------------------------------- /BST/10- avl tree insertion/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /BST/10- avl tree insertion/bin/AVL.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/BST/10- avl tree insertion/bin/AVL.class -------------------------------------------------------------------------------- /BST/10- avl tree insertion/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/BST/10- avl tree insertion/bin/Node.class -------------------------------------------------------------------------------- /BST/11- avl tree deletion/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /BST/11- avl tree deletion/bin/AVL.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/BST/11- avl tree deletion/bin/AVL.class -------------------------------------------------------------------------------- /BST/11- avl tree deletion/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/BST/11- avl tree deletion/bin/Node.class -------------------------------------------------------------------------------- /Circular Linked List/.gitignore: -------------------------------------------------------------------------------- 1 | /.metadata/ 2 | /.recommenders/ 3 | -------------------------------------------------------------------------------- /Circular Linked List/01- Traversal of circular linked list/bin/LinkedList.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Circular Linked List/01- Traversal of circular linked list/bin/LinkedList.class -------------------------------------------------------------------------------- /Circular Linked List/01- Traversal of circular linked list/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Circular Linked List/01- Traversal of circular linked list/bin/Node.class -------------------------------------------------------------------------------- /Circular Linked List/02- insert at beginning O(1)/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Circular Linked List/02- insert at beginning O(1)/bin/LinkedList.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Circular Linked List/02- insert at beginning O(1)/bin/LinkedList.class -------------------------------------------------------------------------------- /Circular Linked List/02- insert at beginning O(1)/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Circular Linked List/02- insert at beginning O(1)/bin/Node.class -------------------------------------------------------------------------------- /Circular Linked List/03- insert at the end O(1)/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Circular Linked List/03- insert at the end O(1)/bin/LinkedList.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Circular Linked List/03- insert at the end O(1)/bin/LinkedList.class -------------------------------------------------------------------------------- /Circular Linked List/03- insert at the end O(1)/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Circular Linked List/03- insert at the end O(1)/bin/Node.class -------------------------------------------------------------------------------- /Circular Linked List/04- delete head of a circular linked list O(1)/bin/LinkedList.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Circular Linked List/04- delete head of a circular linked list O(1)/bin/LinkedList.class -------------------------------------------------------------------------------- /Circular Linked List/04- delete head of a circular linked list O(1)/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Circular Linked List/04- delete head of a circular linked list O(1)/bin/Node.class -------------------------------------------------------------------------------- /Circular Linked List/05- delete kth node of a circular linked list/bin/LinkedList.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Circular Linked List/05- delete kth node of a circular linked list/bin/LinkedList.class -------------------------------------------------------------------------------- /Circular Linked List/05- delete kth node of a circular linked list/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Circular Linked List/05- delete kth node of a circular linked list/bin/Node.class -------------------------------------------------------------------------------- /Circular Linked List/06- delete tail of a circular linked list/bin/LinkedList.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Circular Linked List/06- delete tail of a circular linked list/bin/LinkedList.class -------------------------------------------------------------------------------- /Circular Linked List/06- delete tail of a circular linked list/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Circular Linked List/06- delete tail of a circular linked list/bin/Node.class -------------------------------------------------------------------------------- /Doubly Linked List/.gitignore: -------------------------------------------------------------------------------- 1 | /.metadata/ 2 | /.recommenders/ 3 | -------------------------------------------------------------------------------- /Doubly Linked List/01- insert at beginning of a doubly linked list/bin/LinkedList.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Doubly Linked List/01- insert at beginning of a doubly linked list/bin/LinkedList.class -------------------------------------------------------------------------------- /Doubly Linked List/01- insert at beginning of a doubly linked list/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Doubly Linked List/01- insert at beginning of a doubly linked list/bin/Node.class -------------------------------------------------------------------------------- /Doubly Linked List/02- insert at end of a doubly linked list/bin/LinkedList.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Doubly Linked List/02- insert at end of a doubly linked list/bin/LinkedList.class -------------------------------------------------------------------------------- /Doubly Linked List/02- insert at end of a doubly linked list/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Doubly Linked List/02- insert at end of a doubly linked list/bin/Node.class -------------------------------------------------------------------------------- /Doubly Linked List/03- reverse a doubly linked list (recursive)/bin/LinkedList.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Doubly Linked List/03- reverse a doubly linked list (recursive)/bin/LinkedList.class -------------------------------------------------------------------------------- /Doubly Linked List/03- reverse a doubly linked list (recursive)/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Doubly Linked List/03- reverse a doubly linked list (recursive)/bin/Node.class -------------------------------------------------------------------------------- /Doubly Linked List/04- reverse a doubly linked list (iterative)/bin/LinkedList.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Doubly Linked List/04- reverse a doubly linked list (iterative)/bin/LinkedList.class -------------------------------------------------------------------------------- /Doubly Linked List/04- reverse a doubly linked list (iterative)/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Doubly Linked List/04- reverse a doubly linked list (iterative)/bin/Node.class -------------------------------------------------------------------------------- /Doubly Linked List/05- delete head of a doubly linked list/bin/LinkedList.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Doubly Linked List/05- delete head of a doubly linked list/bin/LinkedList.class -------------------------------------------------------------------------------- /Doubly Linked List/05- delete head of a doubly linked list/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Doubly Linked List/05- delete head of a doubly linked list/bin/Node.class -------------------------------------------------------------------------------- /Doubly Linked List/06- delete tail of a doubly linked list/bin/LinkedList.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Doubly Linked List/06- delete tail of a doubly linked list/bin/LinkedList.class -------------------------------------------------------------------------------- /Doubly Linked List/06- delete tail of a doubly linked list/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Doubly Linked List/06- delete tail of a doubly linked list/bin/Node.class -------------------------------------------------------------------------------- /Doubly Linked List/07- sorted insert into a doubly linked list/bin/LinkedList.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Doubly Linked List/07- sorted insert into a doubly linked list/bin/LinkedList.class -------------------------------------------------------------------------------- /Doubly Linked List/07- sorted insert into a doubly linked list/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Doubly Linked List/07- sorted insert into a doubly linked list/bin/Node.class -------------------------------------------------------------------------------- /Dynamic Programming/.gitignore: -------------------------------------------------------------------------------- 1 | /.metadata/ 2 | /.recommenders/ 3 | -------------------------------------------------------------------------------- /Dynamic Programming/01- nth fibonacci number (top down memorization)/bin/DP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/01- nth fibonacci number (top down memorization)/bin/DP.class -------------------------------------------------------------------------------- /Dynamic Programming/02- nth fibonacci number (bottom up)/bin/DP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/02- nth fibonacci number (bottom up)/bin/DP.class -------------------------------------------------------------------------------- /Dynamic Programming/03- longest common subsequence (memorization)/bin/DP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/03- longest common subsequence (memorization)/bin/DP.class -------------------------------------------------------------------------------- /Dynamic Programming/03- longest common subsequence (memorization)/src/DP.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/03- longest common subsequence (memorization)/src/DP.java -------------------------------------------------------------------------------- /Dynamic Programming/04- longest common subsequence (tabulation based)/bin/DP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/04- longest common subsequence (tabulation based)/bin/DP.class -------------------------------------------------------------------------------- /Dynamic Programming/04- longest common subsequence (tabulation based)/src/DP.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/04- longest common subsequence (tabulation based)/src/DP.java -------------------------------------------------------------------------------- /Dynamic Programming/05- insert, delete on s1 to convert to s2/bin/DP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/05- insert, delete on s1 to convert to s2/bin/DP.class -------------------------------------------------------------------------------- /Dynamic Programming/06- shortest common subsequence/bin/DP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/06- shortest common subsequence/bin/DP.class -------------------------------------------------------------------------------- /Dynamic Programming/07- longest palindromic subsequence/bin/DP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/07- longest palindromic subsequence/bin/DP.class -------------------------------------------------------------------------------- /Dynamic Programming/08- longest repeating subsequence/bin/DP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/08- longest repeating subsequence/bin/DP.class -------------------------------------------------------------------------------- /Dynamic Programming/09- printing lcs/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Dynamic Programming/09- printing lcs/bin/DP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/09- printing lcs/bin/DP.class -------------------------------------------------------------------------------- /Dynamic Programming/10- lcs of 3 strings/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Dynamic Programming/10- lcs of 3 strings/bin/DP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/10- lcs of 3 strings/bin/DP.class -------------------------------------------------------------------------------- /Dynamic Programming/11- coin change count problem/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Dynamic Programming/11- coin change count problem/bin/DP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/11- coin change count problem/bin/DP.class -------------------------------------------------------------------------------- /Dynamic Programming/12- edit distance problem/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Dynamic Programming/12- edit distance problem/bin/DP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/12- edit distance problem/bin/DP.class -------------------------------------------------------------------------------- /Dynamic Programming/12- edit distance problem/src/DP.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/12- edit distance problem/src/DP.java -------------------------------------------------------------------------------- /Dynamic Programming/13- longest increasing subsequence (n^2)/bin/DP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/13- longest increasing subsequence (n^2)/bin/DP.class -------------------------------------------------------------------------------- /Dynamic Programming/14- longest increasing subsequence (nlogn)/bin/DP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/14- longest increasing subsequence (nlogn)/bin/DP.class -------------------------------------------------------------------------------- /Dynamic Programming/15- minimum deletions to make an array sorted/bin/DP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/15- minimum deletions to make an array sorted/bin/DP.class -------------------------------------------------------------------------------- /Dynamic Programming/16- maximum sum increasing subsequence/bin/DP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/16- maximum sum increasing subsequence/bin/DP.class -------------------------------------------------------------------------------- /Dynamic Programming/17- max bitonic subsequence/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Dynamic Programming/17- max bitonic subsequence/bin/DP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/17- max bitonic subsequence/bin/DP.class -------------------------------------------------------------------------------- /Dynamic Programming/18- the largest chain/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Dynamic Programming/18- the largest chain/bin/DP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/18- the largest chain/bin/DP.class -------------------------------------------------------------------------------- /Dynamic Programming/18- the largest chain/bin/Pair.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/18- the largest chain/bin/Pair.class -------------------------------------------------------------------------------- /Dynamic Programming/18- the largest chain/bin/compareByFirst.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/18- the largest chain/bin/compareByFirst.class -------------------------------------------------------------------------------- /Dynamic Programming/19- building bridges/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Dynamic Programming/19- building bridges/bin/CityPairs.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/19- building bridges/bin/CityPairs.class -------------------------------------------------------------------------------- /Dynamic Programming/19- building bridges/bin/DP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/19- building bridges/bin/DP.class -------------------------------------------------------------------------------- /Dynamic Programming/19- building bridges/bin/MyCmp.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/19- building bridges/bin/MyCmp.class -------------------------------------------------------------------------------- /Dynamic Programming/19- building bridges/src/DP.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/19- building bridges/src/DP.java -------------------------------------------------------------------------------- /Dynamic Programming/20- max cuts/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Dynamic Programming/20- max cuts/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | 20- max cuts 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /Dynamic Programming/20- max cuts/bin/DP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/20- max cuts/bin/DP.class -------------------------------------------------------------------------------- /Dynamic Programming/21- min coins to make a value/bin/DP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/21- min coins to make a value/bin/DP.class -------------------------------------------------------------------------------- /Dynamic Programming/22- minimum jumps to reach the end/bin/DP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/22- minimum jumps to reach the end/bin/DP.class -------------------------------------------------------------------------------- /Dynamic Programming/23- minimum jumps to reach the end (optimized)/bin/DP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/23- minimum jumps to reach the end (optimized)/bin/DP.class -------------------------------------------------------------------------------- /Dynamic Programming/24- 0-1 knapsack problem/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Dynamic Programming/24- 0-1 knapsack problem/bin/DP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/24- 0-1 knapsack problem/bin/DP.class -------------------------------------------------------------------------------- /Dynamic Programming/25- number of bst with n keys/bin/DP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/25- number of bst with n keys/bin/DP.class -------------------------------------------------------------------------------- /Dynamic Programming/26- count ways to reach nth stair/bin/DP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/26- count ways to reach nth stair/bin/DP.class -------------------------------------------------------------------------------- /Dynamic Programming/27- count ways to reach nth stair (bottoms up)/bin/DP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/27- count ways to reach nth stair (bottoms up)/bin/DP.class -------------------------------------------------------------------------------- /Dynamic Programming/28- max sum wih no adjacent elements/bin/DP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/28- max sum wih no adjacent elements/bin/DP.class -------------------------------------------------------------------------------- /Dynamic Programming/29- trapping rainwater problem/bin/DP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/29- trapping rainwater problem/bin/DP.class -------------------------------------------------------------------------------- /Dynamic Programming/30- escape the forbidden forest/bin/DP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Dynamic Programming/30- escape the forbidden forest/bin/DP.class -------------------------------------------------------------------------------- /Graph/.gitignore: -------------------------------------------------------------------------------- 1 | /.metadata/ 2 | /.recommenders/ 3 | -------------------------------------------------------------------------------- /Graph/01- adjacency list representation of graph/bin/Graph.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Graph/01- adjacency list representation of graph/bin/Graph.class -------------------------------------------------------------------------------- /Graph/02- BFS traversal of an undirected graph (source given)/bin/Graph.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Graph/02- BFS traversal of an undirected graph (source given)/bin/Graph.class -------------------------------------------------------------------------------- /Graph/03- BFS traversal of a directed graph (source given)/bin/Graph.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Graph/03- BFS traversal of a directed graph (source given)/bin/Graph.class -------------------------------------------------------------------------------- /Graph/04- BFS traversal of a disjointed undirected graph (source not given)/bin/Graph.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Graph/04- BFS traversal of a disjointed undirected graph (source not given)/bin/Graph.class -------------------------------------------------------------------------------- /Graph/05- number of components in a graph/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Graph/05- number of components in a graph/bin/Graph.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Graph/05- number of components in a graph/bin/Graph.class -------------------------------------------------------------------------------- /Graph/06- dfs of undirected graph (with given source)/bin/Graph.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Graph/06- dfs of undirected graph (with given source)/bin/Graph.class -------------------------------------------------------------------------------- /Graph/07- dfs of disjointed graph/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Graph/07- dfs of disjointed graph/bin/Graph.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Graph/07- dfs of disjointed graph/bin/Graph.class -------------------------------------------------------------------------------- /Graph/08- detect cycles in an undirected graph/bin/Graph.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Graph/08- detect cycles in an undirected graph/bin/Graph.class -------------------------------------------------------------------------------- /Graph/09- detect cycles in a disjointed undirected graph/bin/Graph.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Graph/09- detect cycles in a disjointed undirected graph/bin/Graph.class -------------------------------------------------------------------------------- /Graph/10- cycle detection in a directed graph/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Graph/10- cycle detection in a directed graph/bin/Graph.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Graph/10- cycle detection in a directed graph/bin/Graph.class -------------------------------------------------------------------------------- /Graph/11- topological sorting for directed acyclic graph (Kahn's algo)/bin/Graph.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Graph/11- topological sorting for directed acyclic graph (Kahn's algo)/bin/Graph.class -------------------------------------------------------------------------------- /Graph/12- cycle detection in a directed graph (kahn's algo)/bin/Graph.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Graph/12- cycle detection in a directed graph (kahn's algo)/bin/Graph.class -------------------------------------------------------------------------------- /Graph/13- topological sorting (DFS based)/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Graph/13- topological sorting (DFS based)/bin/Graph.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Graph/13- topological sorting (DFS based)/bin/Graph.class -------------------------------------------------------------------------------- /Graph/14- transpose a graph/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Graph/14- transpose a graph/bin/Graph.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Graph/14- transpose a graph/bin/Graph.class -------------------------------------------------------------------------------- /Graph/15- strongly connected components (Kosaraju’s algorithm)/bin/Graph.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Graph/15- strongly connected components (Kosaraju’s algorithm)/bin/Graph.class -------------------------------------------------------------------------------- /Greedy/.gitignore: -------------------------------------------------------------------------------- 1 | /.metadata/ 2 | /.recommenders/ 3 | -------------------------------------------------------------------------------- /Greedy/01- minimum number of coins/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Greedy/01- minimum number of coins/bin/Greedy.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Greedy/01- minimum number of coins/bin/Greedy.class -------------------------------------------------------------------------------- /Greedy/02- acitvity selection problem/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Greedy/02- acitvity selection problem/bin/Greedy.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Greedy/02- acitvity selection problem/bin/Greedy.class -------------------------------------------------------------------------------- /Greedy/02- acitvity selection problem/bin/Pair.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Greedy/02- acitvity selection problem/bin/Pair.class -------------------------------------------------------------------------------- /Greedy/03- fractional knapsack problem/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Greedy/03- fractional knapsack problem/bin/Greedy.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Greedy/03- fractional knapsack problem/bin/Greedy.class -------------------------------------------------------------------------------- /Greedy/03- fractional knapsack problem/bin/Pair.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Greedy/03- fractional knapsack problem/bin/Pair.class -------------------------------------------------------------------------------- /Greedy/04- job sequencing problem/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Greedy/04- job sequencing problem/bin/Greedy$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Greedy/04- job sequencing problem/bin/Greedy$1.class -------------------------------------------------------------------------------- /Greedy/04- job sequencing problem/bin/Greedy.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Greedy/04- job sequencing problem/bin/Greedy.class -------------------------------------------------------------------------------- /Greedy/04- job sequencing problem/bin/Job.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Greedy/04- job sequencing problem/bin/Job.class -------------------------------------------------------------------------------- /Greedy/05- huffman decoding/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Greedy/05- huffman decoding/bin/Greedy.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Greedy/05- huffman decoding/bin/Greedy.class -------------------------------------------------------------------------------- /Greedy/05- huffman decoding/bin/MinHeapNode.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Greedy/05- huffman decoding/bin/MinHeapNode.class -------------------------------------------------------------------------------- /Greedy/06- n meetings in a room/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Greedy/06- n meetings in a room/bin/Greedy.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Greedy/06- n meetings in a room/bin/Greedy.class -------------------------------------------------------------------------------- /Greedy/06- n meetings in a room/bin/Pair.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Greedy/06- n meetings in a room/bin/Pair.class -------------------------------------------------------------------------------- /Greedy/07- largest number with given sum/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Greedy/07- largest number with given sum/bin/Greedy.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Greedy/07- largest number with given sum/bin/Greedy.class -------------------------------------------------------------------------------- /Greedy/08- minimize the height 2/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Greedy/08- minimize the height 2/bin/Greedy.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Greedy/08- minimize the height 2/bin/Greedy.class -------------------------------------------------------------------------------- /Hashing/.gitignore: -------------------------------------------------------------------------------- 1 | /.metadata/ 2 | /.recommenders/ 3 | -------------------------------------------------------------------------------- /Hashing/01-pair with given sum (distinct elements)/bin/FindPairWithGivenSum.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Hashing/01-pair with given sum (distinct elements)/bin/FindPairWithGivenSum.class -------------------------------------------------------------------------------- /Hashing/02-pair with given sum (repeating elements)/bin/FindPair.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Hashing/02-pair with given sum (repeating elements)/bin/FindPair.class -------------------------------------------------------------------------------- /Hashing/03-winner of an election/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Hashing/03-winner of an election/bin/WinnerOfElection.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Hashing/03-winner of an election/bin/WinnerOfElection.class -------------------------------------------------------------------------------- /Heap/.gitignore: -------------------------------------------------------------------------------- 1 | /.metadata/ 2 | /.recommenders/ 3 | -------------------------------------------------------------------------------- /Heap/01- Min heap insertion/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Heap/01- Min heap insertion/bin/Heap.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Heap/01- Min heap insertion/bin/Heap.class -------------------------------------------------------------------------------- /Heap/01- Min heap insertion/bin/MinHeap.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Heap/01- Min heap insertion/bin/MinHeap.class -------------------------------------------------------------------------------- /Heap/02- build min-heap from an array/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Heap/02- build min-heap from an array/bin/Heap.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Heap/02- build min-heap from an array/bin/Heap.class -------------------------------------------------------------------------------- /Heap/02- build min-heap from an array/bin/MinHeap.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Heap/02- build min-heap from an array/bin/MinHeap.class -------------------------------------------------------------------------------- /Heap/03- build max-heap from an array/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Heap/03- build max-heap from an array/bin/Heap.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Heap/03- build max-heap from an array/bin/Heap.class -------------------------------------------------------------------------------- /Heap/03- build max-heap from an array/bin/MaxHeap.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Heap/03- build max-heap from an array/bin/MaxHeap.class -------------------------------------------------------------------------------- /Heap/04- min heapify/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Heap/04- min heapify/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | 04- min heapify 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /Heap/04- min heapify/bin/Heap.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Heap/04- min heapify/bin/Heap.class -------------------------------------------------------------------------------- /Heap/05- extract max from heap/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Heap/05- extract max from heap/bin/MaxHeap.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Heap/05- extract max from heap/bin/MaxHeap.class -------------------------------------------------------------------------------- /Heap/06- decrease key in a max heap/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Heap/06- decrease key in a max heap/bin/MaxHeap.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Heap/06- decrease key in a max heap/bin/MaxHeap.class -------------------------------------------------------------------------------- /Heap/07- delete key in a min heap/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Heap/07- delete key in a min heap/bin/MinHeap.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Heap/07- delete key in a min heap/bin/MinHeap.class -------------------------------------------------------------------------------- /Heap/08- heap sort (without aux space)/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Heap/08- heap sort (without aux space)/bin/HeapSort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Heap/08- heap sort (without aux space)/bin/HeapSort.class -------------------------------------------------------------------------------- /Heap/09- kth smallest element in an array/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Heap/09- kth smallest element in an array/bin/KthSmallest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Heap/09- kth smallest element in an array/bin/KthSmallest.class -------------------------------------------------------------------------------- /Linked List/.gitignore: -------------------------------------------------------------------------------- 1 | /.metadata/ 2 | /.recommenders/ 3 | -------------------------------------------------------------------------------- /Linked List/01- simple implementation/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Linked List/01- simple implementation/bin/LinkedList.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Linked List/01- simple implementation/bin/LinkedList.class -------------------------------------------------------------------------------- /Linked List/01- simple implementation/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Linked List/01- simple implementation/bin/Node.class -------------------------------------------------------------------------------- /Linked List/02- searching in a linked List (iterative & recursive)/bin/LinkedListSearch.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Linked List/02- searching in a linked List (iterative & recursive)/bin/LinkedListSearch.class -------------------------------------------------------------------------------- /Linked List/02- searching in a linked List (iterative & recursive)/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Linked List/02- searching in a linked List (iterative & recursive)/bin/Node.class -------------------------------------------------------------------------------- /Linked List/03- insert at a given position/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Linked List/03- insert at a given position/bin/LinkedList.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Linked List/03- insert at a given position/bin/LinkedList.class -------------------------------------------------------------------------------- /Linked List/03- insert at a given position/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Linked List/03- insert at a given position/bin/Node.class -------------------------------------------------------------------------------- /Linked List/04- sorted insert at singly linked list/bin/LinkedList.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Linked List/04- sorted insert at singly linked list/bin/LinkedList.class -------------------------------------------------------------------------------- /Linked List/04- sorted insert at singly linked list/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Linked List/04- sorted insert at singly linked list/bin/Node.class -------------------------------------------------------------------------------- /Linked List/05- nth node from the end of the linked list/bin/LinkedList.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Linked List/05- nth node from the end of the linked list/bin/LinkedList.class -------------------------------------------------------------------------------- /Linked List/05- nth node from the end of the linked list/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Linked List/05- nth node from the end of the linked list/bin/Node.class -------------------------------------------------------------------------------- /Linked List/06- reverse a linked list (iterative)/bin/LinkedList.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Linked List/06- reverse a linked list (iterative)/bin/LinkedList.class -------------------------------------------------------------------------------- /Linked List/06- reverse a linked list (iterative)/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Linked List/06- reverse a linked list (iterative)/bin/Node.class -------------------------------------------------------------------------------- /Linked List/07- reverse a linked list (recursive)/bin/LinkedList.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Linked List/07- reverse a linked list (recursive)/bin/LinkedList.class -------------------------------------------------------------------------------- /Linked List/07- reverse a linked list (recursive)/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Linked List/07- reverse a linked list (recursive)/bin/Node.class -------------------------------------------------------------------------------- /Linked List/08- remove duplicates from a sorted singly linked list/bin/LinkedList.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Linked List/08- remove duplicates from a sorted singly linked list/bin/LinkedList.class -------------------------------------------------------------------------------- /Linked List/08- remove duplicates from a sorted singly linked list/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Linked List/08- remove duplicates from a sorted singly linked list/bin/Node.class -------------------------------------------------------------------------------- /Linked List/09- detect loop in a linked list/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Linked List/09- detect loop in a linked list/bin/LinkedList.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Linked List/09- detect loop in a linked list/bin/LinkedList.class -------------------------------------------------------------------------------- /Linked List/09- detect loop in a linked list/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Linked List/09- detect loop in a linked list/bin/Node.class -------------------------------------------------------------------------------- /Linked List/10- detect loop in a linked list (Floyd's cycle finding algorithm)/bin/LinkedList.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Linked List/10- detect loop in a linked list (Floyd's cycle finding algorithm)/bin/LinkedList.class -------------------------------------------------------------------------------- /Linked List/10- detect loop in a linked list (Floyd's cycle finding algorithm)/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Linked List/10- detect loop in a linked list (Floyd's cycle finding algorithm)/bin/Node.class -------------------------------------------------------------------------------- /Linked List/11- find intersection point of two linked list/bin/LinkedList.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Linked List/11- find intersection point of two linked list/bin/LinkedList.class -------------------------------------------------------------------------------- /Linked List/11- find intersection point of two linked list/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Linked List/11- find intersection point of two linked list/bin/Node.class -------------------------------------------------------------------------------- /Linked List/11- find intersection point of two linked list/src/LinkedList.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Linked List/11- find intersection point of two linked list/src/LinkedList.java -------------------------------------------------------------------------------- /Linked List/12- insert at the middle of a linked list/bin/LinkedList.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Linked List/12- insert at the middle of a linked list/bin/LinkedList.class -------------------------------------------------------------------------------- /Linked List/12- insert at the middle of a linked list/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Linked List/12- insert at the middle of a linked list/bin/Node.class -------------------------------------------------------------------------------- /Linked List/13- check if two linked lists are identical/bin/LinkedList.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Linked List/13- check if two linked lists are identical/bin/LinkedList.class -------------------------------------------------------------------------------- /Linked List/13- check if two linked lists are identical/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Linked List/13- check if two linked lists are identical/bin/Node.class -------------------------------------------------------------------------------- /Linked List/14- Rotate a linked list/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Linked List/14- Rotate a linked list/bin/LinkedList.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Linked List/14- Rotate a linked list/bin/LinkedList.class -------------------------------------------------------------------------------- /Linked List/14- Rotate a linked list/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Linked List/14- Rotate a linked list/bin/Node.class -------------------------------------------------------------------------------- /Linked List/15- merge two sorted linked list/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Linked List/15- merge two sorted linked list/bin/LinkedList.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Linked List/15- merge two sorted linked list/bin/LinkedList.class -------------------------------------------------------------------------------- /Linked List/15- merge two sorted linked list/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Linked List/15- merge two sorted linked list/bin/Node.class -------------------------------------------------------------------------------- /Linked List/16- pairwise swap of nodes/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Linked List/16- pairwise swap of nodes/bin/LinkedLIst.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Linked List/16- pairwise swap of nodes/bin/LinkedLIst.class -------------------------------------------------------------------------------- /Linked List/16- pairwise swap of nodes/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Linked List/16- pairwise swap of nodes/bin/Node.class -------------------------------------------------------------------------------- /Queue/.gitignore: -------------------------------------------------------------------------------- 1 | /.metadata/ 2 | /.recommenders/ 3 | -------------------------------------------------------------------------------- /Queue/01- array implementation of queue/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Queue/01- array implementation of queue/bin/Queue.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Queue/01- array implementation of queue/bin/Queue.class -------------------------------------------------------------------------------- /Queue/01- array implementation of queue/bin/QueueImpl.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Queue/01- array implementation of queue/bin/QueueImpl.class -------------------------------------------------------------------------------- /Queue/02- linked list implementation of queue/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Queue/02- linked list implementation of queue/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Queue/02- linked list implementation of queue/bin/Node.class -------------------------------------------------------------------------------- /Queue/02- linked list implementation of queue/bin/Queue.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Queue/02- linked list implementation of queue/bin/Queue.class -------------------------------------------------------------------------------- /Queue/03- circular queue using array/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Queue/03- circular queue using array/bin/CircularQueue.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Queue/03- circular queue using array/bin/CircularQueue.class -------------------------------------------------------------------------------- /Queue/03- circular queue using array/bin/Queue.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Queue/03- circular queue using array/bin/Queue.class -------------------------------------------------------------------------------- /Queue/04- circular queue using linked list/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Queue/04- circular queue using linked list/bin/CircularQueue.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Queue/04- circular queue using linked list/bin/CircularQueue.class -------------------------------------------------------------------------------- /Queue/04- circular queue using linked list/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Queue/04- circular queue using linked list/bin/Node.class -------------------------------------------------------------------------------- /Queue/05- stack using queues/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Queue/05- stack using queues/bin/StackUsingQueue.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Queue/05- stack using queues/bin/StackUsingQueue.class -------------------------------------------------------------------------------- /Queue/06- queue using stacks/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Queue/06- queue using stacks/bin/QueueUsingStacks.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Queue/06- queue using stacks/bin/QueueUsingStacks.class -------------------------------------------------------------------------------- /Queue/07- reversing the first k elements of a queue/bin/ReverseKElements.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Queue/07- reversing the first k elements of a queue/bin/ReverseKElements.class -------------------------------------------------------------------------------- /Queue/08- sliding window maximum/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Queue/08- sliding window maximum/bin/SlidingWindowMaximum.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Queue/08- sliding window maximum/bin/SlidingWindowMaximum.class -------------------------------------------------------------------------------- /Recursion/.gitignore: -------------------------------------------------------------------------------- 1 | /.metadata/ 2 | /.recommenders/ 3 | -------------------------------------------------------------------------------- /Recursion/01-If a string is palindrome/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Recursion/01-If a string is palindrome/bin/IsPalindrome.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Recursion/01-If a string is palindrome/bin/IsPalindrome.class -------------------------------------------------------------------------------- /Recursion/02-sum of digits/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Recursion/02-sum of digits/bin/SumOfDigits.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Recursion/02-sum of digits/bin/SumOfDigits.class -------------------------------------------------------------------------------- /Recursion/02-sum of digits/src/SumOfDigits.java: -------------------------------------------------------------------------------- 1 | 2 | public class SumOfDigits { 3 | 4 | public static int sum(int num) { 5 | if (num == 0) 6 | return 0; 7 | 8 | int rem = num%10; 9 | return rem + sum(num/10); 10 | } 11 | 12 | public static void main(String[] args) { 13 | // TODO Auto-generated method stub 14 | int num = 256; 15 | System.out.println(sum(num)); 16 | 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /Recursion/03-rope cutting problem/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Recursion/03-rope cutting problem/bin/RopeCutting.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Recursion/03-rope cutting problem/bin/RopeCutting.class -------------------------------------------------------------------------------- /Recursion/04-subsets of a string/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Recursion/04-subsets of a string/bin/SubsetsOfString.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Recursion/04-subsets of a string/bin/SubsetsOfString.class -------------------------------------------------------------------------------- /Recursion/05-tower of hanoi/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Recursion/05-tower of hanoi/bin/TowerOfHanoi.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Recursion/05-tower of hanoi/bin/TowerOfHanoi.class -------------------------------------------------------------------------------- /Recursion/06-Tree traversals (inorder, preorder, postorder)/bin/BinaryTree.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Recursion/06-Tree traversals (inorder, preorder, postorder)/bin/BinaryTree.class -------------------------------------------------------------------------------- /Recursion/06-Tree traversals (inorder, preorder, postorder)/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Recursion/06-Tree traversals (inorder, preorder, postorder)/bin/Node.class -------------------------------------------------------------------------------- /Recursion/06-Tree traversals (inorder, preorder, postorder)/bin/TreeTraversals.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Recursion/06-Tree traversals (inorder, preorder, postorder)/bin/TreeTraversals.class -------------------------------------------------------------------------------- /Recursion/06-Tree traversals (inorder, preorder, postorder)/src/Node.java: -------------------------------------------------------------------------------- 1 | 2 | public class Node { 3 | int key; 4 | Node left; 5 | Node right; 6 | 7 | public Node(int key) { 8 | this.key = key; 9 | left = right = null; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Recursion/07-Josephus Problem/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Recursion/07-Josephus Problem/bin/JosephusProblem.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Recursion/07-Josephus Problem/bin/JosephusProblem.class -------------------------------------------------------------------------------- /Recursion/08-Permutations of a string/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Recursion/08-Permutations of a string/bin/Permutations.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Recursion/08-Permutations of a string/bin/Permutations.class -------------------------------------------------------------------------------- /Recursion/09-Print array recursively/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Recursion/09-Print array recursively/bin/Priya.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Recursion/09-Print array recursively/bin/Priya.class -------------------------------------------------------------------------------- /Recursion/10- max diff between two elements/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Recursion/10- max diff between two elements/bin/Recursion.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Recursion/10- max diff between two elements/bin/Recursion.class -------------------------------------------------------------------------------- /Recursion/11- coin change count/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Recursion/11- coin change count/bin/Recursion.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Recursion/11- coin change count/bin/Recursion.class -------------------------------------------------------------------------------- /Recursion/12- 0-1 knacksap problem/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Recursion/12- 0-1 knacksap problem/bin/DP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Recursion/12- 0-1 knacksap problem/bin/DP.class -------------------------------------------------------------------------------- /Searching/.gitignore: -------------------------------------------------------------------------------- 1 | /.metadata/ 2 | /.recommenders/ 3 | -------------------------------------------------------------------------------- /Searching/01- binary search (iterative)/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Searching/01- binary search (iterative)/bin/BinarySearch.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Searching/01- binary search (iterative)/bin/BinarySearch.class -------------------------------------------------------------------------------- /Searching/02- binary search (recursive)/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Searching/02- binary search (recursive)/bin/RecursiveBinarySearch.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Searching/02- binary search (recursive)/bin/RecursiveBinarySearch.class -------------------------------------------------------------------------------- /Searching/03- index of first occurrence in sorted array (recursive)/bin/SortedIndex.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Searching/03- index of first occurrence in sorted array (recursive)/bin/SortedIndex.class -------------------------------------------------------------------------------- /Searching/04- index of last occurance in sorted array (iterative)/bin/SortedIndex.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Searching/04- index of last occurance in sorted array (iterative)/bin/SortedIndex.class -------------------------------------------------------------------------------- /Searching/05- no of 1s in a sorted binary array/bin/CountOnes.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Searching/05- no of 1s in a sorted binary array/bin/CountOnes.class -------------------------------------------------------------------------------- /Searching/06- square root/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Searching/06- square root/bin/SquareRoot.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Searching/06- square root/bin/SquareRoot.class -------------------------------------------------------------------------------- /Sorting/.gitignore: -------------------------------------------------------------------------------- 1 | /.metadata/ 2 | /.recommenders/ 3 | -------------------------------------------------------------------------------- /Sorting/01- comparable/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Sorting/01- comparable/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | 01- comparable 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /Sorting/01- comparable/bin/ComparableExample.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Sorting/01- comparable/bin/ComparableExample.class -------------------------------------------------------------------------------- /Sorting/01- comparable/bin/Point.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Sorting/01- comparable/bin/Point.class -------------------------------------------------------------------------------- /Sorting/02- sort by even odd/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Sorting/02- sort by even odd/bin/MyCmp.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Sorting/02- sort by even odd/bin/MyCmp.class -------------------------------------------------------------------------------- /Sorting/02- sort by even odd/bin/SortEvenOdd.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Sorting/02- sort by even odd/bin/SortEvenOdd.class -------------------------------------------------------------------------------- /Sorting/03- comparator/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Sorting/03- comparator/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | 03- comparator 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /Sorting/03- comparator/bin/MyCmp.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Sorting/03- comparator/bin/MyCmp.class -------------------------------------------------------------------------------- /Sorting/03- comparator/bin/Point.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Sorting/03- comparator/bin/Point.class -------------------------------------------------------------------------------- /Sorting/03- comparator/bin/Test.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Sorting/03- comparator/bin/Test.class -------------------------------------------------------------------------------- /Sorting/04- buuble sort (optimized)/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Sorting/04- buuble sort (optimized)/bin/Sort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Sorting/04- buuble sort (optimized)/bin/Sort.class -------------------------------------------------------------------------------- /Sorting/05- selection sort/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Sorting/05- selection sort/bin/Sort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Sorting/05- selection sort/bin/Sort.class -------------------------------------------------------------------------------- /Sorting/06- insertion sort/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Sorting/06- insertion sort/bin/Sort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Sorting/06- insertion sort/bin/Sort.class -------------------------------------------------------------------------------- /Sorting/07- merge two sorted array/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Sorting/07- merge two sorted array/bin/MergeTwoSortedArray.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Sorting/07- merge two sorted array/bin/MergeTwoSortedArray.class -------------------------------------------------------------------------------- /Sorting/08- merge function of merge sort/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Sorting/08- merge function of merge sort/bin/MergeFunctionOfMergeSort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Sorting/08- merge function of merge sort/bin/MergeFunctionOfMergeSort.class -------------------------------------------------------------------------------- /Sorting/09- merge sort/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Sorting/09- merge sort/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | 09- merge sort 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /Sorting/09- merge sort/bin/MergeSortAlgorithm.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Sorting/09- merge sort/bin/MergeSortAlgorithm.class -------------------------------------------------------------------------------- /Sorting/10- naive partitioning/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Sorting/10- naive partitioning/bin/NaivePartioning.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Sorting/10- naive partitioning/bin/NaivePartioning.class -------------------------------------------------------------------------------- /Sorting/11- lomuto partitioning/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Sorting/11- lomuto partitioning/bin/Partition.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Sorting/11- lomuto partitioning/bin/Partition.class -------------------------------------------------------------------------------- /Sorting/12- hoare's partitioning/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Sorting/12- hoare's partitioning/bin/Partition.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Sorting/12- hoare's partitioning/bin/Partition.class -------------------------------------------------------------------------------- /Sorting/13- quicksort using lomuto partition/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Sorting/13- quicksort using lomuto partition/bin/QuickSort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Sorting/13- quicksort using lomuto partition/bin/QuickSort.class -------------------------------------------------------------------------------- /Sorting/14- quicksort using hoare partition/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Sorting/14- quicksort using hoare partition/bin/QuickSort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Sorting/14- quicksort using hoare partition/bin/QuickSort.class -------------------------------------------------------------------------------- /Sorting/15- heap sort/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Sorting/15- heap sort/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | 15- heap sort 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /Sorting/15- heap sort/bin/HeapSort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Sorting/15- heap sort/bin/HeapSort.class -------------------------------------------------------------------------------- /Sorting/16- counting sort/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Sorting/16- counting sort/bin/CountingSort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Sorting/16- counting sort/bin/CountingSort.class -------------------------------------------------------------------------------- /Sorting/17- count number of triangles/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Sorting/17- count number of triangles/bin/Triangles.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Sorting/17- count number of triangles/bin/Triangles.class -------------------------------------------------------------------------------- /Stack/.gitignore: -------------------------------------------------------------------------------- 1 | /.metadata/ 2 | /.recommenders/ 3 | -------------------------------------------------------------------------------- /Stack/01- array implementation of stack/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Stack/01- array implementation of stack/bin/Runner.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Stack/01- array implementation of stack/bin/Runner.class -------------------------------------------------------------------------------- /Stack/01- array implementation of stack/bin/Stack.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Stack/01- array implementation of stack/bin/Stack.class -------------------------------------------------------------------------------- /Stack/02- arrayList implementation of stack/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Stack/02- arrayList implementation of stack/bin/Runner.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Stack/02- arrayList implementation of stack/bin/Runner.class -------------------------------------------------------------------------------- /Stack/02- arrayList implementation of stack/bin/Stack.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Stack/02- arrayList implementation of stack/bin/Stack.class -------------------------------------------------------------------------------- /Stack/03- check for balanced parenthesis/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Stack/03- check for balanced parenthesis/bin/BalancedParenthesis.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Stack/03- check for balanced parenthesis/bin/BalancedParenthesis.class -------------------------------------------------------------------------------- /Stack/03- check for balanced parenthesis/src/BalancedParenthesis.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Stack/03- check for balanced parenthesis/src/BalancedParenthesis.java -------------------------------------------------------------------------------- /Stack/04- infix to postfix/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Stack/04- infix to postfix/bin/InfoxToPostfix.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Stack/04- infix to postfix/bin/InfoxToPostfix.class -------------------------------------------------------------------------------- /Stack/04- infix to postfix/src/InfoxToPostfix.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Stack/04- infix to postfix/src/InfoxToPostfix.java -------------------------------------------------------------------------------- /Stack/05- infix to postfix (gfg's solution)/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Stack/05- infix to postfix (gfg's solution)/bin/InfoxToPostfix.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Stack/05- infix to postfix (gfg's solution)/bin/InfoxToPostfix.class -------------------------------------------------------------------------------- /Stack/05- infix to postfix (gfg's solution)/src/InfoxToPostfix.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Stack/05- infix to postfix (gfg's solution)/src/InfoxToPostfix.java -------------------------------------------------------------------------------- /Stack/06- evaluation of postfix expression/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Stack/06- evaluation of postfix expression/bin/EvaluatePostFix.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Stack/06- evaluation of postfix expression/bin/EvaluatePostFix.class -------------------------------------------------------------------------------- /Stack/07- infix to prefix/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Stack/07- infix to prefix/bin/InfixToPrefix.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Stack/07- infix to prefix/bin/InfixToPrefix.class -------------------------------------------------------------------------------- /Stack/08- prefix evaluation/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Stack/08- prefix evaluation/bin/PrefixEvaluation.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Stack/08- prefix evaluation/bin/PrefixEvaluation.class -------------------------------------------------------------------------------- /Stack/09- two stacks/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Stack/09- two stacks/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | 09- two stacks 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /Stack/09- two stacks/bin/TwoStacks.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Stack/09- two stacks/bin/TwoStacks.class -------------------------------------------------------------------------------- /Stack/10- squares of a sorted array/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Stack/10- squares of a sorted array/bin/SquaresOfASortedArray.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Stack/10- squares of a sorted array/bin/SquaresOfASortedArray.class -------------------------------------------------------------------------------- /Stack/11- stack that returns minimum element in O(1)/bin/MinEleInStack.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Stack/11- stack that returns minimum element in O(1)/bin/MinEleInStack.class -------------------------------------------------------------------------------- /Stack/11- stack that returns minimum element in O(1)/src/MinEleInStack.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Stack/11- stack that returns minimum element in O(1)/src/MinEleInStack.java -------------------------------------------------------------------------------- /Stack/12- stack that returns minimum element in O(1) time and O(n) extra space/bin/MinEleInStack.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Stack/12- stack that returns minimum element in O(1) time and O(n) extra space/bin/MinEleInStack.class -------------------------------------------------------------------------------- /Stack/13- build the smallest num after deleting k numbers from it/bin/BuildSmallest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Stack/13- build the smallest num after deleting k numbers from it/bin/BuildSmallest.class -------------------------------------------------------------------------------- /Stack/13- build the smallest num after deleting k numbers from it/src/BuildSmallest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Stack/13- build the smallest num after deleting k numbers from it/src/BuildSmallest.java -------------------------------------------------------------------------------- /Stack/14- pairwise consecutive/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Stack/14- pairwise consecutive/bin/MyStack.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Stack/14- pairwise consecutive/bin/MyStack.class -------------------------------------------------------------------------------- /Stack/15- sort a stack in O(1) auxiliary space/bin/MyStack.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Stack/15- sort a stack in O(1) auxiliary space/bin/MyStack.class -------------------------------------------------------------------------------- /String/.gitignore: -------------------------------------------------------------------------------- 1 | /.metadata/ 2 | /.recommenders/ 3 | -------------------------------------------------------------------------------- /String/01-freq of characters/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /String/01-freq of characters/bin/Freq.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/String/01-freq of characters/bin/Freq.class -------------------------------------------------------------------------------- /String/02-palindrome/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /String/02-palindrome/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | 02-palindrome 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /String/02-palindrome/bin/Palindrome.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/String/02-palindrome/bin/Palindrome.class -------------------------------------------------------------------------------- /String/03-largest Rectangle in Histogram/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /String/03-largest Rectangle in Histogram/bin/LargestRect.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/String/03-largest Rectangle in Histogram/bin/LargestRect.class -------------------------------------------------------------------------------- /String/04-anagram check/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /String/04-anagram check/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | 04-anagram check 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /String/04-anagram check/bin/Anagram.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/String/04-anagram check/bin/Anagram.class -------------------------------------------------------------------------------- /String/05-left most repeating character/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /String/05-left most repeating character/bin/LeftMostRepeat.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/String/05-left most repeating character/bin/LeftMostRepeat.class -------------------------------------------------------------------------------- /String/06-leftmost non repeating character/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /String/06-leftmost non repeating character/bin/LeftNonRepeat.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/String/06-leftmost non repeating character/bin/LeftNonRepeat.class -------------------------------------------------------------------------------- /String/07-pattern searching (naive)/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /String/07-pattern searching (naive)/bin/PatternSearch.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/String/07-pattern searching (naive)/bin/PatternSearch.class -------------------------------------------------------------------------------- /String/08-pattern searching (for distinct pattern elements)/bin/PatternSearch.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/String/08-pattern searching (for distinct pattern elements)/bin/PatternSearch.class -------------------------------------------------------------------------------- /String/09-anagram search/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /String/09-anagram search/bin/AnagramSearch.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/String/09-anagram search/bin/AnagramSearch.class -------------------------------------------------------------------------------- /String/10-if two strings are rotations of each other/bin/StringRotations.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/String/10-if two strings are rotations of each other/bin/StringRotations.class -------------------------------------------------------------------------------- /String/11-rabin karp algorithm/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /String/11-rabin karp algorithm/bin/RabinKarp.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/String/11-rabin karp algorithm/bin/RabinKarp.class -------------------------------------------------------------------------------- /String/12-lexicographic rank of a string/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /String/12-lexicographic rank of a string/bin/LexicographicRank.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/String/12-lexicographic rank of a string/bin/LexicographicRank.class -------------------------------------------------------------------------------- /String/12-lexicographic rank of a string/src/LexicographicRank.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/String/12-lexicographic rank of a string/src/LexicographicRank.java -------------------------------------------------------------------------------- /String/13-longest proper prefix array/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /String/13-longest proper prefix array/bin/LPS.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/String/13-longest proper prefix array/bin/LPS.class -------------------------------------------------------------------------------- /String/14- KMP algorithm for pattern searching/bin/KMP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/String/14- KMP algorithm for pattern searching/bin/KMP.class -------------------------------------------------------------------------------- /String/15-longest non repeating substring/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /String/15-longest non repeating substring/bin/Longest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/String/15-longest non repeating substring/bin/Longest.class -------------------------------------------------------------------------------- /String/16- minimum number of operations to move all balls to each box/bin/MinimumSwaps.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/String/16- minimum number of operations to move all balls to each box/bin/MinimumSwaps.class -------------------------------------------------------------------------------- /String/17- minimum number of operations to move all balls to each box (optimised)/bin/MinimumSwaps.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/String/17- minimum number of operations to move all balls to each box (optimised)/bin/MinimumSwaps.class -------------------------------------------------------------------------------- /String/18- find and replace pattern/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /String/18- find and replace pattern/bin/FindAndReplacePattern.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/String/18- find and replace pattern/bin/FindAndReplacePattern.class -------------------------------------------------------------------------------- /String/19- break a palindrome/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /String/19- break a palindrome/bin/BreakPalindrome.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/String/19- break a palindrome/bin/BreakPalindrome.class -------------------------------------------------------------------------------- /String/20- break a tie/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /String/20- break a tie/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | 20- break a tie 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /String/20- break a tie/bin/MyString.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/String/20- break a tie/bin/MyString.class -------------------------------------------------------------------------------- /String/21- maximumm integer value/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /String/21- maximumm integer value/bin/MaxInt.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/String/21- maximumm integer value/bin/MaxInt.class -------------------------------------------------------------------------------- /Tree/.gitignore: -------------------------------------------------------------------------------- 1 | /.metadata/ 2 | /.recommenders/ 3 | -------------------------------------------------------------------------------- /Tree/01- inorder, preorder, postorder traversal/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/01- inorder, preorder, postorder traversal/bin/Node.class -------------------------------------------------------------------------------- /Tree/01- inorder, preorder, postorder traversal/bin/TreeTraversal.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/01- inorder, preorder, postorder traversal/bin/TreeTraversal.class -------------------------------------------------------------------------------- /Tree/02- height of a binary tree/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Tree/02- height of a binary tree/bin/BinaryTreeHeight.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/02- height of a binary tree/bin/BinaryTreeHeight.class -------------------------------------------------------------------------------- /Tree/02- height of a binary tree/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/02- height of a binary tree/bin/Node.class -------------------------------------------------------------------------------- /Tree/03- print nodes at distance k/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Tree/03- print nodes at distance k/bin/BinaryTree.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/03- print nodes at distance k/bin/BinaryTree.class -------------------------------------------------------------------------------- /Tree/03- print nodes at distance k/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/03- print nodes at distance k/bin/Node.class -------------------------------------------------------------------------------- /Tree/04- breadth first traversal/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Tree/04- breadth first traversal/bin/BinaryTree.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/04- breadth first traversal/bin/BinaryTree.class -------------------------------------------------------------------------------- /Tree/04- breadth first traversal/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/04- breadth first traversal/bin/Node.class -------------------------------------------------------------------------------- /Tree/04- breadth first traversal/bin/TreeNode.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/04- breadth first traversal/bin/TreeNode.class -------------------------------------------------------------------------------- /Tree/05- size of a binary tree (recursive)/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Tree/05- size of a binary tree (recursive)/bin/BinaryTree.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/05- size of a binary tree (recursive)/bin/BinaryTree.class -------------------------------------------------------------------------------- /Tree/05- size of a binary tree (recursive)/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/05- size of a binary tree (recursive)/bin/Node.class -------------------------------------------------------------------------------- /Tree/06- size of a binary tree (iterative)/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Tree/06- size of a binary tree (iterative)/bin/BinaryTree.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/06- size of a binary tree (iterative)/bin/BinaryTree.class -------------------------------------------------------------------------------- /Tree/06- size of a binary tree (iterative)/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/06- size of a binary tree (iterative)/bin/Node.class -------------------------------------------------------------------------------- /Tree/07- max in a binary tree/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Tree/07- max in a binary tree/bin/BinaryTree.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/07- max in a binary tree/bin/BinaryTree.class -------------------------------------------------------------------------------- /Tree/07- max in a binary tree/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/07- max in a binary tree/bin/Node.class -------------------------------------------------------------------------------- /Tree/08- iterative inorder traversal 1/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Tree/08- iterative inorder traversal 1/bin/BinaryTree.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/08- iterative inorder traversal 1/bin/BinaryTree.class -------------------------------------------------------------------------------- /Tree/08- iterative inorder traversal 1/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/08- iterative inorder traversal 1/bin/Node.class -------------------------------------------------------------------------------- /Tree/09- iterative inorder traversal 2/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Tree/09- iterative inorder traversal 2/bin/BinaryTree.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/09- iterative inorder traversal 2/bin/BinaryTree.class -------------------------------------------------------------------------------- /Tree/09- iterative inorder traversal 2/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/09- iterative inorder traversal 2/bin/Node.class -------------------------------------------------------------------------------- /Tree/10- iterative preorder traversal/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Tree/10- iterative preorder traversal/bin/BinaryTree.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/10- iterative preorder traversal/bin/BinaryTree.class -------------------------------------------------------------------------------- /Tree/10- iterative preorder traversal/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/10- iterative preorder traversal/bin/Node.class -------------------------------------------------------------------------------- /Tree/11- insert key in a a binary tree/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Tree/11- insert key in a a binary tree/bin/BinaryTree.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/11- insert key in a a binary tree/bin/BinaryTree.class -------------------------------------------------------------------------------- /Tree/11- insert key in a a binary tree/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/11- insert key in a a binary tree/bin/Node.class -------------------------------------------------------------------------------- /Tree/12- delete key in a a binary tree/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Tree/12- delete key in a a binary tree/bin/BinaryTree.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/12- delete key in a a binary tree/bin/BinaryTree.class -------------------------------------------------------------------------------- /Tree/12- delete key in a a binary tree/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/12- delete key in a a binary tree/bin/Node.class -------------------------------------------------------------------------------- /Tree/13- lowest common ancestor (with extra space)/bin/BinaryTree.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/13- lowest common ancestor (with extra space)/bin/BinaryTree.class -------------------------------------------------------------------------------- /Tree/13- lowest common ancestor (with extra space)/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/13- lowest common ancestor (with extra space)/bin/Node.class -------------------------------------------------------------------------------- /Tree/14- get path of a key from root/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Tree/14- get path of a key from root/bin/BinaryTree.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/14- get path of a key from root/bin/BinaryTree.class -------------------------------------------------------------------------------- /Tree/14- get path of a key from root/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/14- get path of a key from root/bin/Node.class -------------------------------------------------------------------------------- /Tree/15- diameter of a binary tree/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Tree/15- diameter of a binary tree/bin/BinaryTree.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/15- diameter of a binary tree/bin/BinaryTree.class -------------------------------------------------------------------------------- /Tree/15- diameter of a binary tree/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/15- diameter of a binary tree/bin/Node.class -------------------------------------------------------------------------------- /Tree/16- left, right, top, bottom view ofa a binary tree/bin/BinaryTree.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/16- left, right, top, bottom view ofa a binary tree/bin/BinaryTree.class -------------------------------------------------------------------------------- /Tree/16- left, right, top, bottom view ofa a binary tree/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/16- left, right, top, bottom view ofa a binary tree/bin/Node.class -------------------------------------------------------------------------------- /Tree/17- convert binary tree into it's mirror tree/bin/BianryTree.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/17- convert binary tree into it's mirror tree/bin/BianryTree.class -------------------------------------------------------------------------------- /Tree/17- convert binary tree into it's mirror tree/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/17- convert binary tree into it's mirror tree/bin/Node.class -------------------------------------------------------------------------------- /Tree/18- lowest common ancestor (O(1) space)/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Tree/18- lowest common ancestor (O(1) space)/bin/BinaryTree.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/18- lowest common ancestor (O(1) space)/bin/BinaryTree.class -------------------------------------------------------------------------------- /Tree/18- lowest common ancestor (O(1) space)/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/18- lowest common ancestor (O(1) space)/bin/Node.class -------------------------------------------------------------------------------- /Tree/18- lowest common ancestor (O(1) space)/src/BinaryTree.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/18- lowest common ancestor (O(1) space)/src/BinaryTree.java -------------------------------------------------------------------------------- /Tree/19- sum tree/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Tree/19- sum tree/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19- sum tree 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /Tree/19- sum tree/bin/Node.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/19- sum tree/bin/Node.class -------------------------------------------------------------------------------- /Tree/19- sum tree/bin/SumTree.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Nawaz2000/Java-DSA/2fde51188e6efdd6e4432bca48d976fa85f7bddf/Tree/19- sum tree/bin/SumTree.class --------------------------------------------------------------------------------