Skip to content

Mike-C-Sanders/Mike-C-Sanders-Algorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Mike-C-Sanders- Algorithm/Data-Structure Practices

Algorithms and Datastructures are the fundamentals of a strong programmer. This repository is part of this life long persuit of mastery.

Many of the algorithms and datastructures I've included are trivial. There here as a marker of where I started and how far I've come.

This repository is meant to serve as a log and a central location for the algorithms and data-structures I'm practicing/working on. In addition, there are some of the more important or famous problems solved using the included algorithms/datastructures.

Current Algorithms

  • QuickFind
  • UnionFind
  • BinarySearch
  • Selection sort
  • Insertion Sort
  • Shell Sort - using 3x+1 incrementing for a Big O of nlogn.
  • Merge Sort - using recursion for implementation.
  • Quicksort - my first pass at quicksort. There's currently a bug in my solution, looking for a resolution to the infinite loop.

Data-Structures

  • Linked List: a few methods including insert node, insert last node, remove node, insert at index, and clear list.
  • Stacks: push and pop methods. Really basic for practice.
  • Queues: similar to stack methods.

Practice problems

  • 3Sum Problem (updated with brute force method and a revised version using BinarySearch BigO of n^2Logn)
  • FizzBuzz
  • Shuffle Deck: using a deck of cards, created a shuffle algorithm to shuffle the deck.

Contribution & Future Development

This repository should be active and on going. At this time it's primarily used as a personal log. If you'd like to contribute or provide feedback on a specific algorithm/datatype, please contact me first.

About

Algorithm and Data Structure practice

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published