DSA/algorithms/Java/README.md

121 lines
4.2 KiB
Markdown

# Java
## Arrays
- [Counting Inversions](arrays/counting-inversions.java)
- [Kadanes Algorithm](arrays/kadanes-algorithm.java)
- [Left Rotation](arrays/left-rotation.java)
- [Unique Digits of Large Number](arrays/unique-digits-of-large-number.java)
- [Majority Element](arrays/majority-element.java)
- [Longest Consecutive Subsequence](arrays/longest-consecutive-subsequence.java)
- [K-th Element of Two Sorted Arrays](arrays/kth-element--orted-array.java)
- [Trapping Rain Water](arrays/trapping-rain-water.java)
- [Ugly Number](arrays/ugly-number.java)
- [Merge Without Extra Space](arrays/merge-without-extra-space.java)
## Graphs
- [Dijkstras](graphs/Dijkstras.java)
## Linked Lists
- [Circular](linked-lists/circular.java)
- [Clone Linked List](linked-lists/clone-linkedlist.java)
- [Doubly](linked-lists/doubly.java)
- [Reverse](linked-lists/reverse.java)
- [Singly](linked-lists/singly.java)
- [Fold Linked List](linked-lists/fold-linked-list.java)
## Maths
- [Factorial](Maths/factorial_using_big_integer.java)
- [Catalan Numbers](Maths/catalan-numbers.java)
- [Nth Geek Onacci Number](Maths/nth-geek-onacci-number.java)
- [Random Node in Linked List](Maths/algorithms_random_node.java)
## Queues
- [Circular Queue using Linked List](queues/circular-queue-linked-list.java)
- [Queue using Linked List](queues/queue-linked-list.java)
- [Priority Queue using Array](queues/priority-queue-array.java)
## Scheduling
- [Multi-Level Queue Scheduling](scheduling/multi-level-queue-scheduling.java)
- [Round Robin](scheduling/round-robin.java)
## Searching
- [Binary Search](searching/binary-search.java)
- [Jump Search](searching/jump-search.java)
- [Linear Search](searching/linear-search.java)
- [Allocate minimum number of pages](searching/allocate-min-pages.java)
- [Exponential Search](searching/Exponential-search.java)
- [Interpolation Search](searching/interpolation-search.java)
## Sorting
- [Bubble Sort](sorting/bubble-sort.java)
- [Counting Sort](sorting/counting-sort.java)
- [Heap Sort](sorting/heap-sort.java)
- [Insertion Sort](sorting/insertion-sort.java)
- [Merge Sort](sorting/merge-sort.java)
- [Quick Sort](sorting/quick-sort.java)
- [Selection Sort](sorting/selection-sort.java)
- [Shell Sort](sorting/shell-sort.java)
- [Cyclic Sort](sorting/cyclic-sort.java)
## Stacks
- [Balanced Parenthesis](stacks/balanced-paranthesis.java)
- [Stack](stacks/stack.java)
- [The Stock Span Problem](stacks/the-stock-span-problem.java)
- [Celebrity Problem](stacks/celebrity-problem.java)
- [Sliding Window Maximum](stacks/sliding-window-maximum.java)
- [Min Stack](stacks/Min-Stack.java)
## Strings
- [KMP](strings/kmp.java)
- [Palindrome](strings/palindrome.java)
- [Rabin Krap](strings/rabin-karp.java)
- [Sequence](strings/sequence.java)
- [Split String](strings/SplitString.java)
- [Tokenizer](strings/tokenizer.java)
- [Anagram](strings/anagram.java)
- [Longest Common Substring](strings/Longest_common_substring.java)
- [Boyer Moore Search](strings/Boyer_Moore.java)
- [Reverse String](strings/reverse-string.java)
- [First Non Repeating Character](strings/first-non-repeating-char.java)
## Trees
- [Pre in Post Traversal](trees/pre-in-post-traversal.java)
- [Left View of a Tree](trees/left-view.java)
- [Right View of a Tree](trees/right-view.java)
- [Zig-Zag Traversal of a Tree](trees/zig-zag-traversal.java)
- [Min Heap](trees/MinHeap.java)
- [Check Tree Traversal](trees/check-tree-traversal.java)
## Backtracking
- [N Queen Problem](backtracking/nqueen.java)
## Bit Manipulation
- [Count Set Bits](bit-manipulation/count-set-bits.java)
## Recursion
- [Array sorted or not](recursion/array-sorted.java)
- [Sum of all the elements in the array](recursion/array-sum.java)
- [Binary search using recursion](recursion/binary-search.java)
- [Factorial of a number](recursion/Factorial.java)
- [First uppercase letter in a string](recursion/first-uppercase-letter.java)
- [Linear search using recursion](recursion/linear-search.java)
- [Minimum and maximum element in the array](recursion/min-max-in-array.java)
- [Printing 1 to N and N to 1](recursion/print-n.java)
- [Print PI value in the string](recursion/print-pi.java)
- [Reverse the string](recursion/reverse-string.java)
- [Find the length of the string](recursion/string-length.java)