• <del id="a8uas"></del>
    • 千鋒教育-做有情懷、有良心、有品質的職業教育機構

      400-811-9990
      手機站
      千鋒教育

      千鋒學習站 | 隨時隨地免費學

      千鋒教育

      掃一掃進入千鋒手機站

      領取全套視頻
      千鋒教育

      關注千鋒學習站小程序
      隨時隨地免費學習課程

      上海
      • 北京
      • 鄭州
      • 武漢
      • 成都
      • 西安
      • 沈陽
      • 廣州
      • 南京
      • 深圳
      • 大連
      • 青島
      • 杭州
      • 重慶
      當前位置:合肥千鋒IT培訓  >  技術干貨  >  堆和樹有什么區別?

      堆和樹有什么區別?

      來源:千鋒教育
      發布人:xqq
      時間: 2023-10-15 07:58:03

      一、堆和樹的區別

      1、節點的順序

      在二叉搜索樹中,左子節點必須比父節點小,右子節點必須必比父節點大。但是在堆中并非如此。在最大堆中兩個子節點都必須比父節點小,而在最小堆中,它們都必須比父節點大。

      2、內存占用

      普通樹占用的內存空間比它們存儲的數據要多。你必須為節點對象以及左/右子節點指針分配額外內存。堆僅僅使用一個數據來存儲數組,且不使用指針。

      3、平衡

      二叉搜索樹必須是“平衡”的情況下,其大部分操作的復雜度才能達到O(log n)。你可以按任意順序位置插入/刪除數據,或者使用 AVL 樹或者紅黑樹,但是在堆中實際上不需要整棵樹都是有序的。我們只需要滿足對屬性即可,所以在堆中平衡不是問題。因為堆中數據的組織方式可以保證O(log n) 的性能。

      4、搜索

      在二叉樹中搜索會很快,但是在堆中搜索會很慢。在堆中搜索不是名列前茅優先級,因為使用堆的目的是將最大(或者最小)的節點放在最前面,從而快速的進行相關插入、刪除操作。

      延伸閱讀:

      二、堆排序(Heap Sort)

      堆排序的基本思想是:將待排序序列構造成一個大頂堆,此時,整個序列的最大值就是堆頂的根節點。將其與末尾元素進行交換,此時末尾就為最大值。然后將剩余n-1個元素重新構造成一個堆,這樣會得到n個元素的次大值。如此反復執行,便能得到一個有序序列了。

      1.構造初始堆。將給定無序序列構造成一個大頂堆(一般升序采用大頂堆,降序采用小頂堆)。

      看堆頂的序號,來判斷名列前茅個非葉子節點的索引。這點很重要!

      2.此時我們從最后一個非葉子結點開始,從左至右,從下至上進行調整。

      調整就是找每個非葉子節點的葉子節點是不是比他大,把大的交換上來,這一層交換結束再交換上一層,直到使根節點即堆頂元素為最大值。

      這里要注意,如果上一層交換之后,當前層又不滿足堆的要求,繼續交換。

      3. 將堆頂元素與末尾元素進行交換,使末尾元素最大。然后繼續調整堆,再將堆頂元素與末尾元素交換,得到第二大元素。如此反復進行交換、重建、交換。

      也就是說每一層堆頂與末尾交換,都能得到一個當前的最大值,放在有序數組的最后面相當于!然后從后往前填充為有序數組。

      再簡單總結下堆排序的基本思路:

      a.將無需序列構建成一個堆,根據升序降序需求選擇大頂堆或小頂堆;

      b.將堆頂元素與末尾元素交換,將最大元素”沉”到數組末端;

      c.重新調整結構,使其滿足堆定義,然后繼續交換堆頂元素與當前末尾元素,反復執行調整+交換步驟,直到整個序列有序。

      聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。

      猜你喜歡LIKE

      制作大型軟件一般選用什么類型的數據庫以保護數據安全?

      2023-10-15

      access數據庫中,查詢設計怎么規定小數位數?

      2023-10-15

      云文件存儲有哪些用途?

      2023-10-15

      最新文章NEW

      怎么樣用django將后臺數據庫表里面的內容以Excel表格的形式顯示到網頁中?

      2023-10-15

      數據庫Union連接兩張表之前,怎么判斷要連接的另一張表是否存在?

      2023-10-15

      數據集市有哪些類型??

      2023-10-15

      相關推薦HOT

      更多>>

      快速通道 更多>>

      最新開班信息 更多>>

      網友熱搜 更多>>