Skip to content

Instantly share code, notes, and snippets.

View seanreed1111's full-sized avatar

Sean Reed seanreed1111

View GitHub Profile
@seanreed1111
seanreed1111 / fizzbuzz_gist
Created November 19, 2013 20:28
FizzBuzz method
def fizzbuzz(number)
if number % 15 == 0
"Fizzbuzz"
elsif number % 3 == 0
"Fizz"
elsif number % 5 == 0
"Buzz"
else
number
end
@seanreed1111
seanreed1111 / SimpleStack.rb
Last active December 29, 2015 13:39
class SimpleStack
class SimpleStack
def initialize
@stack = Array.new
end
#removes the first item from the stack and returns the item popped
def pop
@stack.pop
end
@seanreed1111
seanreed1111 / SimpleQueue.rb
Last active December 29, 2015 13:49
implementation of class SimpleQueue
class SimpleQueue
def initialize
@queue = Array.new
end
#adds item to back of queue and returns the queue
def enqueue(item)
@queue.unshift(item)
end
@seanreed1111
seanreed1111 / Breadth_First_Search.rb
Last active December 31, 2015 14:18
Breadth First Search
require '../lib/Queue'
frontier = Queue.new
# set up the adjacency list that defines the graph
neighbors = {}
neighbors = {:a => [:b,:f], :b => [:c,:d], :c => [:e], :d =>[:e], :e =>[:c,:d],
:f => [:a,:g,:h,:i], :g => [:f], :h => [:f], :i => [:f] }
parent = {}
@seanreed1111
seanreed1111 / Depth_First_Search.rb
Created December 17, 2013 02:36
Depth_First_Search
#defines DFS Object.
#currently only implements dfs_visit!, which only traverses the graph from one node
#to fully implement DFS, need to loop through ALL starting nodes
class DFS
attr_reader :adj_list, :parent
def initialize(adj_list={})
@adj_list = adj_list
@seanreed1111
seanreed1111 / Queue.rb
Created December 17, 2013 02:40
Queue object implemented in Ruby
class Queue
include Enumerable
attr_reader :queue
def initialize
@queue = Array.new
end
#enqueue(item) adds item to the end of the queue
@seanreed1111
seanreed1111 / Fibonacci_with_hash.rb
Last active December 31, 2015 17:59
Fibonacci Sequence with Memoization
@fib_hash = {}
@fib_hash = {0 => 0, 1 => 1 }
def fibo_finder(n)
if @fib_hash.has_key?(n)
return @fib_hash[n]
else
@fib_hash[n] = fibo_finder(n-1) + fibo_finder(n-2)
end
end
@seanreed1111
seanreed1111 / fibonacci.rb
Last active December 31, 2015 17:59
Fibonacci Sequence generator
def fibo(n)
if n < 2
n
else
fibo(n-1) + fibo(n-2)
end
end
puts fibo(8)
@seanreed1111
seanreed1111 / bfs.rb
Last active September 21, 2016 01:31
BFS Implementation. (Not defined as a Class)
require '../lib/Queue'
frontier = Queue.new
neighbors = {}
neighbors = {:a => [:b,:f],
:b => [:a,:c,:d],
:c => [:b,:e],
:d => [:b,:e],
:e => [:c,:d],
:f => [:a,:g,:h,:i],
:g => [:f],
@seanreed1111
seanreed1111 / DFS.rb
Last active December 31, 2015 19:29
DFS as a class
class DFS
attr_reader :adj_list, :parent
def initialize(adj_list={})
@adj_list = adj_list
@parent = {}
end
def dfs_run!(starting_node)