<prompt> Kwa kuzingatia marejeleo ya nodi ya mizizi ya BST na ufunguo, futa nodi na kitufe ulichopewa kwenye BST. Rejesha rejeleo la nodi ya mzizi ikiwezekana ilisasishwa ya BST_.Kimsingi, kufuta kunaweza kugawanywa katika hatua mbili:1. Tafuta nodi ya kuondoa.2. Ikiwa node inapatikana, futa node.Mfano wa 1:Ingizo: mzizi 5,3,6,2,4,null,7, ufunguo 3Pato: 5,4,6,2,null,null,7Maelezo: Ufunguo uliopewa wa kufuta ni 3. Kwa hivyo tunapata nodi yenye thamani ya 3 na kuifuta.Jibu moja halali ni 5,4,6,2,null,null,7, lililoonyeshwa kwenye BST iliyo hapo juu.Tafadhali kumbuka kuwa jibu lingine halali ni 5,2,6,null,4,null,7 na pia limekubaliwa. Mfano wa 2:Ingizo: mzizi 5,3,6,2,4,null,7, ufunguo 0Pato: 5,3,6,2,4,null,7Maelezo: Mti hauna nodi yenye thamani 0.Mfano wa 3:Ingizo: mzizi , ufunguo 0Pato: Vikwazo: Idadi ya nodi kwenye mti iko katika safu 0, 104. -105 Node.val 105 Kila nodi ina thamani ya kipekee. mzizi ni mti halali wa utafutaji wa binary. -105 kitufe 105Fuatilia: Je, unaweza kulitatua kwa utata wa wakati Ourefu wa mti?  <response>: chatudarasa TreeNode: def __init__binafsi, x: self.val x self.left Hakuna self.right Hakunadef deleteNodemizizi, ufunguo: ikiwa mzizi ni Hakuna: kurudi Hakuna ikiwa ufunguo root.val: root.left deleteNoderoot.left, key elif key root.val: root.right deleteNoderoot.right, key kwingine: ikiwa root.left ni Hakuna: rudisha mzizi.kulia elif root.right is None: rudisha mzizi.kushoto kwingine: temp root.right wakati temp.left sio Hakuna: temp temp.left root.val temp.val root.right deleteNoderoot.right, temp.val kurudi mizizimaelezo1. Ikiwa mzizi ni batili, rudisha null.2. Ikiwa ufunguo ni mdogo kuliko ufunguo wa mizizi, basi iko kwenye mti mdogo wa kushoto, hivyo kuweka mtoto wa kushoto wa mizizi kuwa matokeo ya kazi ya kufutaNode, ambapo mtoto wa kushoto wa mizizi ni mzizi.3. Ikiwa ufunguo ni mkubwa, umewekwa kwenye mti mdogo wa kulia, kwa hivyo weka mtoto wa kulia wa mzizi kuwa matokeo ya kitendakazi cha deleteNode, ambapo mtoto wa kulia wa mzizi ndiye mzizi.4. Ikiwa ufunguo ni sawa na ufunguo wa mizizi, hii ndiyo node ya kufutwa. - Ikiwa nodi iliyo na ufunguo haina mtoto wa kushoto, rudisha mtoto wake wa kulia. - Ikiwa nodi iliyo na ufunguo haina mtoto wa kulia, rudisha mtoto wake wa kushoto. - Ikiwa nodi ina watoto wote wawili, tafuta mrithi wa inorder ndogo katika mti mdogo wa kulia, badilisha thamani ya nodi na thamani ya mrithi wa inorder, na kisha ufute mrithi wa inorder.5. Sasisha mzizi na uirudishe. 