国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

樹的遞歸結構和樹的存儲結構分析

454398 ? 來源:機器之心 ? 作者:小小 ? 2020-10-16 14:33 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

樹的遞歸結構

從一張圖中解釋什么是樹

這張圖,主要講解關于cart這個單詞的所有的可能組合,按照常理,需要先考慮三個字母的排列,然后對三個字母進行拆分,直到最后一個節點,這個過程就類似于樹 到底什么是樹

什么是樹

樹是節點集合(A tree is a collection of nodes),

集合:集合是允許一個元素都沒有的集合,稱之為空集。

首先,集合是允許一個元素都沒有的集合,稱之為空集,那么書是不是也允許一個節點都沒有的呢,是的,一個節點都沒有的樹,稱之為空樹,如果不是空的,則會存在根節點r和零個或更多非空子樹,T1,T2.。。Tk,他們的根由來自r的有向連接,什么叫有向邊,大致可以理解為箭頭。用圖的關系說明樹的內部關系

根節點(root)一棵樹只有一個跟節點,所有的節點都在該節點的下面,嘗試把圖倒過來看,可以看成一個我們日常見到的數的根部,在這里顯然字母A就是這顆樹的根節點。

子節點,父節點,一個節點,它對應的下面有連這的節點,那么被連著的節點就是這個節點的子節點,也叫做孩子,那么這個節點叫做被連接的節點的父親,看圖,B被A連這,所以B是A的一個孩子,同理,CDE等等這一行都是A的孩子,同時F,它連這K L M 同時被A連這,那么F是A的一個孩子,同時又是K L M 的父親。

樹葉:樹葉就是那些沒有孩子的節點,比如B,C,D等等,例如下圖的綠色部分。

兄弟: 按照我們的理解,同一個父母生的當然是兄妹,如下圖所示,顏色相同的都是兄妹

路徑 我們同樣可以定義從父親到他孩子的路徑,下面的路徑,我們就取上圖的一部分,一個子樹,作為例子

比如,A->O的路徑為A->E->J->O它的長度為3,實際為它的邊數,圖中紅色的部分。

節點的深度:節點的深度指的是節點到樹根的長度,看下圖,我們可以輕易的知道,j節點的深度為2,可以理解為 A-> E -> J 邊長為2.顯然,此時根節點的深度為0.

節點的高度:高度是從節點到葉子的最長路徑,比如節點F的高度為1,顯然所有葉子節點高度為0.

樹的高度,樹的高度是跟的高度,顯然在這圖中,樹的高度為3,A->O

樹的特點

按照正常的邏輯,一個人不能同時有兩個父親,所以樹也一樣,下圖的兩個就解釋了這個問題

一顆正常的樹,它的樹枝是不會長成一個圓的,所以,樹中,是不可能出現環形的。圖中,紅色箭頭構成了一個環,所以都不是一顆樹。

樹的存儲結構

樹的存儲結構有三種,分別為,雙親表示法,孩子表示法,孩子兄弟表示法。

雙親表示法

假設一組連續空間保存著樹的特點,同時在每個節點中,附帶一個指示器表示雙親節點中鏈表的為位置,也就是說,每個節點除了知道自己是誰以外,還知道他的雙親在哪里。

其中data是數據域,存儲結點的數據信息。而parent是指針域,存儲該結點的雙親在數組中的下標。

//樹的雙親表示法結點結構定義
#define MAX_TRUE_SIZE 100
typedef int TElemType //樹結點的數據類型

//結點結構
typedef struct PTNode   
{
	TElemType data;  //結點數據
	int parent;   	//雙親位置
}PTNode

//樹結構
typedef struct
{
	PTNode nodes[MAX_TRUE_SIZE];  //結點數組
	int r,n     //根的位置和結點數
}PTree

有了這樣的數據結構就可以來實現雙親表示法。由于根結點是沒有雙親的,所以我們約定根結點的位置域設置為-1,這也就意味著,我們所有的結點都存有他雙親的位置。如圖1-2中的樹結構和表1-3中的樹雙親表示。

這樣的存儲結構,我們可以根據結點的parent’指針很容易找到他的雙親結點,時間復雜度為O(1),直到parent為-1時,表示找到了樹結點的根

孩子表示法

換一種完全不同的考慮方法,由于樹中每個結點可能有多棵子樹,可以考慮用多重鏈表。每個結點有多個指針域,其中每個指針指向一顆子樹的根結點,我們把這種方法叫做多重鏈表的表示方法。不過,樹的每個結點的度,也就是他的孩子個數是不同的,所以設計兩種方法:

方案一

指針域的個數就等于樹的度,樹的度就是樹各個結點度的最大值。其結構如圖

其中data是數據域,child1到childd是指針域,用來指向該結點的孩子結點。對于圖1-1來說,樹的度是3,所以我們指針域個數就是3,

方案二

每個結點指針域的個數等于該結點的度,我們專門取一個位置來存儲結點指針的個數。

data為指針域,degree為度域,也就是存儲該結點的孩子結點的個數

這就是我們要說的孩子表示法,把每個結點的孩子都排列起來,以單鏈表為存儲結構,則n個結點有n個孩子鏈表,如果是葉子結點則此單鏈表為空。然后n個頭指針又組成一個線性表,采用順序存儲結構,存放進一個一維數組,

為此,設計兩種存儲結構,一個是孩子鏈表的孩子結點,

child是數據域,用來存儲某個結點在表頭數組中的下標。next是指針域,用來存儲指向結點的下一個孩子結點的指針。另一個是表頭數組的表頭結點。

data是數據域,存儲某結點的數據信息,firstchild是頭指針域,存儲該結點的孩子鏈表的頭指針。

//樹的孩子表示法結構定義
#define MAX_TRUE_SIZE 100
typedef struct CTNode  //孩子結點
{
	int child;
	struct CTNode *next;
}*ChildPtr;
//表頭結構
typedef struct
{
	TElemType data;
	ChildPtr firstchild;
}CTBox;
//樹結構
typedef struct
{
	CTBox nodes[MAX_TRUE_SIZE];  //結點數組
	int r,n;               //根的位置和結點數
}CTree

把把雙親表示法和孩子表示法綜合一下表示如下

這種表示法叫做雙親孩子表示法,應該算是孩子表示法的改進。

孩子兄弟表示法

任一棵樹,它的結點的第一個孩子如果存在就是唯一的,它的右兄弟如果存在也是唯一的。因此。我們設置兩個指針,分別指向該結點的第一個孩子和此結點的右兄弟。

data是數據域,fitstchild為指針域,存儲該結點的第一個孩子結點的存儲地址,rightsib是指針域,存儲該結點的右兄弟結點的存儲位置。

//孩子兄弟表示法結構定義
typedef struct CSDNode
{
	TElemType data;
	struct CSNode *firstchild,*rightsib;
}CSNode,*CSTree;

這種方法的示意圖如下所示

這種表示法,給查找某個結點的某個孩子帶來了方便,只需要通過firstchild找到此結點的長子,然后在通過長子結點的rightsib找到它的二弟,接著一直找下去,直到找到具體的孩子。
編輯:hfy

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據結構
    +關注

    關注

    3

    文章

    573

    瀏覽量

    41584
  • 存儲結構
    +關注

    關注

    0

    文章

    21

    瀏覽量

    9945
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    安森美工業圖像傳感器電源的作用和特性要求

    為圖像傳感器系統選擇合適的電源管理元器件時, 需借助一種稱為電源( power tree) 的架構設計工具。 通過仔細研讀各器件規格書,并按正確順序推導公式, 可確保為電源選配恰當的穩壓器件。
    的頭像 發表于 02-27 15:08 ?308次閱讀
    安森美工業圖像傳感器電源<b class='flag-5'>樹</b>的作用和特性要求

    Linux進程分析工具pstree詳解與實戰指南(另一視角優化Linux系統)

    在 Linux 系統開發與運維中,理解進程的運行狀態和相互關系是排查問題、優化性能的基礎。pstree 作為一款輕量高效的進程可視化工具,能直觀展示系統中所有進程的父子關系,為系統分析提供關鍵線索。本文將從基礎用法到實戰優化,全面講解如何利用pstree 掌握系統運行狀
    的頭像 發表于 02-04 16:21 ?718次閱讀
    Linux進程<b class='flag-5'>樹</b><b class='flag-5'>分析</b>工具pstree詳解與實戰指南(另一視角優化Linux系統)

    無線傾角傳感器在古監測中的應用:以科技守護活文物的結構安全

    無線傾角傳感器在古監測中的應用:以科技守護活文物的結構安全
    的頭像 發表于 01-09 11:38 ?651次閱讀
    無線傾角傳感器在古<b class='flag-5'>樹</b>監測中的應用:以科技守護活文物的<b class='flag-5'>結構</b>安全

    E203工程源碼時鐘解析

    我們使用的是芯來科技提供的hbirdv2_E203軟核以及芯來科技MCU200T開發板,板上的FPGA芯片是XILINX的XC7A200T-FBG484。 通過分析頂層模塊MCU200T
    發表于 10-29 07:25

    Verilog實現使用Booth編碼和Wallace的定點補碼乘法器原理

    是Wallace結構和CSA結構的對比。其結構的關鍵特性在于利用不規則的樹形結構對所有的準備好輸入數據的運算及時并行處理。 3.3
    發表于 10-23 08:01

    科技發布H2仿生人形機器人

    就在10月20日會跳舞的機器人來了,宇科技正式發布H2仿生人形機器人,高180cm,重70kg,配以31個關節。在宇科技展示的視頻中,H2仿生人形機器人擺出專業的芭蕾舞動作;看起來非常連貫。
    的頭像 發表于 10-20 17:52 ?1874次閱讀

    廣電計量蒞臨宇科技和云深處科技調研

    日前,廣電計量黨委副書記、總經理明志茂帶隊調研拜訪國內具身智能領域的兩大頭部企業——杭州宇科技股份有限公司(簡稱“宇科技”)和杭州云深處科技有限公司(簡稱“云深處科技”),深入了解機器人
    的頭像 發表于 09-29 14:49 ?872次閱讀

    科技,被起訴

    電子發燒友網綜合報道 天眼查顯示,近日,杭州宇科技股份有限公司(以下簡稱“宇科技”)新增1條開庭公告,原告為杭州露韋美日化有限公司(以下簡稱“露韋美日化”),案由為侵害發明專利權糾紛,該案將于8
    的頭像 發表于 08-26 07:50 ?4919次閱讀
    宇<b class='flag-5'>樹</b>科技,被起訴

    科技預告新款人形機器人:有31個關節

    機器人似乎要搞大事了,宇科技發布了新款人形機器人的海報,雖然配文只有“敬請期待”幾個字,但是根據海報信息顯示新款機器人配備有31個關節(海報顯示是6*2+3+7*2+2)。而且是一個機器人舞者的姿勢。 網友評論稱看來春晚又可以看到宇
    的頭像 發表于 08-19 23:10 ?2020次閱讀

    LABVIEW遞歸獲取列表顯示到樹形結構

    我這個遞歸我邏輯沒問題啊!我斷點調試看了,是因為重入VI執行沒有把樹形結構里面節點傳入到下一個遞歸調用,進入重調用的時候我看了樹形結構里面節點是空的。第一次寫入的節點并沒有傳入到下一次
    發表于 08-07 17:59

    成都匯陽投資關于智元與宇拿下 1.24 億訂單,人形機器人商業化加速

    ? ? ? 中國移動招標 1.24 億元機器人大訂單 ,智元與宇中標 近日 ,智元和宇中標 “ 中移( 杭州) 信息技術有限公司人形雙足機器人代工服務采購項目 ” ,其中智元中標7800萬的全
    的頭像 發表于 08-04 13:43 ?1206次閱讀

    看點:投資方:宇科技或于科創板IPO 美媒:亞馬遜機器人數量接近人類員工 英偉達股價創新高

    給大家帶來一些行業資訊: 投資方:宇科技或于科創板IPO 早在2025年的5月29日,宇科技就正式發布通知稱,因公司發展需要,杭州宇科技有限公司即日起名稱變更為“杭州宇科技股份
    的頭像 發表于 07-04 15:08 ?777次閱讀

    看點:宇科技完成C輪融資 曝Meta洽談聘用Github前CEO 庫克透露今年秋天再來中國

    給大家帶來一些業界資訊消息:比如備受關注的宇科技、蘋果、還有Meta。 宇科技完成C輪融資 近日,據媒體報道,宇科技完成了C輪融資,宇科技的C輪融資由中國移動旗下基金、騰訊、錦
    的頭像 發表于 06-20 15:30 ?854次閱讀

    存儲芯片方案發力,率先適配宇、智元機器人

    的訓練到邊緣AI的應用,需要云端存儲到邊緣端分級存儲方案的支持。據稱,一臺人形機器人至少需要使用48片以上的各種類型存儲芯片。近期來看,多家存儲廠商已經投入到人形機器人的
    的頭像 發表于 05-26 09:21 ?8019次閱讀

    白話理解RCC時鐘(可下載)

    時鐘就像是單片機的“心臟”,單片機正常工作離不開時鐘的支持,下圖是我們單片機的時鐘 ,它反映了單片機的時鐘關系。我們來詳細描述一下時鐘的工作原理。寄存器上電后有一個復位值,大家看我畫紅線的這個
    發表于 03-27 13:50 ?0次下載