Sei sulla pagina 1di 20

Thursday,

Nov 6, 2014

Launchpad

Data Structures
BST & Graphs

Anushray Gupta
2 Thursday, Nov 6, 2014

Any doubts?
3 Thursday, Nov 6, 2014

Binary Search Trees


4 Thursday, Nov 6, 2014

BST Properties

1. Every Node in left sub-tree has value less


than or equal to root
2. Every Node in right sub-tree has value
greater than or equal to root
5 Thursday, Nov 6, 2014

Binary Search trees


6 Thursday, Nov 6, 2014

Binary Search Trees


class BinarySearchTree {
Node * root;
// accessor methods
int size();
boolean isEmpty();
Node *findElement(int element);
Node *findMinimum();
Node *findMaximum();
// update methods
void addElement(int element);
void removeElement(int element);
void removeMin();
Void removeMax();
}
7 Thursday, Nov 6, 2014

Lets discuss few problems

1. Print BST elements in range K1 and K2


2. Find successor of a given node
8 Thursday, Nov 6, 2014

Time to try?

1. Given a binary tree check if its BST


2. Given preorder traversal of a binary
search tree, construct the BST
9 Thursday, Nov 6, 2014

Build a BST using a sorted


array
10 Thursday, Nov 6, 2014

Balanced/unbalanced Tree
11 Thursday, Nov 6, 2014

Balanced Trees

1. AVL Tree
2. Red Black Trees
3. 2-4 Trees
12 Thursday, Nov 6, 2014

Graphs
13 Thursday, Nov 6, 2014

Graphs
14 Thursday, Nov 6, 2014

Terminology

1. Adjacent Vertices
2. Degree
3. Path
4. Connected Graph
5. Subgraph
6. Connected Components
7. Tree
8. Forest
9. Spanning Tree
15 Thursday, Nov 6, 2014

Number of edges

1. Complete Graph
2. Connected Graph
3. Tree
16 Thursday, Nov 6, 2014

How to implement Graph?

1. Edge List
2. Adjacency lists
3. Adjacency matrix
17 Thursday, Nov 6, 2014

Searching in a Graph
18 Thursday, Nov 6, 2014

How to Search through a Graph?

1. Breadth First Search


2. Depth First Search
19 Thursday, Nov 6, 2014

Some more Graph variations

1. Directed Graphs
2. Weighted Graphs
20 Thursday, Nov 6, 2014

Thank You!

Anushray Gupta
+91-9555567876
anushray@codingblocks.com

Potrebbero piacerti anche