<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          數(shù)據(jù)結(jié)構(gòu)中的節(jié)點到底是啥?

          共 1241字,需瀏覽 3分鐘

           ·

          2021-12-18 17:28

          很多人剛開始學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的時候,都有這種感覺,我看概念的話覺得都懂了,但是真的讓我去實現(xiàn),自己寫代碼的話就會感到無從下手。


          這其實也是我們學(xué)習(xí)編程都會遇到的一個問題,就是我看視頻或者看書覺得自己都可以看得懂啊,但是讓自己寫代碼的話卻寫不出來,所以啊,你看的懂和能寫出來完全是兩碼事。


          所以啊,平常學(xué)習(xí)編程一定要多敲代碼


          很多人在接觸鏈表也就是鏈式存儲這塊的時候,會迷惑這個節(jié)點咋表示啊,有點抽象啊,還有指針指向,這些看起來比較抽象,用代碼?怎么搞???


          就拿數(shù)據(jù)結(jié)構(gòu)中的二叉搜索樹來說吧,我們要實現(xiàn)它的很重要的一步就是要確定這個節(jié)點怎么表示啊,這個怎么搞啊,有點懵啊,我們先來看畫圖怎么表示的,比如這里有一個二叉搜索樹:



          你就比如這個,我們該怎么用代碼表示呢?


          節(jié)點該怎么表示


          首先啊,你看,我們直觀來看,是不是每個節(jié)點是一個數(shù)據(jù),然后還有指針指向,就是那些箭頭,所以最基本的一個節(jié)點包括


          1. 數(shù)據(jù)元素

          2. 箭頭(也就是指針,一個節(jié)點有兩個)


          簡單來看是不是就是這些,要記住,這是節(jié)點包含這些內(nèi)容,那么這個節(jié)點是一個整塊的內(nèi)容,該怎么表示,在java中不就可以使用一個類來表示嘛,也即是這樣:


          class Node {
          ? ? ? ?

          ? }

          然后就是包含的里面的東西,首先是數(shù)據(jù),這個數(shù)據(jù)這里暫定為整型類型,然后我們在類里面定義這個數(shù)據(jù)元素:


          class Node {
          ? ? ? ?int element;
          ? }

          接下來就是數(shù)據(jù)指針的表示了,很多人會疑惑這個該怎么表示,你想啊,這個指針指向的不也是個節(jié)點嘛,這里的節(jié)點已經(jīng)是個Node對象了,那么一個節(jié)點里面保存的指針不就是指向另外一個節(jié)點嘛,這不就是保存的另一個對象的引用地址嘛,所以我們可以直接在類里面聲明節(jié)點對象,也即是這樣:


          class Node {
          ? ? ? ?int element;
          ? ? ? ?Node left;
          ? ? ? ?Node right;
          ? ? ? ?Node parent;
          ? }

          咋樣,是不是看明白了,然后這里還需要記錄一個父節(jié)點,因為后續(xù)的插入啥的要根據(jù)父節(jié)點來操作,然后我們還需要添加構(gòu)造函數(shù):


          class Node {
          ? ? ? ?int element;
          ? ? ? ?Node left;
          ? ? ? ?Node right;
          ? ? ? ?Node parent;
          ? ? ? ?public Node(int element,Node parent) {
          ? ? ? ? ? ?this.element = element;
          ? ? ? ? ? ?this.parent = parent;
          ? ? ? }
          ? }

          如此一來,我們就表示了二叉搜索樹的節(jié)點。

          瀏覽 189
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  乱伦电影影音先锋 | www.4438AV | 无码野外| 免费亚洲视频在线观看 | 中文字幕亚洲高清 |