26考研——樹與二叉樹_樹、森林(5)

408答疑


文章目錄

  • 二、樹、森林
    • 樹的基本概念
      • 樹的定義和特性
        • 樹的定義
        • 樹的特性
      • 基本術語
        • 樹的基本術語和概念
          • 祖先、子孫、雙親、孩子、兄弟和堂兄弟
          • 結點的層次、度、深度和高度
          • 樹的度和高度
          • 分支結點和葉結點
          • 有序樹和無序樹
          • 路徑和路徑長度
        • 森林的基本術語和概念
          • 森林的定義
          • 森林與樹的關系
      • 樹的性質
        • 總結
    • 樹的存儲結構
      • 概述
      • 雙親表示法
        • 注意事項
      • 孩子表示法和孩子兄弟表示法
        • 孩子表示法
        • 孩子兄弟表示法
        • 存儲結構選擇
    • 樹、森林與二叉樹的轉換
      • 樹轉為二叉樹
        • 轉換規則
        • 轉換方法
        • 轉換性質
        • 轉換示例
      • 森林轉為二叉樹
        • 轉換方法
        • 二叉樹轉換為森林
    • 樹和森林的遍歷
      • 樹的遍歷
        • 遍歷定義
          • 先根遍歷
          • 后根遍歷
        • 遍歷序列
      • 森林的遍歷
        • 先序遍歷森林
        • 中序遍歷森林
      • 森林與二叉樹遍歷方法的對應關系
        • 下表樹和森林的遍歷與二叉樹遍歷的對應關系
        • 注意事項
  • 四、參考資料
    • 鮑魚科技課件
    • 26王道考研書


二、樹、森林

樹的基本概念

樹的定義和特性

樹的定義

樹是一個遞歸的概念,由 n ( n ≥ 0 ) n (n \geq 0) n(n0) 個結點的有限集組成。當 n = 0 n=0 n=0 時,稱為空樹。在任意一棵非空樹中應滿足:

  1. 有且僅有一個特定的稱為根的結點。
  2. n > 1 n > 1 n>1 時,其余結點可分為 m ( m > 0 ) m (m > 0) m(m>0) 個互不相交的有限集 T 1 , T 2 , ? , T m T_1, T_2, \cdots, T_m T1?,T2?,?,Tm?,其中每個集合本身又是一棵樹,并且稱為根的子樹。
樹的特性

樹作為邏輯結構,同時也是一種分層結構,具有以下兩個特點:

  1. 樹的根結點沒有前驅,除根結點外的所有結點有且只有一個前驅。
  2. 樹中所有結點都可以有零個或多個后繼。

樹適用于表示具有層次結構的數據。樹中的某個結點(除根結點外)最多只和上一層的一個結點(其父結點)有直接關系,根結點沒有直接上層結點,因此在 n n n 個結點的樹中有 n ? 1 n-1 n?1 條邊。而樹中每個結點與其下一層的零個或多個結點(其孩子結點)都有直接關系。

基本術語

樹的基本術語和概念

在這里插入圖片描述

祖先、子孫、雙親、孩子、兄弟和堂兄弟
  • 祖先:從根結點到某一結點的唯一路徑上的所有其他結點。
    • 結點 K K K的祖先是從根 A A A K K K的唯一路徑上的所有其他結點。
  • 子孫:某一結點的子樹中所有結點。
    • 如結點 B B B K K K的祖先,而 K K K B B B的子孫,結點 B B B的子孫包括 E , F , K , L E, F, K, L E,F,K,L
  • 雙親:某一結點的直接前驅,即指向該結點的結點。
  • 孩子:某一結點的直接后繼,即該結點指向的結點。
    • 路徑上最接近 K K K的結點 E E E稱為 K K K的雙親, K K K E E E的孩子。
  • 兄弟:有相同雙親的結點。
  • 堂兄弟:在同一層的結點互為堂兄弟。
    • 有相同雙親的結點稱為兄弟(如 K K K L L L)。
    • 雙親在同一層的結點互為堂兄弟(如 G G G E E E F F F H H H I I I J J J)。
  • A A A是樹中唯一沒有雙親的結點。
結點的層次、度、深度和高度
  • 層次:從樹根開始定義,根結點為第1層,它的孩子為第2層,以此類推。
  • 結點的度:一個結點的孩子個數稱為該結點的度。
    • 如結點 B B B的度為2,結點 D D D的度為3。
  • 深度:結點所在的層次。
  • 高度:以該結點為根的子樹的高度。
樹的度和高度
  • 樹的度:樹中結點的最大度數稱為樹的度。
    • 上圖中樹的度為3。
  • 樹的高度:樹的高度(或深度)是樹中結點的最大層數。
    • 上圖中樹的高度為4。
分支結點和葉結點
  • 分支結點:度大于0的結點稱為分支結點(也稱非終端結點)。
  • 葉結點:度為0(沒有孩子結點)的結點稱為葉結點(也稱終端結點)。
有序樹和無序樹
  • 有序樹:樹中結點的各子樹從左到右是有次序的,不能互換。
  • 無序樹:樹中結點的各子樹從左到右沒有次序,可以互換。
    • 假設上圖為有序樹,若將子結點位置互換,則變成一棵不同的樹。
路徑和路徑長度
  • 路徑:樹中兩個結點之間的路徑是由這兩個結點之間所經過的結點序列構成的。
    • 因為樹中的分支是有向的,即從雙親指向孩子,所以樹中的路徑是從上向下的,同一雙親的兩個孩子之間不存在路徑。
  • 路徑長度:路徑上所經過的邊的個數。
森林的基本術語和概念
森林的定義
  • 森林:是 m ( m ≥ 0 ) m (m \geq 0) m(m0) 棵互不相交的樹的集合。
森林與樹的關系
  • 森林的概念與樹的概念十分相近,因為只要把樹的根結點刪去就成了森林。反之,只要給 m m m 棵獨立的樹加上一個結點,并把這 m m m 棵樹作為該結點的子樹,則森林就變成了樹。

樹的性質

  1. 樹的結點數 n n n 等于所有結點的度數之和加1。

    • 結點的度數是指該結點的孩子數量,每個結點與其每個孩子都由唯一的邊相連,因此樹中所有結點的度數之和等于樹中的邊數之和。
    • 樹中的結點(除根外)都有唯一的雙親,因此結點數 n n n 等于邊數之和加1,即所有結點的度數之和加1。
  2. 度為 m m m 的樹中第 i i i 層上至多有 m i ? 1 m^{i-1} mi?1 個結點 ( i ≥ 1 i \geq 1 i1)。

    • 第1層至多有1個結點(根結點),第2層至多有 m m m 個結點,第3層至多有 m 2 m^2 m2 個結點,以此類推。
    • 使用數學歸納法可推出第 i i i 層至多有 m i ? 1 m^{i-1} mi?1 個結點。
  3. 高度為 h h h m m m 叉樹至多有 m h ? 1 m ? 1 \frac{m^h - 1}{m - 1} m?1mh?1? 個結點。

    • 當各層結點數達到最大時,樹中至多有 1 + m + m 2 + ? + m h ? 1 = m h ? 1 m ? 1 1 + m + m^2 + \cdots + m^{h-1} = \frac{m^h - 1}{m - 1} 1+m+m2+?+mh?1=m?1mh?1? 個結點。
  4. 度為 m m m、具有 n n n 個結點的樹的最小高度 h h h ? log ? m ( n ( m ? 1 ) + 1 ) ? \lceil \log_m(n(m-1)+1) \rceil ?logm?(n(m?1)+1)?

    • 為使樹的高度最小,在前 h ? 1 h-1 h?1 層中,每層的結點數都要達到最大,前 h ? 1 h-1 h?1 層最多有 ( m h ? 1 ? 1 ) ( m ? 1 ) \frac{(m^{h-1} - 1)}{(m-1)} (m?1)(mh?1?1)? 個結點,前 h h h 層最多有 ( m h ? 1 ) ( m ? 1 ) \frac{(m^h - 1)}{(m-1)} (m?1)(mh?1)? 個結點。
    • 因此 ( m h ? 1 ? 1 ) ( m ? 1 ) < n ≤ ( m h ? 1 ) ( m ? 1 ) \frac{(m^{h-1} - 1)}{(m-1)} < n \leq \frac{(m^h - 1)}{(m-1)} (m?1)(mh?1?1)?<n(m?1)(mh?1)?,即 h ? 1 < log ? m ( n ( m ? 1 ) + 1 ) ≤ h h-1 < \log_m(n(m-1)+1) \leq h h?1<logm?(n(m?1)+1)h,解得 h min = ? log ? m ( n ( m ? 1 ) + 1 ) ? h_{\text{min}} = \lceil \log_m(n(m-1)+1) \rceil hmin?=?logm?(n(m?1)+1)?
  5. 度為 m m m、具有 n n n 個結點的樹的最大高度 h h h n ? m + 1 n-m+1 n?m+1

    • 樹的度為 m m m,因此至少有一個結點有 m m m 個孩子,它們處于同一層。
    • 為使樹的高度最大,其他層可僅有一個結點,因此最大高度(層數)為 n ? m + 1 n-m+1 n?m+1
    • 由此,也可逆推出高度為 h h h、度為 m m m 的樹至少有 h + m ? 1 h+m-1 h+m?1 個結點。
總結
  • 樹中的結點數等于所有結點的度數之和加1。
  • 度為 m m m 的樹中第 i i i 層上至多有 m i ? 1 m^{i-1} mi?1 個結點。
  • 高度為 h h h m m m 叉樹至多有 m h ? 1 m ? 1 \frac{m^h - 1}{m - 1} m?1mh?1? 個結點。
  • 具有 n n n 個結點的 m m m 叉樹的最小高度為 ? log ? m ( n ( m ? 1 ) + 1 ) ? \lceil \log_m(n(m-1)+1) \rceil ?logm?(n(m?1)+1)?

樹的存儲結構

概述

樹的存儲方式有多種,既可采用順序存儲結構,又可采用鏈式存儲結構,但無論采用何種存儲方式,都要求能唯一地反映樹中各結點之間的邏輯關系。這里介紹3種常用的存儲結構。

雙親表示法

  • 定義:這種存儲結構采用一組連續空間來存儲每個結點,同時在每個結點中增設一個偽指針,指示其雙親結點在數組中的位置。
  • 特點:根結點下標為0,其偽指針域為-1。雙親表示法利用了每個結點(根結點除外)只有唯一雙親的性質,可以很快得到每個結點的雙親結點,但求結點的孩子時則需要遍歷整個結構。
  • 圖示:如下圖所示,展示了樹的雙親表示法及其指針圖示。

在這里插入圖片描述

注意事項
  • 順序存儲結構與鏈式存儲結構:樹的順序存儲結構中,數組下標代表結點的編號,下標中所存的內容指示了結點之間的關系。而在二叉樹的順序存儲結構中,數組下標既代表了結點的編號,又指示了二叉樹中各結點之間的關系。
  • 存儲結構選擇:二叉樹屬于樹,因此二叉樹也可用樹的存儲結構來存儲,但樹卻不都能用二叉樹的存儲結構來存儲。

孩子表示法和孩子兄弟表示法

孩子表示法
  • 定義:孩子表示法是將每個結點的孩子結點視為一個線性表,且以單鏈表作為存儲結構,則 n n n 個結點就有 n n n 個孩子鏈表(葉結點的孩子鏈表為空表)。
  • 特點 n n n 個頭指針又組成一個線性表,為便于查找,可采用順序存儲結構。
  • 圖示:下圖的是樹的孩子表示法。

在這里插入圖片描述

孩子兄弟表示法
  • 定義:孩子兄弟表示法也稱二叉樹表示法,即以二叉鏈表作為樹的存儲結構。每個結點包括三部分內容:結點值、指向結點第一個孩子結點的指針,以及指向結點下一個兄弟結點的指針(沿此域可以找到結點的所有兄弟結點)。
  • 圖示:下圖的是樹的孩子兄弟表示法。
  • 優點:孩子兄弟表示法比較靈活,其最大的優點是可以方便地實現樹轉換為二叉樹的操作,易于查找結點的孩子等,但缺點是從當前結點查找其雙親結點比較麻煩。

在這里插入圖片描述

存儲結構選擇
  • 孩子表示法:尋找孩子的操作非常方便,而尋找雙親的操作則需要遍歷 n n n 個結點中孩子鏈表指針域所指向的 n n n 個孩子鏈表。
  • 孩子兄弟表示法:若為每個結點增設一個 parent 域指向其父結點,則查找結點的父結點也很方便。

樹、森林與二叉樹的轉換

樹轉為二叉樹

轉換規則

樹轉換為二叉樹的規則是:每個結點的左指針指向它的第一個孩子,右指針指向它在樹中的相鄰右兄弟,這個規則又稱為“左孩子右兄弟”。由于根結點沒有兄弟,因此轉換得到的二叉樹沒有右子樹。

轉換方法
  1. 在兄弟結點之間加一連線:將樹中每個結點的兄弟結點通過連線連接起來。
  2. 保留第一個孩子的連線:對每個結點,只保留它與第一個孩子的連線,而與其他孩子的連線全部抹掉。
  3. 旋轉樹結構:以樹根為軸心,順時針旋轉45°。
轉換性質
  • 二叉樹和樹都可以用二叉鏈表作為存儲結構。
  • 從物理結構上看,樹的孩子兄弟表示法與二叉樹的二叉鏈表表示法是相同的,因此可以用同一存儲結構的不同解釋將一棵樹轉換為二叉樹。
轉換示例

下圖展示了樹與二叉樹的對應關系,通過上述轉換規則和方法,可以將樹轉換為二叉樹。

在這里插入圖片描述

森林轉為二叉樹

將森林轉換為二叉樹的規則與樹類似。先將森林中的每棵樹轉換為二叉樹,由于任意一棵樹對應的二叉樹的右子樹必空,森林中各棵樹的根也可視為兄弟關系,將第二棵樹對應的二叉樹當作第一棵二叉樹根的右子樹……以此類推,就可以將森林轉換為二叉樹。

轉換方法
  1. 將森林中的每棵樹轉換成相應的二叉樹。
  2. 每棵樹的根也可視為兄弟關系,在每棵樹的根之間加一根連線。
  3. 以第一棵樹的根為軸心順時針旋轉45°。
二叉樹轉換為森林

二叉樹轉換為森林的規則:若二叉樹非空,則二叉樹的根及其左子樹為第一棵樹的二叉樹形式,所以將根的右鏈斷開。二叉樹根的右子樹又可視為一個由除第一棵樹外的森林轉換后的二叉樹,應用同樣的方法,直到最后只剩一棵沒有右子樹的二叉樹為止,最后將每棵二叉樹依次轉換成樹,就得到了原森林。

二叉樹轉換為樹或森林是唯一的。

在這里插入圖片描述

樹和森林的遍歷

樹的遍歷

遍歷定義

樹的遍歷是指用某種方式訪問樹中的每個結點,且僅訪問一次。主要有兩種方式:

先根遍歷
  • 若樹非空,先訪問根結點。
  • 再依次遍歷根結點的每棵子樹,遍歷子樹時仍遵循先根后子樹的規則。
  • 其遍歷序列與這棵樹相應二叉樹的先序序列相同。
后根遍歷
  • 若樹非空,先依次遍歷根結點的每棵子樹,遍歷子樹時仍遵循先子樹后根的規則。
  • 再訪問根結點。
  • 其遍歷序列與這棵樹相應二叉樹的中序序列相同。
遍歷序列
  • 下圖的樹的先根遍歷序列為 A B E F C D G ABEFCDG ABEFCDG,后根遍歷序列為 E F B C G D A EFBCGDA EFBCGDA
  • 另外,樹也有層次遍歷,與二叉樹的層次遍歷思想基本相同,即按層序依次訪問各結點。

在這里插入圖片描述

森林的遍歷

先序遍歷森林

按照森林和樹相互遞歸的定義,可得到森林的兩種遍歷方法。先序遍歷森林的規則如下:

  1. 訪問森林中第一棵樹的根結點。
  2. 先序遍歷第一棵樹中根結點的子樹森林。
  3. 先序遍歷除去第一棵樹之后剩余的樹構成的森林。
中序遍歷森林

中序遍歷森林的規則如下:

  1. 中序遍歷森林中第一棵樹的根結點的子樹森林。
  2. 訪問第一棵樹的根結點。
  3. 中序遍歷除去第一棵樹之后剩余的樹構成的森林。
    下圖的森林的先序遍歷序列為 A B C D E F G H I J ABCDEFGHIJ ABCDEFGHIJ,中序遍歷序列為 B C D A F E H I G BCDAFEHIG BCDAFEHIG

在這里插入圖片描述

森林與二叉樹遍歷方法的對應關系

當森林轉換成二叉樹時,其第一棵樹的子樹森林轉換成左子樹,剩余樹的森林轉換成右子樹,可知森林的先序和中序遍歷即為其對應二叉樹的先序和中序遍歷。

下表樹和森林的遍歷與二叉樹遍歷的對應關系
森林二叉樹
先根遍歷先序遍歷先序遍歷
后根遍歷中序遍歷中序遍歷
注意事項

部分教材也將森林的中序遍歷稱為后序遍歷,稱中序遍歷是相對其二叉樹而言的,稱后序遍歷是因為根確實是最后才訪問的,若遇到這兩種稱謂,則可理解為同一種遍歷方法。

四、參考資料

鮑魚科技課件

b站免費王道課后題講解:
在這里插入圖片描述

網課全程班:
在這里插入圖片描述

26王道考研書

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

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

相關文章

【HarmonyOS Next之旅】DevEco Studio使用指南(六)

目錄 1 -> 在模塊中添加Ability 1.1 -> Stage模型添加UIAbility 1.1.1 -> 在模塊中添加UIAbility 1.1.2 -> 在模塊中添加Extension Ability 2 -> 創建服務卡片 2.1 -> 概述 2.2 -> 使用約束 2.3 -> 創建服務卡片 2.4 -> 創建動態/靜態卡片…

Langchain 多模態輸入和格式化輸出

多模態輸入 圖片處理&#xff08;最高頻&#xff09; 1.1 URL形式&#xff08;推薦大文件&#xff09; from langchain.schema import HumanMessage from langchain.chat_models import ChatOpenAIchat ChatOpenAI(model"gpt-4-vision-preview")message HumanMes…

Excel多級聯動下拉菜單的自動化設置(使用Python中的openpyxl模塊)

1 主要目的 在Excel中&#xff0c;經常會遇到需要制作多級聯動下拉菜單的情況&#xff0c;要求單元格內填寫的內容只能從指定的多個選項中進行選擇&#xff0c;并且需要設置多級目錄&#xff0c;其中下級目錄的選項內容要根據上級目錄的填寫內容確定&#xff0c;如下圖所示&am…

3.25-1 postman執行+弱網測試

1.導出json腳本 2.打包json文件 3.下載的文件 二 .導入腳本 選擇文件 點擊導入 導入的接口 三.多接口運行 &#xff08;1&#xff09;集合右鍵&#xff0c;點擊run &#xff0c;運行多個接口 2.編輯環境&#xff0c;集合&#xff0c;執行次數等 運行多個接口 四.運行多個接口…

Pear Admin Flask 開發問題

下載代碼請復制以下命令到終端執行 git clone https://gitee.com/pear-admin/pear-admin-flask 于是我下載git 完成安裝后&#xff1a; 安裝 Git 后出現的頁面是 “Git for Windows 的版本發布說明&#xff08;Release Notes&#xff09;”&#xff0c;通常會在安裝完成后自動彈…

12-scala樣例類(Case Classes)

例類&#xff08;Case classes&#xff09;和普通類差不多&#xff0c;只有幾點關鍵差別&#xff0c;接下來的介紹將會涵蓋這些差別。樣例類非常適合用于不可變的數據。 定義一個樣例類 一個最簡單的樣例類定義由關鍵字case class&#xff0c;類名&#xff0c;參數列表&#…

cmakelist中添加opencv

版本選擇 qt的msvc&#xff0c;版本2019 opencv版本 4.5.3 配置了環境變量 x64下的v14中的bin 配置頭文件 {"configurations": [{"name": "Win32","includePath": ["${workspaceFolder}","d:\\QT\\6.5.3\\msvc20…

【C語言】文件操作(詳解)

個人主頁 今天我們來講一下有關文件的相關操作&#xff0c;希望看完這篇文章對你有所幫助&#xff0c;大力感謝你對博主的支持&#xff01; 文章目錄 ?一、為什么使用文件&#x1f389;二、什么是文件2.1 程序文件2.2 數據文件2.3 文件名 &#x1f3a1;三、二進制文件和文本…

基于web的家政服務網站

內容摘要 由于互聯網的使用&#xff0c;人們在管理、應用、服務等領域使用數據更加簡潔、方便&#xff0c;大大提高了工作效率。互聯網正逐漸融入我們的生活&#xff0c;影響和改變我們的生活。 家政服務管理系統是典型的信息管理系統&#xff08;MIS&#xff09;。其開發主要…

【leetcode hot 100 739】每日溫度

解法一&#xff1a;暴力解法 class Solution {public int[] dailyTemperatures(int[] temperatures) {int ntemperatures.length; // 指向要找下一個更高溫度的地方int[] result new int[n];for(int left0;left<n;left){int rightleft1; // 指向正在找最高溫度的地方wh…

藍橋杯C++基礎算法-0-1背包(優化為一維)

這段代碼實現了0-1 背包問題的動態規劃解法&#xff0c;并且使用了滾動數組來優化空間復雜度。以下是代碼的詳細思路解析&#xff1a; 1. 問題背景 給定 n 個物品&#xff0c;每個物品有其體積 v[i] 和價值 w[i]&#xff0c;以及一個容量為 m 的背包。目標是選擇物品使得總價值…

算法 | 麻雀搜索算法原理,公式,改進算法綜述,應用場景及matlab完整代碼

一、麻雀搜索算法(SSA)原理 1. 算法基礎 麻雀搜索算法(Sparrow Search Algorithm, SSA)是2020年提出的一種群體智能優化算法,靈感來源于麻雀群體的覓食與反捕食行為。算法將麻雀分為三類角色:發現者(Producer):適應度最高,負責探索全局最優區域;加入者(Follower)…

SQL 版本歷史

SQL&#xff08;Structured Query Language&#xff09;是一種用于管理和操作關系數據庫的標準語言。SQL標準由多個組織制定和維護&#xff0c;主要包括以下幾個版本&#xff1a; SQL-86 (SQL-87): 這是SQL的第一個官方標準&#xff0c;由ANSI&#xff08;美國國家標準協會&…

CAT1模塊 EC800M HTTP 使用后續記錄

記錄一下 CAT1 模塊EC800 HTTP 使用后續遇到的問題 by 矜辰所致目錄 前言一、一些功能的完善1.1 新的交互指令添加1.2 連不上網絡處理 二、問題出現三、分析及解決3.1 定位問題3.2 問題分析與解決3.2.1 查看變量在內存中的位置 3.3 數據類型說明3.3.1 常用格式化輸出符號…

單純形法之大M法

1. 問題背景與標準化 在求解某些線性規劃問題時&#xff0c;往往難以直接找到初始的基本可行解。特別是當約束中存在等式或 “≥” 類型的不等式時&#xff0c;我們需要引入人工變量來構造一個初始可行解。 考慮如下標準形式問題&#xff08;假設為最大化問題&#xff09;&am…

Springboot集成Debezium監聽postgresql變更

1.創建springboot項目引入pom <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>io.debezium</groupI…

報錯 standard_init_linux.go:228: exec user process caused: exec format error

docker logs 容器名 報錯&#xff1a; standard_init_linux.go:228: exec user process caused: exec format error 或者 standard_init_linux.go:228: exec user process caused: input/output error 排查思路 1、檢查源鏡像的框架是否正確&#xff0c;是否amd64&#x…

Go 代理爬蟲

現在注冊&#xff0c;還送15美金注冊獎勵金 --- 亮數據-網絡IP代理及全網數據一站式服務商 使用代理服務器&#xff0c;通過 Colly、Goquery、Selenium 進行網絡爬蟲的基礎示例程序 本倉庫包含兩個分支&#xff1a; basic 分支包含供 Go Proxy Servers 這篇文章改動的基礎代碼…

STM32實現智能溫控系統(暖手寶):PID 算法 + DS18B20+OLED 顯示,[學習 PID 優質項目]

一、項目概述 本文基于 STM32F103C8T6 單片機&#xff0c;設計了一個高精度溫度控制系統。通過 DS18B20 采集溫度&#xff0c;采用位置型 PID 算法控制 PWM 輸出驅動 MOS 管加熱Pi膜&#xff0c;配合 OLED 實時顯示溫度數據。系統可穩定將 PI 膜加熱至 40℃&#xff0c;適用于…

neo4j知識圖譜常用命令

1. 查看所有節點和關系 如果你想查看圖數據庫中的所有節點和關系&#xff0c;可以使用以下查詢&#xff1a; Cypher 深色版本 MATCH (n)-[r]->(m) RETURN n, r, m n 和 m 表示節點。r 表示兩個節點之間的關系。這條命令會返回所有節點及其直接相連的關系。 2. 查看所有節…