Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.

Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.

Like this presentation? Why not share!

2,178 views

Published on

Explains the basic concept of Tree and Graph traversal with several technical interview questions.

Published in:
Technology

No Downloads

Total views

2,178

On SlideShare

0

From Embeds

0

Number of Embeds

1

Shares

0

Downloads

56

Comments

0

Likes

1

No embeds

No notes for slide

- 1. Xproject Tehnical Interview SessionJanuary 11, 2013Michael JoMjtoolbox.wordpress.com
- 2. Agenda – Trees & Graphs• Approach• Trees • Binary Tree • Binary Search Tree • Binary Heap• Graph• Traversal• Search • BFS • DFS• Questions
- 3. ApproachTrees and graphs questions typically come in one of two forms:1. Implement a tree / find a node / delete a node / other well knownalgorithm.2. Implement a modification of a known algorithm.
- 4. Trees• Parent• Child• Descendent• Ancestor• Leaves• Root (Current node)• Red-black tree • In-Order search. O(log n)
- 5. Data StructureBinary TreeBinary Search Tree (Ordered/Sorted Binary Tree)• Left child and descendent value < node itself• Right child and descendent value > node itselfBinary Heap• Each child of node value < node itselfBinary Tree Binary Search Tree Binary Heap
- 6. Binary Tree Traversal • Depth First traversal • In-Order : Left child, Root, Right child (Used in BST) • Pre-Order : Root, Left child, Right child • Post-Order : Left child, Right child, Root • Breadth First traversal • Not for large tree. O(n). Memory intense. • 100, 50, 150, 25, 75, 125, 175, 110In-Order :25, 50, 75, 100, 110, 125, 150, 175Pre-Order :100, 50, 25, 75,150, 125, 110,175Post-Order :25, 75, 50, 110, 125, 175, 150
- 7. Tree Traversal Exercise• In-Order traversal sequence (left, root, right) : A, B, C, D, E, F, G, H, I• Pre-Order traversal sequence (root, left, right) : F, B, A, D, C, E, G, I, H• Post-Order traversal sequence (left, right, root) : A, C, E, D, B, H, I, G, F
- 8. Graph• Vertices - Nodes• Edges - Lines• Directed graph• Undirected graphDirected Graph Undirected Graph
- 9. SearchBreadth First Search (BFS)• Searching a node and all its children before proceeding to its siblings.• Use Queue data structure as an implementation.Depth First Search (DFS)• Searching a node and its siblings before going on to any children.• Use Stack data structure as an implementation.• Tip 1 : Decide your search algorithm based on the scenario.• Tip 2 : Avoid BFS in a large tree.
- 10. Question 1Implement In-Order traversal of Binary Tree with numbers. One withrecursion, one without recursion.http://youtu.be/2lxVhW5-GTkhttp://mjtoolbox.wordpress.com/snippet/tree-traversal
- 11. Question 2Given a binary tree, check whether it is Binary Search Tree or not.This demonstrates Tree Traversal algorithm.http://www.ardendertat.com/2011/10/10/programming-interview-questions-7-binary-search-tree-check/http://mjtoolbox.wordpress.com/snippet/tree-traversal
- 12. Question 3Given a binary tree of integers, print it in level order. The output will containspace between the numbers in the same level, and new line betweendifferent levels.Output should be :123456This demonstrates Breadth First tree traversal algorithm.http://www.ardendertat.com/2011/12/05/programming-interview-questions-20-tree-level-order-print/
- 13. Question 4 (Extra)Given the root of a binary search tree and 2 numbers min and max, trim thetree such that all the numbers in the new tree are between min and max(inclusive). The resulting tree should still be a valid binary search tree. So, ifwe get this tree as input and min value as 5 and max value as 13, then theresulting binary search tree should be:This will demonstrate tree traversal algorithm and deletion.http://www.ardendertat.com/2012/01/17/programming-interview-questions-26-trim-binary-search-tree/

No public clipboards found for this slide

×
### Save the most important slides with Clipping

Clipping is a handy way to collect and organize the most important slides from a presentation. You can keep your great finds in clipboards organized around topics.

Be the first to comment