<prompt> Kwa kuzingatia mzizi wa mti wa mfumo wa jozi, rudisha _mpangilio wa wima wa thamani za nodi zake_. yaani, kutoka juu hadi chini, safu kwa safu.Ikiwa nodi mbili ziko kwenye safu mlalo na safu wima sawa, mpangilio unapaswa kuwa kutoka kushoto kwenda kulia.Mfano wa 1:Ingizo: mzizi 3,9,20,null,null,15,7Pato: 9,3,15,20,7Mfano wa 2:Ingizo: mzizi 3,9,8,4,0,1,7Pato: 4,9,3,0,1,8,7Mfano wa 3:Ingizo: mzizi 3,9,8,4,0,1,7,null,null,null,2,5Pato: 4,9,5,3,0,1,8,2,7Vikwazo: Idadi ya nodi kwenye mti iko katika safu 0, 100. -100 Node.val 100  <response>: chatukutoka kwa makusanyo leta defaultdict, dequekutoka kwa kuchapa Orodha ya kuingiza, Hiaridarasa TreeNode: def __init__binafsi, val0, leftNone, rightNone: self.val val self.left kushoto self.right hakidef verticalOrdermizizi: HiariTreeNode - ListListint: ikiwa sio mzizi: rudi column_table defaultdictorodha q dequemizizi, 0 wakati q: cur_nodi, safu q.popleft ikiwa cur_nodi: jedwali_la safusafu.ongezacur_node.val q.appendcur_node.left, safu wima - 1 q.appendcur_node.right, safu wima 1 return column_tablekey kwa ufunguo uliopangwacolumn_tablemaelezoAlgorithm ya upitishaji wa mpangilio wima hufanya kazi kama ifuatavyo:1. Unda ramani ya safuwima kwa maadili yao ya nodi zinazolingana. Anzisha foleni ya kuhifadhi nodi na safu wima zake, ukianza na mzizi kwenye safu wima 0.2. Wakati foleni sio tupu, punguza nodi na safu. Ongeza thamani ya nodi kwenye safu wima inayolingana kwenye ramani.3. Panga watoto wa nodi ya kushoto na kulia na thamani zao za safu wima mtoto wa kushoto anapata safu wima -1, mtoto wa kulia anapata safu 1.4. Baada ya foleni kuwa tupu, kukusanya maadili ya nodi kwa kila safu kwa utaratibu na kuziweka kwenye safu ya matokeo.Algorithm inafanya kazi kwa kila utekelezaji wa lugha. 