Can you summarize the following document?
        
  斐波那契堆是由一組最小堆有序樹構成的。每個節點的度數為其子節點的數目。樹的度數為其根節點的度數。  斐波那契堆中的樹都是有根的但是無序。每個節點"x"包含指向父節點的指標"p[x]"和指向任意一個子結點的"child[x]"。x的所有子節點都用雙向迴圈連結串列連結起來,叫做"x"的子連結串列。子連結串列中的每一個節點"y"都有指向它的左兄弟的"left[y]"和右兄弟的"right[y]"。如果節點"y"是"x"僅有的子節點,則"left[y]=right[y]=y"。  斐波那契堆中所有樹的根節點也用一個雙向迴圈連結串列連結起來。  使用一個指標指向斐波那契堆中最小元素。

  

  此處範例中使用的程式語言為C  每個結點x的域 //斐波那契結點ADT  對於一個給定的斐波那契堆H,可以通過指向包含最小關鍵字的樹根的指標min[H]來訪問,這個結點被稱為斐波那契堆中的最小結點。如果一個斐波那契堆H是空的,則min[H] = NIL. 在一個斐波那契堆中,所有樹的根都通過left和right指標連結成一個環形的雙向連結串列,稱為堆的根表。於是,指標min[H]就指向根表中具有最小關鍵字的結點。  建立一個空的斐波那契堆,過程MAKE-FIB-HEAP 分配並返回一個斐波那契堆物件H;

  建立一個僅包含一個節點的新的斐波納契堆,然後執行堆合併。

  由於用一個指標指向了具有最小值的根節點,因此查詢最小的節點是簡單的操作。

  簡單合併兩個斐波納契堆的根表。即把兩個斐波納契堆的所有樹的根首尾銜接並置。

  分為三步:

  對一個節點的鍵值降低後,自鍵值降低的節點開始自下而上的迭代執行下述操作,直至到根節點或一個未被標記(marked)節點為止:  如果當前節點鍵值小於其父節點的鍵值,則把該節點及其子樹摘下來作為堆的新樹的根節點;其原父節點如果是被標記(marked)節點,則也被摘下來作為堆的新樹的根節點;如果其原父節點不是被標記(marked)節點且不是根節點,則其原父節點被加標記。  如果堆的新樹的根節點被標記(marked),則去除該標記。

  把被刪除節點的鍵值調整為負無窮小,然後執行“降低一個節點的鍵值”演算法,然後再執行“刪除最小節點”演算法。
斐波那契堆(Fibonacci heap)是電腦科學中樹的集合。它比二項堆具有更好的平攤分析效能,可用於實現合併優先佇列。不涉及刪除元素的操作有O(1)的平攤時間。 Extract-Min和Delete的數目和其它相比,較小時效率更佳。稠密圖每次decrease key只要O(1)的平攤時間,和二項堆的O(lg n)相比是巨大的改進。