Luminoid / Algorithm

Algorithms implemented in Java

Repository from Github https://github.comLuminoid/AlgorithmRepository from Github https://github.comLuminoid/Algorithm

Algorithm

Involving algorithms implemented in Java. Most code are based on CLRS and Data Structures and Algorithm Analysis in Java.

Sorting Algorithms

  1. Exchange sorts
    1. Bubble sort
    2. Quicksort
  2. Selection sorts
    1. Selection sort
    2. Heapsort
  3. Insertion sorts
    1. Insertion sort
    2. Shellsort
  4. Merge sorts
    1. Merge sort
  5. Distribution sorts
    1. Counting sort
    2. Radix sort
    3. Bucket sort

Data Structures

  1. Trees
    1. Binary Search Tree
    2. Red-Black Tree
    3. B-Tree
    4. Order-statistic Tree (Augmenting red-black trees)
    5. Interval Tree (Augmenting red-black trees)

Graph Algorithms

Elementary Graph Algorithms

  1. Breadth-first search
  2. Depth-first search

Design and Analysis Techniques

Divide-and-Conquer

  1. Binary search
  2. The maximum-subarray problem
  3. Counting inversions
  4. Strassen’s algorithm for matrix multiplication
  5. Selection problem: finding the ith smallest element of the array

Randomization

  1. Randomly permuting arrays
    1. Sorting the elements of an array according to their priorities
    2. Permuting the given array in place.
  2. The on-line hiring problem

Recurrences

Dynamic Programming

  1. Rod-cutting problem
  2. Matrix-chain multiplication
  3. Longest-common-subsequence problem

Greedy Algorithms

  1. Activity-selection problem
  2. Huffman codes

Multithreaded Algorithms

Dynamic Multithreading

  1. Computing Fibonacci numbers recursively
  2. Multithreaded merge sort

Problem

  1. String Matching
    1. The naive string-matching algorithm.
    2. The Rabin-Karp algorithm.
    3. String matching with finite automata.
    4. The Knuth-Morris-Pratt algorithm.
  2. Knapsack problem
    1. 0-1 Knapsack Problem
    2. Fractional Knapsack Problem
  3. Matrix Operations
    1. Solving systems of linear equations by LUP decomposition
    2. Inverting matrices
  4. N-Queens

Other

  1. Finding minimum and maximum simultaneously

About

Algorithms implemented in Java


Languages

Language:Java 100.0%