<prompt> Kwa kuzingatia mkusanyiko kamili nums ambapo vipengele vimepangwa kwa mpangilio wa kupanda, badilisha _kuwa_ _uwiano wa urefu_ _mti wa utafutaji wa binary_.Mfano wa 1:Ingizo: nambari -10,-3,0,5,9Pato: 0,-3,9,-10,null,5Maelezo: 0,-10,5,null,-3,null,9 pia inakubaliwa: Mfano wa 2:Ingizo: nambari 1,3Pato: 3,1Maelezo: 1,null,3 na 3,1 zote ni BST zilizosawazishwa urefu.Vikwazo: 1 nums.length 104 -104 nambarii 104 nums imepangwa katika mpangilio unaoongezeka sana.  <response>: chatudarasa TreeNode: def __init__binafsi, val0, leftNone, rightNone: self.val val self.left kushoto self.right hakidef sorted_array_to_bstnambari: def msaidizi anza, mwisho: ikiwa anza mwisho: kurudi Hakuna katikati anza mwisho - anza 2 nodi TreeNodenambarikatikati node.left msaidizi kuanza, katikati - 1 nodi.right msaidizikatikati 1, mwisho nodi ya kurudi msaidizi wa kurudisha 0, lennambari - 1maelezoKanuni ya kuunda mti wa utafutaji wa binary wenye uwiano wa urefu kutoka kwa safu iliyopangwa inaweza kuelezewa kama ifuatavyo:1. Pata kipengele cha kati cha safu, na uifanye mizizi ya mti wa utafutaji wa binary.2. Kwa kila nusu ya safu vipengele vilivyo upande wa kushoto wa kipengele cha kati na vipengele vya kulia kwa kipengele cha kati, kurudia hatua ya 1 kwa kurudia.3. Kesi ya msingi ni wakati faharasa ya kuanza ni kubwa kuliko faharasa ya mwisho, ambapo nodi batili inarudishwa.Nambari iliyo hapo juu inatekeleza algorithm hii katika C, Java, Python, na JavaScript. 