數據結構--樹和二叉樹的一些知識點總結

  1. 樹是n個結點的有限集,當n=0時,稱為空樹。
  2. 樹是一種遞歸的數據結構,樹作為一種邏輯結構同時也是一種分層的結構
  3. 結點的深度是從根開始自頂向下累加;結點的高度是從葉結點自底向上累加
  4. 由于樹中的分支是有向的,即從雙親指向孩子,所以樹中的路徑是從上向下的,同一雙親的兩個孩子之間不存在路徑
  5. 樹的結點數等于所有結點度數和加1
  6. 度為m的樹中第i層上至多有pow(m,i-1)個結點
  7. 高度為h的m叉樹至多有pow(m,h)-1/(m-1)個結點
  8. 樹的路徑長度是從樹根到每個結點的路徑長度的總和
  9. 二叉樹是有序樹,二叉樹可以為空
  10. 一顆高度為h且含有pow(2,h)-1個結點的二叉樹為滿二叉樹,每層結點為pow(2,h-1)
  11. 完全二叉樹葉子結點只可能出現在最大的兩層上;若有度為1的結點只可能有一個且在左孩子上
  12. 非空二叉樹上的葉子結點數等于度為2的結點數加1,即n0=n2+1
  13. 具有n個結點的完全二叉樹的高度為log(n+1)或logn+1
  14. 二叉樹的遍歷分為先序、中序、后序遍歷
  15. 二叉樹的線索化是將二叉鏈表中的空指針改為指向前驅或后繼的線索。而前驅或后繼的信息只有在遍歷時才能得到,因此線索化的實質是遍歷一次二叉樹
  16. 引入線索二叉樹的目的是加快查找結點的前驅或后驅的速度
  17. 樹轉二叉樹:在兄弟結點之間加一連線;對每個結點只保留它與第一個孩子的連線;以樹根為軸心順時針旋轉45°
  18. 二叉排序樹的刪除:若為葉節點則直接刪除;若只有左或右則讓子樹代替;若有左和右則在右孩子找中序第一個填補
  19. 從樹的根到任意結點的路徑長度與該結點上權值的乘積稱為該節點的帶權路徑長度
  20. 樹中所有葉節點的帶權路徑長度和稱為該樹的帶權路徑長度
  21. 構造哈夫曼樹的過程共新建了n-1個結點,因此哈夫曼樹的結點總數為2n-1
  22. 在二叉排序樹中進行查找的效率與二叉排序樹的深度有關

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

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

相關文章

【Java算法】二分查找 下

🔥個人主頁: 中草藥 🔥專欄:【算法工作坊】算法實戰揭秘 一.山脈數組的峰頂索引 題目鏈接:852.山脈數組的峰頂 ? 算法原理 這段代碼實現了一個查找山峰數組中峰值索引的算法。山峰數組是一個先遞增后遞減的數組&…

玩具營銷是如何拿捏成年人錢包?

好像現在的成年人逐漸熱衷于偏向年輕化,問問題會好奇“尊嘟假嘟”,飯量上的“兒童套餐”,娃娃機前排長隊......而最突出的莫過于各類各式的玩具不斷收割當代年輕人,除去常給大朋友們小朋友們送去玩具福利的“麥、肯”雙門&#xf…

激光干涉儀可以完成哪些測量:全面應用解析

在高端制造領域,精度是衡量產品質量的關鍵指標之一。激光干涉儀作為一項高精度測量技術,其應用廣泛,對于提升產品制造精度具有重要意義。 線性測量:精確定位的基礎 激光干涉儀采用邁克爾遜干涉原理,實現線性測量。該…

AlphaGo 的傳奇故事

文章目錄 一、說明二、AlphaGo 傳奇(一):游戲規則三、AlphaGo 傳奇(二):它是如何運作的?四、AlphaGo 傳奇(三):史詩般的戰斗和人工智能的未來 一、說明 1997 年,IBM 的“…

卷積神經網絡之ResNet50遷移學習

數據準備 下載狗與狼分類數據集,數據來自ImageNet,每個分類有大約120張訓練圖像與30張驗證圖像。使用download接口下載數據集,并自動解壓到當前目錄。 全是小狗的圖片 另一邊全是狼的圖片 加載數據集 狼狗數據集提取自ImageNet分類數據集&a…

2-3個月的幼貓能吃主食凍干嗎?第一次吃哪款主食凍干比較好

2-3個月的幼貓能吃凍干嗎?一般來說,幼貓在2-3個月左右的離乳期就可以吃凍干了。需要注意的,一個是要認準主食凍干,零食凍干會讓貓貓從小就挑食,以后就更不好糾正了。而且離乳期的貓貓沒有了母乳的保護,免疫…

Open3D 點對面的ICP算法配準(精配準)

目錄 一、概述 1.1核心思想 1.2實現步驟 二、代碼實現 2.1關鍵函數 2.2完整代碼 三、實現效果 3.1原始點云 3.2配準后點云 3.3計算數據 一、概述 基于點對面的ICP(Iterative Closest Point)配準算法是ICP的一種變體,它通過最小化源…

【Ty CLI】一個開箱即用的前端腳手架

目錄 資源鏈接基礎命令模板創建命令幫助選擇模板開始創建開發模板 開發背景npm 發布流程問題記錄模板創建超時 更新日志 資源鏈接 文檔:https://ty.cli.vrteam.top/ 源碼:https://github.com/bosombaby/ty-cli 基礎命令 1. npm 全局安裝 npm i ty-cli…

Zabbix Sia Zabbix 邏輯漏洞(CVE-2022-23134)

前言 CVE-2022-23134是一個中等嚴重度的漏洞,影響Zabbix Web前端。這個漏洞允許未經身份驗證的用戶訪問setup.php文件的某些步驟,這些步驟通常只對超級管理員開放。利用這個漏洞,攻擊者可以通過跳過某些步驟來重新配置Zabbix前端&#xff0c…

gazebo仿真環境中加入livox mid360

https://github.com/Livox-SDK/livox_laser_simulation 功能包適用于ubuntu18.04 gazebo9的可以直接編譯運行。在ubutun20.04 的系統下gazebo是11版本,需要做一些修改 CMakeLists.txt文件中的 add_compile_options(-std=c++11) 改為 add_compile_options(-std=c++17)fatal er…

二一、搭建自已的語言大模型

1. 配置langchain環境 使用conda創建一個虛擬環境,基于 Python3.10,并在虛擬環境內安裝項目的依賴。注意,大模型對gpu有一定的要求,否則速度會奇慢無比。 conda create -n langchain python=3.10 conda env list conda activate langchain # 拉取倉庫 $ git clone ht…

Redis-Jedis連接池\RedisTemplate\StringRedisTemplate

Redis-Jedis連接池\RedisTemplate\StringRedisTemplate 1. Jedis連接池1.1 通過工具類1.1.1 連接池:JedisConnectionFactory:1.1.2 test:(代碼其實只有連接池那里改變了) 2. SpringDataRedis(lettuce&#…

終于弄明白了什么是EI!

EI是Engineering Index的縮寫,中文意為“工程索引”,是由美國工程信息公司(Engineering Information, Inc.)編輯出版的著名檢索工具。它始創于1884年,擁有超過一個世紀的歷史,是全球工程界最權威的文獻檢索系統之一。EI雖然名為“…

十五、小型電腦沒有數字鍵及insert,怎么解決IDEA快速插入getset構造這些方法

🌻🌻目錄 一、小型電腦沒有數字鍵及insert,怎么解決IDEA快速插入getset構造這些方法 一、小型電腦沒有數字鍵及insert,怎么解決IDEA快速插入getset構造這些方法 解決: 1.winR打開搜索 2.osk回車 屏幕就出現了這樣的一…

CC7利用鏈分析

分析版本 Commons Collections 3.2.1 JDK 8u65 環境配置參考JAVA安全初探(三):CC1鏈全分析 分析過程 CC7,6,5都是在CC1 LazyMap利用鏈(引用)的基礎上。 只是進入到LazyMap鏈的入口鏈不同。 CC7這個鏈有點繞,下面順著分析一下利用鏈。 入口類是Hashtable&…

前端入門知識分享:如何在HTML或CSS文件中引用CSS文件。

閱讀提示:本文僅僅僅適用于剛剛接觸HTML和CSS的小白從業者,新人愛好者。自覺身份不符的老鳥們,盡快繞行吧! 什么是CSS?什么是CSS文件。 CSS,全稱為Cascading Style Sheets(層疊樣式表&#xff…

分布式IO模塊軟件配置

組態接口模塊 1、打開網絡視圖 2、拖拽出ET200SP 3、雙擊ET200SP的圖片,進入從站配置 總線適配器的組態更換 關于IO地址分配,需要建立好子網通信后,在主機上配置。 可以看到IP 和設備名 設備與控制器的Profinet連接 先找到設備名稱再找…

HarmonyOS鴻蒙DevEco Studio無法連接本地模擬器

使用DevEcoStudio 5.0.3.403版本 發現無法選擇模擬器 解決方法: 1、打開模擬器 2、關閉DevEco Studio,(不要關閉模擬器) 3、重新打開DevEco Studio。

EXCEL VBA發郵件,實現自動化批量發送

EXCEL VBA發郵件,實現自動化批量發送 以GET方式上傳數據 Public Function uploadData_GET(ByVal url As String)Dim httpSet http CreateObject("Microsoft.XMLHTTP")http.Open "GET", url, Falsehttp.sendDebug.Print http.getAllResponseHea…

四道經典算法JAVA

1.爬樓地 爬20個臺階的爬法:f(19)f(18) 經典斐波拉契數列問題 public class demo4 {//爬樓梯問題public static void main(String[] args) {System.out.println(getSum(20));}public static int getSum(int n) {if (n 1)return 1;if (n 2)return 2;return getSum(n - 1) …