二叉樹葉節點個數,根節點個數,樹的深度,查找數據為x的節點

文章目錄

    • 一、計算二叉樹葉節點個數
    • 二、葉節點的個數

引言:補充樹的概念

節點的度:一個節點含有的子樹的個數稱為節點的度
葉節點或終端節點:度為0的節點稱為葉節點
節點的層次:從根開始為第一層,以此類推
樹的度:一個樹中最大節點的度為樹的度
樹的深度或高度:樹中節點最大的層次稱為度

一、計算二叉樹葉節點個數

int BTreeSize(BTNode* root)
{//用前序來遍歷if (root == NULL)return 0;return BTreeSize(root->left) + BTreeSize(root->right) + 1;
}
int main()
{BTNode* node1 = BuySTNode(1);BTNode* node2 = BuySTNode(2);BTNode* node3 = BuySTNode(3);BTNode* node4 = BuySTNode(4);BTNode* node5 = BuySTNode(5);BTNode* node6 = BuySTNode(6);node1->left = node2;node1->right = node4;node2->right = node5;node2->left = node3;node4->left = node6;printf("%d", BTreeSize(node1));return 0;
}

在這里插入圖片描述
在這里插入圖片描述

二、葉節點的個數

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

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

相關文章

Leetcode150二刷總結

滑動窗口(ok) 題號:3、209、76 定義好窗口的左邊界left和右邊界right一般是只需要遍歷right,滿足條件后調整left 鏈表 題號:206、92、146、25、21 反轉鏈表主要是設置好pre(初始為null)和c…

【Godot 4.2】Tree控件與TreeItem完全解析

概述 本篇是控件完全解析系列之一,主要總結一下Tree控件與TreeItem的使用。 Tree控件是一個非常強大的控件,尤其是在編寫一些相關的程序或編輯器插件時,非常適合展示樹形組織的節點型數據。 本篇將從簡單的添加根節點,根節點子…

uniapp和vue項目配置多語言,實現前端切換語言

在uniapp中配置多語言功能,實現前端切換語言,可以按照以下步驟進行: 1. 創建語言包 首先,創建一個名為 lang 的目錄,并在該目錄下為每種支持的語言創建對應的JSON或JS文件。例如: lang/en.js&#xff08…

Threejs之場景標注標簽信息CSS2DRenderer

參考資料 CSS2DRenderer(HTML標簽)…單擊按鈕關閉HTML標簽 知識點 注:基于Three.jsv0.155.0 CSS2DRenderer(HTML標簽) HTML標簽遮擋Canvas畫布事件Canvas尺寸變化(HTML標簽)標簽位置不同設置方式標簽位置(標注工廠設備)標簽指示線或箭頭指向標注點鼠標選中模型…

Microsoft PyRIT能自動化完成AI紅隊的任務

每周跟蹤AI熱點新聞動向和震撼發展 想要探索生成式人工智能的前沿進展嗎?訂閱我們的簡報,深入解析最新的技術突破、實際應用案例和未來的趨勢。與全球數同行一同,從行業內部的深度分析和實用指南中受益。不要錯過這個機會,成為AI領…

兩數相加的問題

題目是:給兩個非空的鏈表,表示兩個非負整數。它們每位數都是按照逆序的方式存儲,并且每一個節點只能存儲一位數字。現在兩個數相加,并且以相同的形式返回一個表示和的鏈表。 首先回顧一下,什么是鏈表?鏈表…

《異常檢測——從經典算法到深度學習》26 Time-LLM:基于大語言模型的時間序列預測

《異常檢測——從經典算法到深度學習》 0 概論1 基于隔離森林的異常檢測算法 2 基于LOF的異常檢測算法3 基于One-Class SVM的異常檢測算法4 基于高斯概率密度異常檢測算法5 Opprentice——異常檢測經典算法最終篇6 基于重構概率的 VAE 異常檢測7 基于條件VAE異常檢測8 Donut: …

使用遞歸方法和類數組兩種方法計算斐波那契數列

菲波納契數列又稱"菲波納契神奇數列",是由13世紀的意大利數學家菲波納契提出的,當時是和兔子的繁殖問題有關的,它是一個很重要的數學模型。這個問題是:有小兔一對,若第二個月它們成年,第三個月生下小兔一對&…

3333666777

? 通用計算機啟動過程 1??一個基礎固件:BIOS 一個基礎固件:BIOS→基本IO系統,它提供以下功能: 上電后自檢功能 Power-On Self-Test,即POST:上電后,識別硬件配置并對其進行自檢&#xff0c…

阿里云倉庫

倉庫服務 (aliyun.com) maven中央倉庫: Central Repository: (maven.org)

Windows10 安裝Neo4j流程

1、下載并安裝ava運行環境 官網鏈接(需要注冊Oracle賬號):https://www.oracle.com/java/technologies/downloads/ 根據自己Neo4j版本確認需要的JDK版本 百度網盤鏈接: 鏈接:鏈接:https://pan.baidu.com/s/…

靜態網頁和動態網頁的異同

靜態網頁和動態網頁是兩種不同類型的網頁。它們之間的主要異同點如下: 1. 靜態網頁: - 靜態網頁是指在服務器上預先準備好的網頁,內容固定不變。 - 靜態網頁通常由HTML、CSS和JavaScript等靜態文件組成。 - 用戶訪問靜態網頁時&#xff0c…

Sodinokibi勒索病毒最新變種,解密工具更新到2.0版本

Sodinokibi勒索病毒 Sodinokibi勒索病毒又稱REvil,自從2019年6月1日,GandCrab勒索病毒運營團伙宣布停止運營之后,Sodinokibi勒索病毒馬上接管了GandCrab的大部分傳播渠道,同時它也被稱為是GandCrab勒索病毒的“接班人”&#xff…

VMware 虛擬機安裝windows 10操作系統

先提前準備好鏡像文件 1.創建新的虛擬機 2.選擇自定義,然后下一步 v Windows 建議選擇2G以上,下一步 選擇網絡地址轉換(NAT),下一步 這里可按自己的需求來分區,也可以安裝好后再分區 選擇立即重啟&#xff…

【劍指offer】C++ 翻轉字符串里面的單詞

目錄 題目: 思路: 代碼出現 結果 題目: 給定一個字符串,逐個翻轉字符串中的每個單詞。 示例 1: 輸入: "the sky is blue" 輸出: "blue is sky the" 示例 2: 輸入: " hello world! " 輸出: "world! hello" 解釋: 輸入字符…

L1-032 Left-pad(PTA)

文章目錄 L1-032 Left-pad題目描述代碼 L1-032 Left-pad 題目描述 根據新浪微博上的消息,有一位開發者不滿NPM(Node Package Manager)的做法,收回了自己的開源代碼,其中包括一個叫left-pad的模塊,就是這個…

使用 Object.defineProperty() 來進行數據劫持有什么缺點?

使用 Object.defineProperty() 來進行數據劫持有什么缺點? (1)在對一些屬性進行操作時,使用這種方法無法攔截,比如通過下標方式修改數組數據或者給對象新增屬性,這都不能觸發組件的重新渲染,因為…

Vue組件置底方法,ElementPlus布局

問題描述 在開發網頁時使用了elementplus的el-container組件 組件里分成了main和footer兩塊&#xff0c;但是想要將兩個按鈕置底在容器底部遇到了困難 如下圖所示&#xff0c;在網頁開發者工具可見兩個按鈕與左側的圖片沒有底部對齊 此時我的代碼是這樣 <el-footer>&…

STM32自學?串口發送+接收

一、相關函數說明&#xff1a; USART_ClockInit()和USART_ClockStructInit(); 用來配置同步時鐘輸出 USART_DMACmd(); 開啟USART到DMA的觸發通道 USART_SendData(); 發送數據 USART_ReceiveData(); 接收數據 二、程序代碼 serial.c文件 #include "stm32f10x.h" #i…