<prompt> Eleza dhana ya algorithm ya kupanga lundo.  <response>: Algorithm ya kupanga lundo ni mbinu bora ya kupanga kulingana na muundo wa data ya lundo, ambayo ni mti kamili wa binary ambapo nodi hupangwa kwa mpangilio wa kuongezeka au kupungua kwa thamani. Ni algoriti ya kupanga mahali, isiyo thabiti iliyo na utata wa wakati wa On log n kwa hali bora na mbaya zaidi. Wazo la msingi la aina ya lundo ni kubadilisha orodha ambayo haijapangwa kuwa rundo la juu, ambalo ni mti kamili wa binary ambapo thamani ya mzizi ni kubwa kuliko au sawa na watoto wake. Kisha, algorithm huondoa mara kwa mara kipengele kikubwa zaidi kutoka kwenye lundo na kuiweka mwishoni mwa safu huku ikidumisha mali ya lundo. Utaratibu huu unaendelea hadi lundo liwe tupu, na matokeo yake ni orodha iliyopangwa kwa mpangilio wa kupanda. Algorithm ya kupanga lundo ina sehemu kuu mbili: kujenga rundo la juu na kupanga orodha. Kuunda rundo la juu kunahusisha kupanga upya vipengele vya orodha ili kukidhi sifa za rundo kubwa. Kisha algorithm huondoa nodi ya mizizi, ambayo ina kipengele cha juu, na kuibadilisha na nodi ya mwisho. Ukubwa wa lundo hupunguzwa, na mchakato unarudiwa hadi lundo liwe tupu. Kwa muhtasari, aina ya lundo ni mbinu bora ya kupanga ambayo hutumia muundo wa data kupanga vipengele vya orodha katika mpangilio maalum. Hufanya kazi vizuri zaidi kuliko algoriti rahisi za kupanga kama vile kupanga viputo na uwekaji, na uchangamano wake wa wakati unalinganishwa na algoriti zingine bora za kupanga kama vile upangaji wa haraka na uunganishaji. 