Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,26 @@
# assignment_search
Marco? Polo!

Author : Behdad Analui

[A data structures and algorithms Ruby challenge from the Viking Code School](http://www.vikingcodeschool.com)

What data structure is used to implement DFS?

Stack

What data structure is typically used to implement BFS?

Queue

Which one can be done recursively? (the clue should be the data structure)

Stack

Which one would you use to print a list of all the nodes in a tree or graph, starting with depth 1, then depth 2, then depth 3 etc.?

BFS

What is the difference between a tree and a graph?

Tree does not have loops and there's only one path from each node to another whereas Graph may have a loop. Tree is a special graph
127 changes: 127 additions & 0 deletions bfs
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@

******* Starting BFS Traverse For (0, 0) *******
0 : (2, 2)
1 : (0, 1)
2 : (1, 3)
3 : (2, 1)
4 : (0, 0)

******* Starting BFS Traverse For (0, 1) *******
0 : (2, 2)
1 : (0, 1)

******* Starting BFS Traverse For (0, 2) *******
0 : (2, 2)
1 : (1, 0)
2 : (0, 2)

******* Starting BFS Traverse For (0, 3) *******
0 : (2, 2)
1 : (0, 3)

******* Starting BFS Traverse For (0, 4) *******
0 : (2, 2)
1 : (0, 1)
2 : (2, 0)
3 : (1, 2)
4 : (0, 4)

******* Starting BFS Traverse For (1, 0) *******
0 : (2, 2)
1 : (1, 0)

******* Starting BFS Traverse For (1, 1) *******
0 : (2, 2)
1 : (0, 3)
2 : (1, 1)

******* Starting BFS Traverse For (1, 2) *******
0 : (2, 2)
1 : (0, 1)
2 : (2, 0)
3 : (1, 2)

******* Starting BFS Traverse For (1, 3) *******
0 : (2, 2)
1 : (0, 1)
2 : (1, 3)

******* Starting BFS Traverse For (1, 4) *******
0 : (2, 2)
1 : (1, 4)

******* Starting BFS Traverse For (2, 0) *******
0 : (2, 2)
1 : (0, 1)
2 : (2, 0)

******* Starting BFS Traverse For (2, 1) *******
0 : (2, 2)
1 : (0, 1)
2 : (1, 3)
3 : (2, 1)

******* Starting BFS Traverse For (2, 2) *******
0 : (2, 2)

******* Starting BFS Traverse For (2, 3) *******
0 : (2, 2)
1 : (0, 3)
2 : (1, 1)
3 : (2, 3)

******* Starting BFS Traverse For (2, 4) *******
0 : (2, 2)
1 : (0, 3)
2 : (2, 4)

******* Starting BFS Traverse For (3, 0) *******
0 : (2, 2)
1 : (3, 0)

******* Starting BFS Traverse For (3, 1) *******
0 : (2, 2)
1 : (1, 0)
2 : (3, 1)

******* Starting BFS Traverse For (3, 2) *******
0 : (2, 2)
1 : (0, 1)
2 : (1, 3)
3 : (3, 2)

******* Starting BFS Traverse For (3, 3) *******
0 : (2, 2)
1 : (1, 4)
2 : (3, 3)

******* Starting BFS Traverse For (3, 4) *******
0 : (2, 2)
1 : (3, 4)

******* Starting BFS Traverse For (4, 0) *******
0 : (2, 2)
1 : (0, 1)
2 : (1, 3)
3 : (2, 1)
4 : (4, 0)

******* Starting BFS Traverse For (4, 1) *******
0 : (2, 2)
1 : (4, 1)

******* Starting BFS Traverse For (4, 2) *******
0 : (2, 2)
1 : (3, 0)
2 : (4, 2)

******* Starting BFS Traverse For (4, 3) *******
0 : (2, 2)
1 : (4, 3)

******* Starting BFS Traverse For (4, 4) *******
0 : (2, 2)
1 : (0, 1)
2 : (1, 3)
3 : (3, 2)
4 : (4, 4)
155 changes: 155 additions & 0 deletions dfs
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@

******* Starting DFS Traverse For (0, 0) *******
0 : (2, 2)
1 : (4, 3)
2 : (3, 1)
3 : (1, 2)
4 : (0, 0)

******* Starting DFS Traverse For (0, 1) *******
0 : (2, 2)
1 : (4, 3)
2 : (2, 2)
3 : (0, 1)

******* Starting DFS Traverse For (0, 2) *******
0 : (2, 2)
1 : (4, 3)
2 : (3, 1)
3 : (2, 3)
4 : (0, 2)

******* Starting DFS Traverse For (0, 3) *******
0 : (2, 2)
1 : (4, 3)
2 : (2, 4)
3 : (0, 3)

******* Starting DFS Traverse For (0, 4) *******
0 : (2, 2)
1 : (4, 3)
2 : (3, 1)
3 : (2, 3)
4 : (0, 4)

******* Starting DFS Traverse For (1, 0) *******
0 : (2, 2)
1 : (4, 3)
2 : (3, 1)
3 : (1, 0)

******* Starting DFS Traverse For (1, 1) *******
0 : (2, 2)
1 : (4, 3)
2 : (3, 1)
3 : (2, 3)
4 : (1, 1)

******* Starting DFS Traverse For (1, 2) *******
0 : (2, 2)
1 : (4, 3)
2 : (3, 1)
3 : (1, 2)

******* Starting DFS Traverse For (1, 3) *******
0 : (2, 2)
1 : (4, 3)
2 : (2, 4)
3 : (3, 2)
4 : (1, 3)

******* Starting DFS Traverse For (1, 4) *******
0 : (2, 2)
1 : (4, 3)
2 : (2, 2)
3 : (1, 4)

******* Starting DFS Traverse For (2, 0) *******
0 : (2, 2)
1 : (4, 3)
2 : (3, 1)
3 : (1, 2)
4 : (2, 0)

******* Starting DFS Traverse For (2, 1) *******
0 : (2, 2)
1 : (4, 1)
2 : (3, 3)
3 : (2, 1)

******* Starting DFS Traverse For (2, 2) *******
0 : (2, 2)

******* Starting DFS Traverse For (2, 3) *******
0 : (2, 2)
1 : (4, 3)
2 : (3, 1)
3 : (2, 3)

******* Starting DFS Traverse For (2, 4) *******
0 : (2, 2)
1 : (4, 3)
2 : (3, 1)
3 : (4, 3)
4 : (2, 4)

******* Starting DFS Traverse For (3, 0) *******
0 : (2, 2)
1 : (4, 3)
2 : (2, 2)
3 : (3, 0)

******* Starting DFS Traverse For (3, 1) *******
0 : (2, 2)
1 : (4, 3)
2 : (3, 1)

******* Starting DFS Traverse For (3, 2) *******
0 : (2, 2)
1 : (4, 3)
2 : (2, 4)
3 : (3, 2)

******* Starting DFS Traverse For (3, 3) *******
0 : (2, 2)
1 : (4, 3)
2 : (3, 1)
3 : (1, 2)
4 : (3, 3)

******* Starting DFS Traverse For (3, 4) *******
0 : (2, 2)
1 : (4, 3)
2 : (2, 2)
3 : (3, 4)

******* Starting DFS Traverse For (4, 0) *******
0 : (2, 2)
1 : (4, 3)
2 : (2, 4)
3 : (3, 2)
4 : (4, 0)

******* Starting DFS Traverse For (4, 1) *******
0 : (2, 2)
1 : (4, 3)
2 : (2, 2)
3 : (4, 1)

******* Starting DFS Traverse For (4, 2) *******
0 : (2, 2)
1 : (4, 3)
2 : (3, 1)
3 : (2, 3)
4 : (4, 2)

******* Starting DFS Traverse For (4, 3) *******
0 : (2, 2)
1 : (4, 3)

******* Starting DFS Traverse For (4, 4) *******
0 : (2, 2)
1 : (4, 3)
2 : (3, 1)
3 : (2, 3)
4 : (4, 4)
Loading