FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
Python/binary_tree/basic_binary_tree.py at master · ceciet/Python · GitHub
ceciet
/
Python
Public
forked from
TheAlgorithms/Python
Notifications
You must be signed in to change notification settings
Fork
0
Star
1
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
Python
/
binary_tree
/
basic_binary_tree.py
Copy path
More file actions
More file actions
Latest commit
History
History
History
63 lines (49 loc) · 1.63 KB
Breadcrumbs
Python
/
binary_tree
/
basic_binary_tree.py
Copy path
File metadata and controls
63 lines (49 loc) · 1.63 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
class
Node
:
# This is the Class Node with constructor that contains data variable to type data and left,right pointers.
def
__init__
(
self
,
data
):
self
.
data
=
data
self
.
left
=
None
self
.
right
=
None
def
display
(
tree
):
#In Order traversal of the tree
if
tree
is
None
:
return
if
tree
.
left
is
not
None
:
display
(
tree
.
left
)
print
(
tree
.
data
)
if
tree
.
right
is
not
None
:
display
(
tree
.
right
)
return
def
depth_of_tree
(
tree
):
#This is the recursive function to find the depth of binary tree.
if
tree
is
None
:
return
0
else
:
depth_l_tree
=
depth_of_tree
(
tree
.
left
)
depth_r_tree
=
depth_of_tree
(
tree
.
right
)
if
depth_l_tree
>
depth_r_tree
:
return
1
+
depth_l_tree
else
:
return
1
+
depth_r_tree
def
is_full_binary_tree
(
tree
):
# This functions returns that is it full binary tree or not?
if
tree
is
None
:
return
True
if
(
tree
.
left
is
None
)
and
(
tree
.
right
is
None
):
return
True
if
(
tree
.
left
is
not
None
)
and
(
tree
.
right
is
not
None
):
return
(
is_full_binary_tree
(
tree
.
left
)
and
is_full_binary_tree
(
tree
.
right
))
else
:
return
False
def
main
():
# Main func for testing.
tree
=
Node
(
1
)
tree
.
left
=
Node
(
2
)
tree
.
right
=
Node
(
3
)
tree
.
left
.
left
=
Node
(
4
)
tree
.
left
.
right
=
Node
(
5
)
tree
.
left
.
right
.
left
=
Node
(
6
)
tree
.
right
.
left
=
Node
(
7
)
tree
.
right
.
left
.
left
=
Node
(
8
)
tree
.
right
.
left
.
left
.
right
=
Node
(
9
)
print
(
is_full_binary_tree
(
tree
))
print
(
depth_of_tree
(
tree
))
print
(
"Tree is: "
)
display
(
tree
)
if
__name__
==
'__main__'
:
main
()
Back
|
FazBrowse Home
|
New Git URL