二项堆

计算机科学中,二项堆(英語:Binomial heap)是一种类似于二叉堆堆结构。与二叉堆相比,其优势是可以快速合并两个堆,因此它属于可合并堆(mergeable heap抽象数据类型的一种。

二项树

二项树递归定义如下:

  • 度数为0的二项树只包含一个節点
  • 度数为k的二项树有一个根節点,根節点下有个子女,每个子女分别是度数分别为的二项树的根
二项树(从左至右度数分别为0至3

度数为k的二项树共有个節点,高度为。在深度d处有二项式系数)个節点。

度数为k的二项树可以很容易从两颗度数为k-1的二项树合并得到:把一颗度数为k-1的二项树作为另一颗原度数为k-1的二项树的最左子树。这一性质是二项堆用于堆合并的基础。

二项堆

二项堆是指满足以下性质的二项树的集合:

  • 每棵二项树都满足最小堆性质,即節点关键字大于等于其父節点的值
  • 不能有两棵或以上的二项树有相同度数(包括度数为0)。换句话说,具有度数k的二项树有0个或1个。

以上第一个性质保证了二项树的根節点包含了最小的关键字。第二个性质则说明節点数为的二项堆最多只有 棵二项树。实际上,包含n个节点的二项堆的构成情况,由n的二进制表示唯一确定,其中每一位对应于一颗二项树。例如,13的二进制表示为1101, , 因此具有13个节点的二项堆由度数为3, 2, 0的三棵二项树组成:

Example of a binomial heap
示例:一个含13个節点的二项堆

二项堆的操作

由于并不需要对二项树的根節点进行随机存取,因而这些節点可以存成链表结构。

合并

合并分支度相同的二项树
合并两个二项堆示例,实际上把两棵分支度为1的二项树合并为一棵分支度为2的二项树。

最基本的为二个分支度相同的二项树的合并。由于二项树根節點包含最小的关键字,因此在二棵树合并时,只需比较二个根節點关键字的大小,其中含小关键字的節點成为结果树的根節點,另一棵树则变成结果树的子树。

function mergeTree(p, q)
    if p.root <= q.root
        return p.addSubTree(q)
    else
        return q.addSubTree(p)


两个二项堆的合并则可按如下步骤进行:分支度从小取到大,在两个二项堆中如果其中只有一棵树的分支度为,即将此树移动到结果堆,而如果只两棵树的分支度都为,则根据以上方法合并为一个分支度为的二项树。此后这个分支度为的树将可能会和其他分支度为的二项树进行合并。因此,对于任何分支度j,可能最多需要合并3棵二项树。

此操作的时间复杂度为

function merge(p, q)
    while not (p.end() and q.end())
        tree = mergeTree(p.currentTree(), q.currentTree())
        
        if not heap.currentTree().empty()
            tree = mergeTree(tree, heap.currentTree())
        
        heap.addTree(tree)
        heap.next(); p.next(); q.next()

插入

创建一个只包含要插入元素的二项堆,再将此堆与原先的二项堆进行合并,即可得到插入后的堆。由于需要合并,插入操作需要的时间。平摊分析的时间复杂度为

查找最小关键字所在節点

由于满足最小堆性质,只需查找二项树的的根節点即可,因为一共有棵子树,所以用所时间为

可以保存一个指向最小元素的指针,使得查找最小关键字所在節点需要的时间。在执行其他操作时,需要修改该指针。

删除最小关键字所在節点

先找到最小关键字所在節点,然后将它从其所在的二项树中删除,并获得其子树。将这些子树看作(合并为)一个独立的二项堆,再将此堆合并到原先的堆中即可。由于每棵树最多有棵子树,创建新堆的时间为。同时合并堆的时间也为,故整个操作所需时间为

function deleteMin(heap)
    min = heap.trees().first()
    for each current in heap.trees()
        if current.root < min then min = current
    for each tree in min.subTrees()
        tmp.addTree(tree)
    heap.removeTree(min)
    merge(heap, tmp)

减小特定節點(關鍵字)的值(Decreasing a key)

在减小特定節點(關鍵字)的值后,可能会不满足最小堆積性质。此时,将其所在節点与父節点交换,如还不满足最小堆性质则再与祖父節点交换……直到最小堆性质得到满足。操作所需时间为

删除

将需要删除的節点的关键字的值减小到负无穷大(比二项堆中的其他所有关键字的值都小即可),执行“减小关键字的值”算法,使其调整到当前二项树的根节点位置,再删除最小关键字的根節点即可。

运行时间

以下对于二项堆操作的运行时间都为(節點数为):

  • 在二项堆中插入新節点
  • 查找最小关键字所在節点
  • 从二项堆中删除最小关键字所在節点
  • 减小给定節点关键字的值
  • 删除给定節点
  • 合并两个二项堆

参见

参考资料

  • Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein(潘金贵等译). 《算法导论》. 机械工业出版社. 
  • Vuillemin, J. (1978). A data structure for manipulating priority queues. Communications of the ACM 21, 309–314.

外部链接

Read other articles:

Artikel ini perlu diwikifikasi agar memenuhi standar kualitas Wikipedia. Anda dapat memberikan bantuan berupa penambahan pranala dalam, atau dengan merapikan tata letak dari artikel ini. Untuk keterangan lebih lanjut, klik [tampil] di bagian kanan. Mengganti markah HTML dengan markah wiki bila dimungkinkan. Tambahkan pranala wiki. Bila dirasa perlu, buatlah pautan ke artikel wiki lainnya dengan cara menambahkan [[ dan ]] pada kata yang bersangkutan (lihat WP:LINK untuk keterangan lebih lanjut...

Untuk pandangan umum mengenai kitab ini, lihat Injil. Bagian dari seri tentang Pandangan Kristen Kristus Kristologi Nama dan Gelar Riwayat Hidup Injil Keselarasan Injil Petilasan Beribunda Perawan Kelahiran Pembaptisan Karya Pelayanan Khotbah di Bukit Mukjizat Perumpamaan Penistaan Penyaliban Penguburan Kebangkitan Kenaikan Ketaatan Bersemayam di Surga Perantaraan Kedatangan Ke-2 Relikui Isa (Pandangan Islam) Almasih Injil Maryam Hawariyun Wafat Almahdi Hari Kiamat Pusara Latar Belakang Latar...

Tematangi Coordenadas: 21° 40' S 140° 37' O Geografia física País Polinésia Francesa Arquipélago Tuamotu Gambier Área 7,7  km² Geografia humana População 53 (2002) Densidade 6,9  hab./km² Tematangi é uma das ilhas do arquipélago de Tuamotu-Gambier, pertencente ao Taiti.[1] Referências ↑ Names of the Paumotu Islands, with the Old Names So Far As They Are Known par J.L. Young dans The Journal of the Polynesian Society, Volume 8, No. 4, December 1899, p.264-...

Artículo principal: Gobierno de Gustavo Petro Investidura presidencial deGustavo Petro Gustavo Petro toma el juramento al cargo como el 34.º presidente de Colombia.LocalizaciónPaís Colombia ColombiaLugar Plaza de BolívarDatos generalesTipo Investidura presidencial en ColombiaParticipantes Gustavo Petro 34.º Presidente de Colombia— Asumiendo el cargo Roy BarrerasPresidente del Congreso— Administrando el juramento Francia Márquez 19.º Vicepresidente de Colombia— Asumiend...

板橋区立西台中学校 北緯35度46分54.8秒 東経139度40分18.2秒 / 北緯35.781889度 東経139.671722度 / 35.781889; 139.671722座標: 北緯35度46分54.8秒 東経139度40分18.2秒 / 北緯35.781889度 東経139.671722度 / 35.781889; 139.671722国公私立の別 公立学校設置者 板橋区設立年月日 1957年共学・別学 男女共学学期 3学期制学校コード C113211900100 所在地 〒175-0082 東京都板橋区

IC Falkenberg, Berlin 2005 Ralf Schmidt, auch bekannt als Falkenberg, früher IC oder IC Falkenberg (* 10. September 1960 in Halle (Saale)) ist ein deutscher Sänger, Texter, Komponist, Produzent und Fotograf. Inhaltsverzeichnis 1 Leben 2 Diskografie 2.1 Alben 2.2 EPs, Singles, Maxis 3 Weblinks 4 Einzelnachweise Leben Schmidt wurde in Halle an der Saale geboren und ist dort in der Pfännerhöhe aufgewachsen, sein Vater war Ingenieur, seine Mutter Ökonomin. Er machte eine Schlosserlehre. Bere...

Natnael TesfatsionDatos personalesNombre completo Natnael Tesfatsion OcbitNacimiento Asmara, Eritrea23 de mayo de 1999 (24 años)Carrera deportivaRepresentante de Eritrea EritreaDeporte CiclismoDisciplina RutaEquipo Lidl-TrekTrayectoria Equipos amateur 2018 Eritel Equipos profesionales 2019-20202021-20222023- Dimension Data/NTT ContinentalAndroni GiocattoliTrek [editar datos en Wikidata] Natnael Tesfatsion Ocbit (Asmara, 23 de mayo de 1999) es un ciclista eritreo, mie...

  لمعانٍ أخرى، طالع الحصين (توضيح). الحصين (محلة) تقسيم إداري البلد  اليمن المحافظة محافظة إب المديرية مديرية السبرة العزلة عزلة بلادالشعيبي السفلى القرية قرية الشاجبة السكان التعداد السكاني 2004 السكان 37   • الذكور 18   • الإناث 19   • عدد الأسر 4   • عدد المسا�...

日本 > 大阪府 > 大阪市 > 旭区 > 太子橋 太子橋 町丁 大阪府立淀川工科高等学校 太子橋太子橋の位置大阪市の地図を表示太子橋太子橋 (大阪府)大阪府の地図を表示 北緯34度44分11.61秒 東経135度33分16.84秒 / 北緯34.7365583度 東経135.5546778度 / 34.7365583; 135.5546778国 日本都道府県 大阪府市町村 大阪市区 旭区面積[1] • 合計 0.79...

Frühere Druckerei Trowitzsch in Frankfurt (Oder) im Jahr 2016 Trowitzsch & Sohn waren Buchverlage in Küstrin, Frankfurt (Oder) und Berlin von 1711 bis 1945. Inhaltsverzeichnis 1 Geschichte 1.1 Küstrin und Königsberg in der Neumark 1.2 Frankfurt an der Oder 1.3 Berlin 1.4 Holzminden 1.5 Publikationen 2 Druckerzeugnisse (Auswahl) 3 Literatur 4 Weblinks 5 Einzelnachweise Geschichte Küstrin und Königsberg in der Neumark 1711 erhielt der Hofdrucker Gottfried Heinichen ein Privileg zur Gr...

Nepalese cricketer (born 1991) Anil MandalPersonal informationFull nameAnil Kumar MandalBorn (1991-02-05) 5 February 1991 (age 32)Janakpur, NepalBattingRight-handedRoleOpening BatsmanInternational information National sideNepal (2015–)T20I debut (cap 17)3 July 2015 v NetherlandsLast T20I13 July 2015 v IrelandT20I shirt no.46 Domestic team information YearsTeam2013–2015Nepal Army2014–2014Sagarmatha Legends2015Pentagon Career statistics Competition T...

Website ePodunkType of sitemedia ContentHeadquartersEl Segundo, CaliforniaParentInternet BrandsURLhttp://www.ePodunk.com ePodunk was a website that profiled communities in the United States, Canada, Ireland, and the UK. It provided geocoded information that includes local museums, attractions, parks, colleges, libraries, cemeteries and other features, as well as local history and trivia. The site contained vintage postcards that its users could send online.[1] The site became defunct ...

Restaurant in New York City Clover HillRestaurant informationStreet address20 Columbia PlaceCityBrooklynStateNew YorkPostal/ZIP Code11201CountryUnited StatesCoordinates40°41′35.4″N 73°59′55.4″W / 40.693167°N 73.998722°W / 40.693167; -73.998722WebsiteOfficial website Clover Hill is a restaurant in New York City.[1] The restaurant serves American cuisine and has received a Michelin star.[2] Time Out New York has rated Clover Hill 5 out of 5 st...

On-air comedian This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article contains wording that promotes the subject in a subjective manner without imparting real information. Please remove or replace such wording and instead of making proclamations about a subject's importance, use facts and attribution to demonstrate that importance. (March 2019) (Learn how and when to remove this te...

Centre de recherche et de documentation sur l'OcéanieHistoireFondation 1995CadreSigle (mul) CREDOCode UMR7308Type Institut de recherche, laboratoireForme juridique Unité mixte de recherchePays  FranceOrganisationOrganisations mères École des hautes études en sciences sociales (depuis le 1er janvier 1995)Centre national de la recherche scientifique (depuis le 1er janvier 1995)Université de Provence Aix-Marseille-I (1996-2012)Université d'Aix-Marseille (depuis 2012)Site web www...

Die Halloween-Katastrophe in Seoul ereignete sich in der Nacht vom 29. auf den 30. Oktober 2022 bei Feierlichkeiten zu Halloween im Ausgehviertel Itaewon der südkoreanischen Hauptstadt Seoul, an denen schätzungsweise rund 100.000 Menschen teilnahmen. Mindestens 159 Menschen starben und weitere 196 wurden verletzt. Es handelt sich bei dem Unglück um das Massengedränge mit den meisten Todesopfern in der Geschichte Südkoreas und um eine der größten Katastrophen des Landes nach dem Unterga...

Istilah perusahaan alih keluar atau badan usaha alih keluar (Bahasa Inggris : Offshore Company) digunakan setidaknya dalam dua cara yang berbeda. Perusahaan alih keluar dapat menjadi referensi untuk: The British Virgin Islands Companies Registry. Perusahaan, paguyuban , atau terkadang divisi yang terlibat dalam proses bisnis alih keluar.[1] Perusahaan bisnis internasional (PBI) atau jenis badan hukum lainnya , yang didirikan berdasarkan undang-undang suatu yurisdiksi, yang melara...

Polyethylene naphthalate Names Other names Poly(ethylene 2,6-naphthalate)PEN Identifiers CAS Number 24968-11-4 ChemSpider none Properties Chemical formula (C14H10O4)n Except where otherwise noted, data are given for materials in their standard state (at 25 °C [77 °F], 100 kPa). Infobox references Chemical compound Polyethylene naphthalate (poly(ethylene 2,6-naphthalate) or PEN) is a polyester derived from naphthalene-2,6-dicarboxylic acid and ethylene glycol. As such it...

Microsoft Windows Розробник MicrosoftРобочий стан активнийІнтерфейскористувача ПровідникЛіцензія MS-EULA (Пропрієтарне комерційне ПЗ) microsoft.com/windows Microsoft Windows — узагальнювальна назва операційних систем для смартфонів, планшетів, ноутбуків та персональних комп'ютерів, розроблених а�...

Township in Illinois, United StatesPickaway TownshipTownshipLocation of Illinois in the United StatesCoordinates: 39°33′47″N 88°52′09″W / 39.56306°N 88.86917°W / 39.56306; -88.86917CountryUnited StatesStateIllinoisCountyShelbyOrganizedNovember 8, 1859Area • Total29.7 sq mi (77 km2) • Land29.7 sq mi (77 km2) • Water0 sq mi (0 km2)Elevation718 ft (219 m)Population ...