日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

我是一棵“树”

發布時間:2023/12/3 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 我是一棵“树” 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載自?我是一棵“樹”

?

我是一顆樹,之前我們數據結構家族中的一個小朋友——“棧” 已經給你們介紹過的我們這個家族了(我是一個“棧”)。之所以叫棧為小朋友,是因為我和他的爸爸——數組是平輩的。

之所以存在我們這樣一個家庭,最主要的原因是數組他們家庭雖然很強大,但是有一定的局限性。大家都知道,無論是數組、鏈表以及他們家的那幾個小娃娃(棧、隊列)等,存儲的數據之間都只有簡單的前后順序關系。

既然說到這了,那就在給你們科普一下整個數據結構大家族吧。畢竟你們認識的那個“棧”只是個小晚輩,對我們家族的歷史什么的都不是很了解。

數據結構家族

數據結構,主要有兩個作用,第一個是存儲數據,第二個是可以反應所存儲的數據之間的邏輯關系,注意,邏輯關系并不是他們在計算機中存儲的物理位置關系哦。所以,根據大家存儲的數據的邏輯結構的不同,主要可以分為這個幾個大的分支:

  • 集合?

他們家幫別人存儲的數據之間什么關系都沒有,唯一的關系可能就是同處于同一個集合了。

  • 線性結構

    他們家呢,幫別人存儲的數據之間是有順序的,數據之間在邏輯上是首尾相接的連續保存的。所以,元素之間存在著一對一的關系。比如你們認識的數組家族,就是線性結構的。

  • 樹形結構?

嘿,這就是我們的家族分支啦,我們存儲元素存在著一對多的相互關系。

  • 圖形結構?

圖形結構分支是一種復雜的數據結構。數據元素間的關系是任意的。任意兩個數據元素間均可相關聯。

大家了解的數組、隊列、棧、鏈表他們都屬于線性結構的分支的。今天的主角,也就是我和我的“樹”家族是樹形結構這個大的分支中的。

也許你已經猜到了,我是整個數據結構大家族的樹形結構這一分支的族長。作為一個龐大的家族分支,我們當然具備整個數據結構家族的基本功能——數據存儲。另外,整個樹形分支主要用來保存具有樹形結構的數據集合。說的白一點,就是我們幫別人存儲的數據是有層次關系的。就像自然界中的一顆倒置的樹一樣。

先來說下找我們保存數據的一些限制和要求吧。我們幫別人保存的每個元素我們稱之為節點,而我們一般有一個特定的結點被稱為根節點,其余的結點都叫非根節點。下面給你看一顆標準的樹,然后通過這張圖,再來介紹下什么是葉節點、父節點等概念。

H節點是O和L的父節點,O和L是H節點的子節點。

H節點是根節點,因為他沒有父節點。?

I、S和L節點是葉結點,因為他們沒有子節點。?

I和S是兄弟節點,因為他們的父節點都是O節點。

好了,說好了這些了,該帶你見一見我的家族成員了。作為數據結構的樹家族的大家族,我有很多后代。先來給你看下我的家譜:

我有兩個兒子:大兒子有序樹、小兒子無序樹。大兒子是家族的頂梁柱,承擔起了家族的很多工作。而我的小兒子,就是一個比較自由的孩子,無憂無慮的什么也不管,所以大家有時候也叫他自由樹。

先來說說這個我十分寵愛的小兒子——無序樹。

?

無序樹

無序樹,他也是個樹形結構,除了樹中的父子節點之間有關系以外,同一個父節點的所有子節點之間是沒關系的,在樹中,這種關系就是順序,比如誰在前誰在后。所以,他叫無序樹。另外,我的這個小兒子由于太過自由,至今都沒給我生出個娃娃來。所以,我的小兒子是個孤家寡人。

再來詳細說說他的數據存儲方面的事情,前面說了,他存儲的數據之間只有父子節點間有關系。如果你讓他幫你存儲A、B、C三個數據的話,1個父節點,2個子結點的情況有 3 種。

無論兩個子節點位置關系如何,都是同一棵樹。即A-B-C和A-C-B被認為是同一棵樹。

?

有序樹

再來介紹一下我的大兒子,整個樹家的順位繼承人。他真的做到了一個長子應該做的所有事情,他和他的孩子們幾乎包攬了樹家族的所有工作內容。

他和無序樹的區別比較明顯,就是在有序數中,子節點之間是有順序關系的。如果你讓我的大兒子幫你存儲A、B、C三個數據的話,1個父節點,2個子結點的情況有 6 種。

只要兩個節點的順序掉換一下,又是一個新的樹。A-B-C和A-C-B被認為是兩棵不同的樹。

從上面的家族圖譜中可以發現,我的大兒子有序樹也有很多孩子的。其中我比較出名的三個孫子分別是二叉樹、霍夫曼樹和B樹等。

現在的年輕人,都很有個性的,幫別人存儲數據的時候都有很多要求呢,不過也好,年輕人嘛,就應該有點性格。也得益于他們的各自的特性,樹家族才能如此強大。

關于有序樹的幾個晚輩的介紹,后面讓他們自己來吧,我這把老骨頭說了這么多也累了。

?

總結

以上是生活随笔為你收集整理的我是一棵“树”的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。