python构建二叉树_python--使用递归的方式建立二叉树
樹和圖的數(shù)據(jù)結(jié)構(gòu),就很有意思啦。
# 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. 遞歸的方式處理輸入數(shù)據(jù)感覺很巧妙,我雖然 ...
【Python】利用遞歸函數(shù)調(diào)用方式,將所輸入的字符串,以相反的順序顯示出來
源代碼: """ 利用遞歸函數(shù)調(diào)用方式,將所輸入的字符串,以相反的順序顯示出來 string_reverse_output():反向輸出字符串的自定義函數(shù) pending ...
Python最佳工程實踐,建立一個完美的工程項目
在程序開發(fā)時候一套好的開發(fā)環(huán)境和工具棧,可以幫我們極大的提高開發(fā)的效率,避免把大量時間浪費在周邊瑣事上.本文以Python為例,教大家如何快速打造完美的Python項目開發(fā)環(huán)境:內(nèi)容涵蓋了模塊依賴管理 ...
[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 解決遞歸調(diào)用棧溢出
遞歸函數(shù) 2578次閱讀 在函數(shù)內(nèi)部,可以調(diào)用其他函數(shù).如果一個函數(shù)在內(nèi)部調(diào)用自身本身,這個函數(shù)就是遞歸函數(shù). 舉個例子,我們來計算階乘n! = 1 x 2 x 3 x ... x n,用函數(shù)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方式發(fā)送http請求和接收http響應(yīng)的方法,pythonget
python通過get,post方式發(fā)送http請求和接收http響應(yīng)的方法,pythonget 本文實例講述了python通過get,post方式發(fā)送http請求和接收http響應(yīng)的方法.分享給大家 ...
隨機(jī)推薦
RabbitMQ學(xué)習(xí)系列(五): RPC 遠(yuǎn)程過程調(diào)用
前面講過一些RabbitMQ的安裝和用法,也說了說RabbitMQ在一般的業(yè)務(wù)場景下如何使用.不知道的可以看我前面的博客,http://www.cnblogs.com/zhangweizhong/ca ...
Wrangle – 響應(yīng)式的,觸摸友好的多選插件
Wrangle 是一個響應(yīng)式,觸摸友好的選擇插件,支持 jQuery 以及 Zepto.Wrangle 為多項選擇提供了一個獨特的方法:通過畫一條貫穿項目的線條來選擇項目.它給你的應(yīng)用程序的一種新的方 ...
matlab中的卷積——filter,conv之間的區(qū)別
%Matlab提供了計算線性卷積和兩個多項式相乘的函數(shù)conv,語法格式w=conv(u,v),其中u和v分別是有限長度序列向量,w是u和v的卷積結(jié)果序列向量.?%如果向量u和v的長度分別為N和M,則 ...
Java教程——CMD手動編譯運行失敗原因(高手略過)
(僅對新手,高手略過)在學(xué)習(xí)Java初期,我們在利用cmd手動編譯java程序的時候,會遇到編譯成功,但運行卻總是提示失敗.已經(jīng)排除了java配置環(huán)境的問題,Path和ClassPath以及%JAVA ...
每天一個linux命令(12):more命令
1.命令簡介 more (more) 該命令一次顯示一屏文本,滿屏后停下來,并且在屏幕的底部出現(xiàn)一個提示信息,給出至今己顯示的該文件的百分比,方便逐頁閱讀(file perusal filter fo ...
在子類中調(diào)用父類的方法super
1.沒有super之前,在子類里面需要父類里面的邏輯,但是我們是通過派生(自己定義了一個init,增加了一條line) class vehichle:#定義一個交通工具的類 Country=" ...
18位身份證驗證(Java)加入身份證輸入驗證是否滿足18位代碼(修訂稿)
package day20181016; /** * 身份證的驗證 34052419800101001X * */ import java.util.Scanner; public class Zuo ...
jmeter完成數(shù)據(jù)批量添加
Jmeter結(jié)構(gòu)如圖 目的: 需要在每個組織下面分別添加5個設(shè)備資源 思路: 1.先登錄平臺 2.進(jìn)入系統(tǒng)配置頁面 3.獲取到每個區(qū)域的ID 4.在每個區(qū)域下面添加設(shè)備資源 重點及難點: 1.登錄加密 ...
Redis全方位詳解--磁盤持久化和容災(zāi)備份
序言 在上一篇博客中,博客介紹了redis的數(shù)據(jù)類型使用場景和redis分布式鎖的正確姿勢.我們知道一旦Redis重啟,存在redis里面的數(shù)據(jù)就會全部丟失.所以這篇博客中向大家介紹Redis的磁盤持 ...
bzoj1706: [Usaco2007 Nov]relays 奶牛接力跑 (Floyd+新姿勢)
題目大意:有t(t<=100)條無向邊連接兩點,求s到e剛好經(jīng)過n(n<=10^7)條路徑的最小距離. 第一反應(yīng)分層圖,但是一看n就懵逼了,不會寫.看了題解之后才知道可以這么玩... 首先 ...
總結(jié)
以上是生活随笔為你收集整理的python构建二叉树_python--使用递归的方式建立二叉树的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bpsk调制及解调实验_无线通信中的IQ
- 下一篇: dlib 怎么安装vs2017_win1