Skip to content

erolg/algorithms-in-Ruby

Repository files navigation

Algorithms in Ruby

Data Structers Lecture Codes in Ruby

An algorithm is a sequence of unambiguous instructions for solving a problem, i.e., for obtaining a required output for any legitimate input in a finite amount of time.

#Brute-Force

  • - Selection Sort
  • - String Matching
  • - Calculate Polinom
  • - Closest Points
  • - Exhaustive Search

#Divide and Conquer

  • - Merge Sort O(nlogn)
  • - Quick Sort O(nlogn)
  • - Binary Search

####Binary Tree

  • - InOrder Tree Walk
  • - Tree Search O(h)
  • - Tree Minimum O(h)
  • - Tree Maximum O(h)
  • - Successor O(h)
  • - Predecessor O(h)
  • - Node Insertion O(h)
  • - Node Deletion O(h)

Binary Tree Traversal O(n)

  • - PreOrder
  • - InOrder
  • - PostOrder

#Decrease and Conquer

####Decrease by a constant

  • Instertion Sort
  • Depth-first search (DFS)
  • Breadth-first search (BFS)
  • Topological Sorting

####Decrease By Constant Factor

  • Binary Search
  • Exponentiation by Squaring
  • Multiplication à la russe

####Variable-Size Decrease

  • Euclid Algorithm
  • Selection By Partition

#Transform and Conquer

####Instance simplification

  • - Gaussian Elimination
  • - Horner's Rule

####Problem Reduction

  • - ICM

Heapsort O(nlogn)

- [ ] Heapify
- [ ] Build Heap
- [ ] Heap Sort

About

Data Sturacters Lecture Codes

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages