├── .gitignore ├── .idea ├── .gitignore ├── misc.xml ├── modules.xml ├── uiDesigner.xml └── vcs.xml ├── Data Structures and Algorithms.iml ├── README.md └── src ├── algorithms ├── recursion │ ├── factorial │ │ └── Factorial.java │ ├── fibonacci │ │ └── Fibonacci.java │ └── reverse_string │ │ └── ReverseString.java ├── searching │ ├── bfs │ │ └── README.md │ ├── binary_search │ │ └── BinarySearch.java │ └── linear_search │ │ └── LinearSearch.java └── sorting │ ├── README.md │ ├── bubble_sort │ └── BubbleSort.java │ ├── insertion_sort │ └── InsertionSort.java │ ├── merge_sort │ └── MergeSort.java │ ├── quick_sort │ └── QuickSort.java │ └── selection_sort │ └── SelectionSort.java ├── data_structures ├── arrays │ ├── README.md │ ├── array_implementation │ │ └── DynamicArray.java │ ├── merge_sorted_arrays │ │ └── MergeSortedArrays.java │ └── reverse_string │ │ └── ReverseString.java ├── graphs │ └── Graph.java ├── hashtables │ ├── first_recurring_character │ │ └── FirstRecurring.java │ ├── implementing_hashtable │ │ ├── HashTable.java │ │ └── KeyValue.java │ └── inbuilt_hashtables │ │ └── InbuiltHashtable.java ├── linked_lists │ ├── doubly_linked_list_implementation │ │ ├── DoublyLinkedList.java │ │ └── Node.java │ └── linked_list_implementation │ │ ├── LinkedList.java │ │ └── Node.java ├── queues │ ├── queue_using_linkedlist │ │ ├── Node.java │ │ └── Queue.java │ └── queue_using_stacks │ │ └── Queue.java ├── stacks │ ├── stack_using_arrays │ │ └── Stack.java │ └── stack_using_linkedlists │ │ ├── Node.java │ │ └── Stack.java └── trees │ ├── binary_search_tree │ ├── BinarySearchTree.java │ ├── HelperFunctions.java │ └── Node.java │ ├── priority_queue │ ├── Node.java │ └── PriorityQueue.java │ └── trie │ ├── Node.java │ ├── README.md │ └── Trie.java └── dynamic_programming ├── dynamic_fibonacci └── DynamicFibonacci.java └── memoization └── Memoization.java /.gitignore: -------------------------------------------------------------------------------- 1 | /out/ -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/.idea/misc.xml -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/.idea/modules.xml -------------------------------------------------------------------------------- /.idea/uiDesigner.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/.idea/uiDesigner.xml -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/.idea/vcs.xml -------------------------------------------------------------------------------- /Data Structures and Algorithms.iml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/Data Structures and Algorithms.iml -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/README.md -------------------------------------------------------------------------------- /src/algorithms/recursion/factorial/Factorial.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/algorithms/recursion/factorial/Factorial.java -------------------------------------------------------------------------------- /src/algorithms/recursion/fibonacci/Fibonacci.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/algorithms/recursion/fibonacci/Fibonacci.java -------------------------------------------------------------------------------- /src/algorithms/recursion/reverse_string/ReverseString.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/algorithms/recursion/reverse_string/ReverseString.java -------------------------------------------------------------------------------- /src/algorithms/searching/bfs/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/algorithms/searching/bfs/README.md -------------------------------------------------------------------------------- /src/algorithms/searching/binary_search/BinarySearch.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/algorithms/searching/binary_search/BinarySearch.java -------------------------------------------------------------------------------- /src/algorithms/searching/linear_search/LinearSearch.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/algorithms/searching/linear_search/LinearSearch.java -------------------------------------------------------------------------------- /src/algorithms/sorting/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/algorithms/sorting/README.md -------------------------------------------------------------------------------- /src/algorithms/sorting/bubble_sort/BubbleSort.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/algorithms/sorting/bubble_sort/BubbleSort.java -------------------------------------------------------------------------------- /src/algorithms/sorting/insertion_sort/InsertionSort.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/algorithms/sorting/insertion_sort/InsertionSort.java -------------------------------------------------------------------------------- /src/algorithms/sorting/merge_sort/MergeSort.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/algorithms/sorting/merge_sort/MergeSort.java -------------------------------------------------------------------------------- /src/algorithms/sorting/quick_sort/QuickSort.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/algorithms/sorting/quick_sort/QuickSort.java -------------------------------------------------------------------------------- /src/algorithms/sorting/selection_sort/SelectionSort.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/algorithms/sorting/selection_sort/SelectionSort.java -------------------------------------------------------------------------------- /src/data_structures/arrays/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/data_structures/arrays/README.md -------------------------------------------------------------------------------- /src/data_structures/arrays/array_implementation/DynamicArray.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/data_structures/arrays/array_implementation/DynamicArray.java -------------------------------------------------------------------------------- /src/data_structures/arrays/merge_sorted_arrays/MergeSortedArrays.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/data_structures/arrays/merge_sorted_arrays/MergeSortedArrays.java -------------------------------------------------------------------------------- /src/data_structures/arrays/reverse_string/ReverseString.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/data_structures/arrays/reverse_string/ReverseString.java -------------------------------------------------------------------------------- /src/data_structures/graphs/Graph.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/data_structures/graphs/Graph.java -------------------------------------------------------------------------------- /src/data_structures/hashtables/first_recurring_character/FirstRecurring.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/data_structures/hashtables/first_recurring_character/FirstRecurring.java -------------------------------------------------------------------------------- /src/data_structures/hashtables/implementing_hashtable/HashTable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/data_structures/hashtables/implementing_hashtable/HashTable.java -------------------------------------------------------------------------------- /src/data_structures/hashtables/implementing_hashtable/KeyValue.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/data_structures/hashtables/implementing_hashtable/KeyValue.java -------------------------------------------------------------------------------- /src/data_structures/hashtables/inbuilt_hashtables/InbuiltHashtable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/data_structures/hashtables/inbuilt_hashtables/InbuiltHashtable.java -------------------------------------------------------------------------------- /src/data_structures/linked_lists/doubly_linked_list_implementation/DoublyLinkedList.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/data_structures/linked_lists/doubly_linked_list_implementation/DoublyLinkedList.java -------------------------------------------------------------------------------- /src/data_structures/linked_lists/doubly_linked_list_implementation/Node.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/data_structures/linked_lists/doubly_linked_list_implementation/Node.java -------------------------------------------------------------------------------- /src/data_structures/linked_lists/linked_list_implementation/LinkedList.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/data_structures/linked_lists/linked_list_implementation/LinkedList.java -------------------------------------------------------------------------------- /src/data_structures/linked_lists/linked_list_implementation/Node.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/data_structures/linked_lists/linked_list_implementation/Node.java -------------------------------------------------------------------------------- /src/data_structures/queues/queue_using_linkedlist/Node.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/data_structures/queues/queue_using_linkedlist/Node.java -------------------------------------------------------------------------------- /src/data_structures/queues/queue_using_linkedlist/Queue.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/data_structures/queues/queue_using_linkedlist/Queue.java -------------------------------------------------------------------------------- /src/data_structures/queues/queue_using_stacks/Queue.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/data_structures/queues/queue_using_stacks/Queue.java -------------------------------------------------------------------------------- /src/data_structures/stacks/stack_using_arrays/Stack.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/data_structures/stacks/stack_using_arrays/Stack.java -------------------------------------------------------------------------------- /src/data_structures/stacks/stack_using_linkedlists/Node.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/data_structures/stacks/stack_using_linkedlists/Node.java -------------------------------------------------------------------------------- /src/data_structures/stacks/stack_using_linkedlists/Stack.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/data_structures/stacks/stack_using_linkedlists/Stack.java -------------------------------------------------------------------------------- /src/data_structures/trees/binary_search_tree/BinarySearchTree.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/data_structures/trees/binary_search_tree/BinarySearchTree.java -------------------------------------------------------------------------------- /src/data_structures/trees/binary_search_tree/HelperFunctions.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/data_structures/trees/binary_search_tree/HelperFunctions.java -------------------------------------------------------------------------------- /src/data_structures/trees/binary_search_tree/Node.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/data_structures/trees/binary_search_tree/Node.java -------------------------------------------------------------------------------- /src/data_structures/trees/priority_queue/Node.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/data_structures/trees/priority_queue/Node.java -------------------------------------------------------------------------------- /src/data_structures/trees/priority_queue/PriorityQueue.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/data_structures/trees/priority_queue/PriorityQueue.java -------------------------------------------------------------------------------- /src/data_structures/trees/trie/Node.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/data_structures/trees/trie/Node.java -------------------------------------------------------------------------------- /src/data_structures/trees/trie/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/data_structures/trees/trie/README.md -------------------------------------------------------------------------------- /src/data_structures/trees/trie/Trie.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/data_structures/trees/trie/Trie.java -------------------------------------------------------------------------------- /src/dynamic_programming/dynamic_fibonacci/DynamicFibonacci.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/dynamic_programming/dynamic_fibonacci/DynamicFibonacci.java -------------------------------------------------------------------------------- /src/dynamic_programming/memoization/Memoization.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/satya-verma/Data-Structures-and-Algorithms--using-JAVA/HEAD/src/dynamic_programming/memoization/Memoization.java --------------------------------------------------------------------------------