-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBinarySearchTreeADT.py
More file actions
43 lines (32 loc) · 934 Bytes
/
BinarySearchTreeADT.py
File metadata and controls
43 lines (32 loc) · 934 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import sys
class Node:
def __init__(self,val,left,right):
self.val=val
self.left=left
self.right=right
def left(self):
return self.left
def right(self):
return self.right
def __str__(self):
return str(self.val)
nodes=[Node(i,None,None) for i in range(0,5)]
for i in range(0, len(nodes)):
nodes[i].left=nodes[i*2+1] if i*2<len(nodes)-1 else None
nodes[i].right=nodes[i*2+2] if i*2<len(nodes)-1 else None
print nodes[i],"l: ",nodes[i].left,"r: ", nodes[i].right
#------------top sort------
class GraphNode:
def __init__(self,val,ver):
self.visited=False
self.val=val
self.ver=ver
def __str__(self):
return val;
nodes=[GraphNode("CS"+str(i),None) for i in range(100,600,50)]
def top_sort_recur(node):
print node,
for n in node.ver:
if not n.visited:
top_sort_recur(n)
print