###How to use this:
In your Gemfile:
gem 'algorithm-night'
or if you want to download to use in IRB:
$ gem install algorithm-night
$ irb
> require 'algorithm-night'
=> true
In IRB or your file you've had it in... you have the following structures/objects.
stack = Stack.new # pop, push, peek
queue = Queue.new # enqueue, dequeue, peek
linked = LinkedList.new # add, delete
bst = BinarySearchTree.new # insert, exists
There are also some sorts, accessible via the Array class.
a = [3,4,2,1,5]
a.bubble_sort # sorted array
a.selection_sort # sorted array
a.merge_sort # sorted array
#####If you are an attendee of Algorithm Night, the following bounty program exists:
Google'ing these if you haven't heard of them is a good place to start. Please talk to John to let him know you're working on it and the expectations accordingly.
- Add
#bucket_sort
to theArray
sorts - Add
#shell_sort
to theArray
sorts - Add
#radix_sort
to theArray
sorts - Add
#quicksort
to theArray
sorts - Add
#timsort
to theArray
sorts - Add methods such as
#eixsts?(value)
to Linked List - Make a
CircularLinkedList
- Make a
DoublyLinkedList
- Make a
Queue
and/orStack
out of theLinkedList
class - Make a
PriorityQueue
out of aLinkedList
ofLinkedList
s - Make a
Heap
- Make a
Graph
For completion of each one, you will be rewarded accordingly based on its difficulty.