堆是線性結(jié)構(gòu)嗎?
是非線性結(jié)構(gòu)。
堆(heap)是計算機科學(xué)中一類特殊的數(shù)據(jù)結(jié)構(gòu)的統(tǒng)稱。堆通常是一個可以被看做一棵樹的數(shù)組對象。堆總是滿足下列性質(zhì):
堆中某個結(jié)點的值總是不大于或不小于其父結(jié)點的值;
堆總是一棵完全二叉樹。
將根結(jié)點最大的堆叫做最大堆或大根堆,根結(jié)點最小的堆叫做最小堆或小根堆。常見的堆有二叉堆、斐波那契堆等。
堆是非線性數(shù)據(jù)結(jié)構(gòu),相當(dāng)于一維數(shù)組,有兩個直接后繼。
堆的定義如下:n個元素的序列{k1,k2,ki,…,kn}當(dāng)且僅當(dāng)滿足下關(guān)系時,稱之為堆。