Python二叉樹遍歷算法

# 定義一棵樹結構
class Tree:def __init__(self, value):self.value = valueself.left = Noneself.right = Nonedef zhong(tree, array=[]):"""中序遍歷:param tree: :param array: :return: """if tree is None:return arrayzhong(tree.left, array)array.append(tree.value)zhong(tree.right, array)return arraydef pre(tree, array=[]):"""前序遍歷:param tree: :param array: :return: """if tree is None:return arrayarray.append(tree.value)pre(tree.left, array)pre(tree.right, array)return arraydef behind(tree, array=[]):"""后序遍歷:param tree: :param array: :return: """if tree is None:return arraybehind(tree.left, array)behind(tree.right, array)array.append(tree.value)return array# 按照給出的樹,構建樹形結構
tree = Tree(10)
tree.left = Tree(5)
tree.right = Tree(15)
tree.left.left = Tree(2)
tree.left.right = Tree(5)
tree.left.left.left = Tree(1)
tree.right.right = Tree(22)print(zhong(tree, []))
print(behind(tree, []))
print(pre(tree, []))

參考視頻:https://www.bilibili.com/video/BV1Ev411i7Rk/?spm_id_from=333.337.search-card.all.click&vd_source=30aff718c4a81a6d17f211397fc39bb7

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/18814.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/18814.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/18814.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

FL Studio21.2.5中文版電子音樂制作的強大工具

在當今的數字音樂時代,電子音樂已經成為了全球音樂市場中不可或缺的一部分。越來越多的音樂愛好者開始嘗試自己動手創作電子音樂,而FL Studio 21中文版正是為他們量身打造的一款強大工具。作為一個音頻制作愛好者,我深知一個好的數字音頻工作…

apexcharts數據可視化之雷達圖

apexcharts數據可視化之雷達圖 有完整配套的Python后端代碼。 本教程主要會介紹如下圖形繪制方式: 基礎雷達圖多組數據雷達圖雷達圖標記點 基礎雷達圖 import ApexChart from react-apexcharts;export function BasicRadar() {// 數據序列const series [{name…

10分鐘掌握FL Studio21中文版,音樂制作更高效!

FL Studio 21中文版是Image Line公司推出的一款深受歡迎的數字音頻工作站軟件,在音樂制作領域享有盛譽。這個版本特別針對中文用戶進行了本地化處理,旨在提供更加便捷的用戶體驗和操作界面。本次評測將深入探討FL Studio 21中文版的功能特點、使用體驗及…

【計算機網絡】P1 計算機網絡概念、組成、功能、分類、標準化工作以及性能評估指標

目錄 1 什么是計算機網絡2 計算機網絡的組成2.1 組成部分上2.2 工作方式上2.3 功能組成上 3 計算機網絡的功能3.1 數據通信3.2 資源共享3.3 分布式處理3.4 提高可靠性3.5 負載均衡 4 計算機網絡的分類4.1 按分布范圍分類4.2 按傳輸技術分類4.3 按照拓撲結構分類4.4 按使用者分類…

【FL Studio至尊版:音樂制作界的“瑞士軍刀”】

? 導語:在音樂制作領域,有一款軟件被譽為“瑞士軍刀”,它就是FL Studio。本文將為您揭示FL Studio的四大爆點,帶您領略這款軟件的獨特魅力。 一、FL Studio:音樂制作界的“瑞士軍刀” FL Studio,全稱F…

Class類和類元數據

在Java虛擬機(JVM)中,Class類和類元數據的概念稍有不同。讓我們分別解釋這兩個概念,并說明它們的區別和存儲位置。 Class類 在JVM中,Class類是Java標準庫中的一個類,位于java.lang包中。Class對象是由JVM…

Linux Tcpdump抓包入門

Linux Tcpdump抓包入門 一、Tcpdump簡介 tcpdump 是一個在Linux系統上用于網絡分析和抓包的強大工具。它能夠捕獲網絡數據包并提供詳細的分析信息,有助于網絡管理員和開發人員診斷網絡問題和監控網絡流量。 安裝部署 # 在Debian/Ubuntu上安裝 sudo apt-get install…

Java網絡編程:UDP通信篇

目錄 UDP協議 Java中的UDP通信 DatagramSocket DatagramPacket UDP客戶端-服務端代碼實現 UDP協議 對于UDP協議,這里簡單做一下介紹: 在TCP/IP協議簇中,用戶數據報協議(UDP)是傳輸層的一個主要協議之一&#xf…

3.Spring Cloud LoadBalancer 入門與使用

3.Spring Cloud LoadBalancer 入門與使用 1.什么是 LoadBalancer?1.1負載均衡分類1.2 常見負載均衡策略 2.為什么要學 LoadBalancer?3.如何使用?4.默認負載均衡策略5.隨機負載均策略5.1 創建隨機負載均衡器5.2 設置隨機負載均衡器 (局部設置)5.3 設置全局負載均衡器 6.Nacos…

基礎—SQL—DML(數據操作語言)修改和刪除

一、引言 接著上次博客,這次講解DML語句中的修改數據和刪除數據操作。 二、DML—修改數據 UPDATE 表名 SET 字段名1值1 ,字段名2值2 , ...[ WHERE 條件]; 注意:修改語句的條件可以有,也可以沒有。如果沒有條件,則會修改整張表的…

TypeScript 泛型

泛型基礎 泛型允許我們在定義函數、類或接口時使用參數化類型&#xff0c;從而實現代碼的通用性。例如&#xff1a; function identity<T>(arg: T): T {return arg; }let output identity<string>("hello"); console.log(output); // 輸出&#xff1a…

為什么就是不顯示呢?

為了練習JavaScript中函數的使用方法&#xff0c;寫了下面的關于Date&#xff08;&#xff09;函數的使用&#xff0c;奇怪的是&#xff0c;網頁中就是不顯示相關內容&#xff0c;為什么呢&#xff1f;&#xff1f;&#xff1f; <!DOCTYPE html> <html lang"en&…

【更新】一次“問題反饋”,下定決心做了多約束多目標智能算法的“模板”

目錄 1 主要內容 2 部分代碼 3 程序結果 4 下載鏈接 1 主要內容 關注該代碼的同學應該清楚&#xff0c;這個代碼已經免費更新了兩版了&#xff0c;修復和增加了一些約束內容&#xff0c;本次增加蓄電池初始時刻和終止時刻容量一致約束&#xff0c;可別小瞧這么簡單的增加約…

工控一體機10.1寸顯示器電容觸摸屏(YA05WK)產品規格說明書

如果您對工控一體機有任何疑問或需求&#xff0c;或者對如何集成工控一體機到您的業務感興趣&#xff0c;可移步控芯捷科技。 一、硬件功能介紹 YA05WK是我公司推出的一款新型安卓屏&#xff0c;4核Cortex-A7 架構&#xff0c;主頻1.2GHz的CPU。采用12V供電&#xff0c;標配5寸…

2024.05.13 校招 實習 內推 面經

綠*泡*泡VX&#xff1a; neituijunsir 交流*裙 &#xff0c;內推/實習/校招匯總表格 1、實習 | 寧德新能源2025實習生招聘全面啟動 實習 | 寧德新能源2025實習生招聘全面啟動 2、實習 | 中國工業和信息化部電子第五研究所- 2025屆薪火計劃OFFER快捷通道正式開啟 實習 | 中…

深入理解深度學習中的激活層:Sigmoid和Softmax作為非終結層的應用

深入理解深度學習中的激活層&#xff1a;Sigmoid和Softmax作為非終結層的應用Sigmoid 和 Softmax 激活函數簡介Sigmoid函數Softmax函數 Sigmoid 和 Softmax 作為非終結層多任務學習特征變換增加網絡的非線性實際案例 注意事項結論 深入理解深度學習中的激活層&#xff1a;Sigmo…

云聯網驅動的全球智能網絡

在當今這個全球一體化加速的時代&#xff0c;企業網絡的邊界正被無限擴展&#xff0c;跨國運營、多云環境和遠程工作模式已經成為常態。中國聯通依托其強大的全球網絡資源&#xff0c;推出了以云聯網為核心技術的全球化智能組網方案&#xff0c;旨在為全球企業提供前所未有的靈…

什么是DELINS交貨指示?

DELINS 是指 Delivery Instruction&#xff08;交貨指示&#xff09;報文&#xff0c;用于在供應鏈管理中傳遞交貨指令和相關信息。該報文用于在供應鏈中的不同合作伙伴之間交換關于交貨的詳細信息。 DELINS 報文的主要功能 交貨指示&#xff1a;傳達具體的交貨指令&#xff…

如何評價GPT-4o

對比分析&#xff1a;GPT-4o與GPT-4 在人工智能領域的浪潮中&#xff0c;OpenAI的GPT系列模型一直是備受矚目的焦點。GPT-4o作為GPT系列的最新成員&#xff0c;相較于其前代GPT-4&#xff0c;無疑帶來了許多值得關注的改進和變化。 首先&#xff0c;從版本更迭的角度來看&#…

【Python】 深入理解 Python 包管理器:pip vs conda

基本原理 在Python編程世界中&#xff0c;包管理器是一個不可或缺的工具。它幫助開發者安裝、更新和管理Python庫。目前&#xff0c;最流行的兩個包管理器是pip和conda。了解它們之間的區別&#xff0c;對于Python開發者來說至關重要。 pip pip是Python的官方包管理器&#…