日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python构建二叉树_python--使用递归的方式建立二叉树

發布時間:2024/7/5 python 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 &lpar;遞歸方式讀取二叉樹&rpar; Not so Mobile

題意: 遞歸的方式輸入一個樹狀天平(一個天平下面掛的不一定是砝碼還可能是一個子天平),判斷這個天平是否能滿足平衡條件,即W1 * D1 == W2 * D2. 遞歸的方式處理輸入數據感覺很巧妙,我雖然 ...

【Python】利用遞歸函數調用方式,將所輸入的字符串,以相反的順序顯示出來

源代碼: """ 利用遞歸函數調用方式,將所輸入的字符串,以相反的順序顯示出來 string_reverse_output():反向輸出字符串的自定義函數 pending ...

Python最佳工程實踐,建立一個完美的工程項目

在程序開發時候一套好的開發環境和工具棧,可以幫我們極大的提高開發的效率,避免把大量時間浪費在周邊瑣事上.本文以Python為例,教大家如何快速打造完美的Python項目開發環境:內容涵蓋了模塊依賴管理 ...

&lbrack;LeetCode&rsqb; 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&period; 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&comma;post方式發送http請求和接收http響應的方法,pythonget

python通過get,post方式發送http請求和接收http響應的方法,pythonget 本文實例講述了python通過get,post方式發送http請求和接收http響應的方法.分享給大家 ...

隨機推薦

RabbitMQ學習系列(五)&colon; 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命令&lpar;12&rpar;&colon;more命令

1.命令簡介 more (more) 該命令一次顯示一屏文本,滿屏后停下來,并且在屏幕的底部出現一個提示信息,給出至今己顯示的該文件的百分比,方便逐頁閱讀(file perusal filter fo ...

在子類中調用父類的方法super

1.沒有super之前,在子類里面需要父類里面的邏輯,但是我們是通過派生(自己定義了一個init,增加了一條line) class vehichle:#定義一個交通工具的類 Country=&quot ...

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&colon; &lbrack;Usaco2007 Nov&rsqb;relays 奶牛接力跑 &lpar;Floyd&plus;新姿勢&rpar;

題目大意:有t(t<=100)條無向邊連接兩點,求s到e剛好經過n(n<=10^7)條路徑的最小距離. 第一反應分層圖,但是一看n就懵逼了,不會寫.看了題解之后才知道可以這么玩... 首先 ...

總結

以上是生活随笔為你收集整理的python构建二叉树_python--使用递归的方式建立二叉树的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。