GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - jpa99/Algorithms: A collection of various useful algorithms and data structures along with their Java implementations.

BranchesTags
Open more actions menu

Latest commit

 

History

95 Commits
95 Commits

Folders and files

NameName
Last commit message
Last commit date
Computational Geometry
Computational Geometry
 
 
DP
DP
 
 
Data Structures
Data Structures
 
 
GoogleCodeJam
GoogleCodeJam
 
 
Graph
Graph
 
 
Math
Math
 
 
Miscellaneous
Miscellaneous
 
 
Optimization
Optimization
 
 
ProjectEuler
ProjectEuler
 
 
Searching
Searching
 
 
Sorting
Sorting
 
 
Strings
Strings
 
 
USACO
USACO
 
 
.gitignore
.gitignore
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 

Repository files navigation

Algorithms

Build Java Contributions welcome License

This respository is a collection of various useful algorithms and data structures along with their Java implementations, intended for educational use. This is a work in progress, so some algorithms may not be included. All files that have been added have been tested extensively and should be accurate, readable, and efficient. Feel free to suggest any algorithms that you'd like to see implemented in the future. Don't hesitate to contact me with any questions, concerns, or feedback (my contact information is at the bottom of this file). If you found this repository helpful, I'd love to know :)

Table of Contents

  • Algorithms
    • Graph
    • Dynamic Programming
    • Sorting
    • Searching
    • Strings
    • Math
    • Computational Geometry
    • Optimization
    • Miscellaneous
    • Data Structures
    • Project Euler
    • Google Code Jam
    • USACO
  • Resources
    • Books
    • Websites
    • Courses
    • Online Judges
    • Github Libraries

Graph

  • Graph Traversal
    • Breadth-First Search
    • Depth First Search
  • Shortest Path
    • Dijkstra's Algorithm
    • Bellman-Ford
    • Floyd-Warshall
    • Johnson's Algorithm
  • Minimum Spanning Tree
    • Kruskal's Algorithm
    • Prim's Algorithm
  • Network Flow
    • Karger's Algorithm
    • Push-Relabel
    • Edmonds-Karp
    • Ford-Fulkerson
  • Tarjan's Algorithm
  • Topological Sort
  • Strongly Connected Components

Dynamic Programming

  • 0-1 Knapsack
  • Edit (Levenshtein) Distance
  • Longest Increasing Subsequence
  • Longest Common Subsequence
  • Maximum Subset Sum

Sorting

  • Timsort
  • Radix Sort
  • Counting Sort
  • Quicksort
  • Heapsort
  • Mergesort
  • Insertion Sort
  • Bubble Sort
  • Selection Sort
  • Bogosort

Searching

  • Linear
  • Binary
  • ith Order Statistic
    • Sort Select
    • Randomized Select
    • Heapselect
    • Quickselect

Strings

  • String Searching
    • Aho-Corasick
    • Z Algorithm
    • Knuth-Morris-Pratt
    • Boyer-Moore
    • Rabin-Karp
    • Brute Force

Math/Number Theory

  • Fibonacci
    • Binet's Formula
    • Iterative
    • Recursive (DP)
    • Matrix Exponentiation
    • Fast Doubling
  • Euclid's Algorithm
  • Fast Fourier Transform
  • Primality Testing
    • Naive
    • Sieve of Erastothenes
    • Miller-Rabin
  • Karatsuba's Algorithm
  • Fast Exponentiation
  • Strassen's Algorithm

Computational Geometry

  • Convex Hull
    • Graham Scan
    • Jarvis March

Optimization

  • Naive Optimization
  • Simplex (LP)
  • Simulated Annealing
  • Genetic Algorithms
  • Combinatoric Algorithms

Miscellaneous

  • Fisher-Yates Shuffle
  • Kadane's Algorithm
  • Subarray Inversions

Data Structures

  • Graph
  • Tree
  • Binary Tree
  • Fenwick Tree (Binary Indexed Tree)
  • Red-Black Tree
  • AVL Tree
  • B-Tree
  • Suffix Tree
  • Trie
  • Hash Table
  • Hash Map
  • Stack
  • Queue
  • List
  • LinkedList

Project Euler

Interesting math problems that can be solved computationally; full problem set available here. The Project Euler folder contains the full inventory of problems I've implemented with it's own table of contents here.

Google Code Jam

Competitive programming style problems from previous competitions. The Google Code Jam folder contains the full inventory of problems I've implemented with it's own table of contents here.

USACO

Algorithmic problems from past USA Computing Olympiad contests, check out the full problem database. The USACO folder contains the full inventory of problems I've implemented with it's own table of contents here.

Developed By

  • Joel P. Abraham - [email protected]
Add me to Linkedin

About

A collection of various useful algorithms and data structures along with their Java implementations.

Topics

algorithmalgorithm-challengesalgorithm-competitionsalgorithm-libraryalgorithmsalgorithms-and-data-structuresalgorithms-datastructuresalgorithms-implementededucationeducationaleducational-resourcesimplementation

Resources

Readme
MIT license
Activity

Stars

130 stars

Watchers

5 watching

Forks

58 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.