python构建二叉树_python--使用递归的方式建立二叉树
樹和圖的數據結構,就很有意思啦。
# coding = utf-8
class BinaryTree:
def __init__(self, root_obj):
self.key = root_obj
self.left_child = None
self.right_child = None
def insert_left(self, new_node):
node = BinaryTree(new_node)
if self.left_child is None:
self.left_child = node
else:
node.left_child = self.left_child
self.left_child = node
def insert_right(self, new_node):
node = BinaryTree(new_node)
if self.right_child is None:
self.right_child = node
else:
node.right_child = self.right_child
self.right_child = node
def get_right_child(self):
return self.right_child
def get_left_child(self):
return self.left_child
def set_root_val(self, obj):
self.key = obj
def get_root_val(self):
return self.key
root = BinaryTree('a')
print(root.get_root_val())
print(root.get_left_child())
root.insert_left('b')
print(root.get_left_child())
print(root.get_left_child().get_root_val())
root.insert_right('c')
print(root.get_right_child())
print(root.get_right_child().get_root_val())
root.get_right_child().set_root_val('hello')
print(root.get_right_child().get_root_val())
C:\Users\Sahara\.virtualenvs\test\Scripts\python.exe C:/Users/Sahara/PycharmProjects/test/python_search.py
a
None
<__main__.BinaryTree object at 0x00000000024139B0>
b
<__main__.BinaryTree object at 0x00000000024139E8>
c
hello
Process finished with exit code 0
UVA 699 The Falling Leaves (遞歸先序建立二叉樹)
題目鏈接:http://acm.hust.edu.cn/vjudge/problem/19244 #include #include # ...
UVa 839 (遞歸方式讀取二叉樹) Not so Mobile
題意: 遞歸的方式輸入一個樹狀天平(一個天平下面掛的不一定是砝碼還可能是一個子天平),判斷這個天平是否能滿足平衡條件,即W1 * D1 == W2 * D2. 遞歸的方式處理輸入數據感覺很巧妙,我雖然 ...
【Python】利用遞歸函數調用方式,將所輸入的字符串,以相反的順序顯示出來
源代碼: """ 利用遞歸函數調用方式,將所輸入的字符串,以相反的順序顯示出來 string_reverse_output():反向輸出字符串的自定義函數 pending ...
Python最佳工程實踐,建立一個完美的工程項目
在程序開發時候一套好的開發環境和工具棧,可以幫我們極大的提高開發的效率,避免把大量時間浪費在周邊瑣事上.本文以Python為例,教大家如何快速打造完美的Python項目開發環境:內容涵蓋了模塊依賴管理 ...
[LeetCode] Construct Binary Tree from Preorder and Inorder Traversal 由先序和中序遍歷建立二叉樹
Given preorder and inorder traversal of a tree, construct the binary tree. Note:You may assume that ...
python 解決遞歸調用棧溢出
遞歸函數 2578次閱讀 在函數內部,可以調用其他函數.如果一個函數在內部調用自身本身,這個函數就是遞歸函數. 舉個例子,我們來計算階乘n! = 1 x 2 x 3 x ... x n,用函數fact ...
LeetCode 105. Construct Binary Tree from Preorder and Inorder Traversal (用先序和中序樹遍歷來建立二叉樹)
Given preorder and inorder traversal of a tree, construct the binary tree. Note:You may assume that ...
python通過get,post方式發送http請求和接收http響應的方法,pythonget
python通過get,post方式發送http請求和接收http響應的方法,pythonget 本文實例講述了python通過get,post方式發送http請求和接收http響應的方法.分享給大家 ...
隨機推薦
RabbitMQ學習系列(五): RPC 遠程過程調用
前面講過一些RabbitMQ的安裝和用法,也說了說RabbitMQ在一般的業務場景下如何使用.不知道的可以看我前面的博客,http://www.cnblogs.com/zhangweizhong/ca ...
Wrangle – 響應式的,觸摸友好的多選插件
Wrangle 是一個響應式,觸摸友好的選擇插件,支持 jQuery 以及 Zepto.Wrangle 為多項選擇提供了一個獨特的方法:通過畫一條貫穿項目的線條來選擇項目.它給你的應用程序的一種新的方 ...
matlab中的卷積——filter,conv之間的區別
%Matlab提供了計算線性卷積和兩個多項式相乘的函數conv,語法格式w=conv(u,v),其中u和v分別是有限長度序列向量,w是u和v的卷積結果序列向量.?%如果向量u和v的長度分別為N和M,則 ...
Java教程——CMD手動編譯運行失敗原因(高手略過)
(僅對新手,高手略過)在學習Java初期,我們在利用cmd手動編譯java程序的時候,會遇到編譯成功,但運行卻總是提示失敗.已經排除了java配置環境的問題,Path和ClassPath以及%JAVA ...
每天一個linux命令(12):more命令
1.命令簡介 more (more) 該命令一次顯示一屏文本,滿屏后停下來,并且在屏幕的底部出現一個提示信息,給出至今己顯示的該文件的百分比,方便逐頁閱讀(file perusal filter fo ...
在子類中調用父類的方法super
1.沒有super之前,在子類里面需要父類里面的邏輯,但是我們是通過派生(自己定義了一個init,增加了一條line) class vehichle:#定義一個交通工具的類 Country=" ...
18位身份證驗證(Java)加入身份證輸入驗證是否滿足18位代碼(修訂稿)
package day20181016; /** * 身份證的驗證 34052419800101001X * */ import java.util.Scanner; public class Zuo ...
jmeter完成數據批量添加
Jmeter結構如圖 目的: 需要在每個組織下面分別添加5個設備資源 思路: 1.先登錄平臺 2.進入系統配置頁面 3.獲取到每個區域的ID 4.在每個區域下面添加設備資源 重點及難點: 1.登錄加密 ...
Redis全方位詳解--磁盤持久化和容災備份
序言 在上一篇博客中,博客介紹了redis的數據類型使用場景和redis分布式鎖的正確姿勢.我們知道一旦Redis重啟,存在redis里面的數據就會全部丟失.所以這篇博客中向大家介紹Redis的磁盤持 ...
bzoj1706: [Usaco2007 Nov]relays 奶牛接力跑 (Floyd+新姿勢)
題目大意:有t(t<=100)條無向邊連接兩點,求s到e剛好經過n(n<=10^7)條路徑的最小距離. 第一反應分層圖,但是一看n就懵逼了,不會寫.看了題解之后才知道可以這么玩... 首先 ...
總結
以上是生活随笔為你收集整理的python构建二叉树_python--使用递归的方式建立二叉树的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bpsk调制及解调实验_无线通信中的IQ
- 下一篇: websocket python爬虫_p