Added tree depth first search challenge.

This commit is contained in:
Donne Martin
2015-08-01 09:26:28 -04:00
parent 884d8aca80
commit a6cc0f266c
4 changed files with 585 additions and 0 deletions

View File

@@ -0,0 +1,57 @@
from __future__ import print_function
from nose.tools import assert_equal
class TestDfs(object):
def test_dfs(self):
root = Node(5)
root.insert(2)
root.insert(8)
root.insert(1)
root.insert(3)
with captured_output() as (out, err):
root.in_order_traversal(sys.stdout.write)
assert_equal(out.getvalue().strip(), '12358')
with captured_output() as (out, err):
root.pre_order_traversal(sys.stdout.write)
assert_equal(out.getvalue().strip(), '52138')
with captured_output() as (out, err):
root.post_order_traversal(sys.stdout.write)
assert_equal(out.getvalue().strip(), '13285')
with captured_output() as (out, err):
root.bfs(sys.stdout.write)
assert_equal(out.getvalue().strip(), '52813')
root = Node(1)
root.insert(2)
root.insert(3)
root.insert(4)
root.insert(5)
with captured_output() as (out, err):
root.in_order_traversal(sys.stdout.write)
assert_equal(out.getvalue().strip(), '12345')
with captured_output() as (out, err):
root.pre_order_traversal(sys.stdout.write)
assert_equal(out.getvalue().strip(), '12345')
with captured_output() as (out, err):
root.post_order_traversal(sys.stdout.write)
assert_equal(out.getvalue().strip(), '54321')
print('Success: test_dfs')
def main():
test = TestDfs()
test.test_dfs()
if __name__ == '__main__':
main()