3-qadam. [ I kamaytirish ] Agar q = 0 bo'lsa, algoritm muvaffaqiyatsiz tugaydi. Aks holda ( i , p , q ) ← ( i - q , q , p - q ) o'rnating ( bu p va q ni Fibonachchi ketma-ketligida bitta holatga qaytaradi); keyin 2-bosqichga qayting Qadam 4. [ I oshirish ] Agar p = 1 bo'lsa, algoritm muvaffaqiyatsiz tugaydi. Aks holda ( i , p , q ) ← ( i + q , p - q , 2q - p ) ni o'rnating ( bu p va q ikkita pozitsiyani Fibonachchi ketma-ketligida orqaga qaytaradi); va 2-bosqichga qayting Yuqorida keltirilgan algoritmning ikkita varianti har doim joriy oraliqni kattaroq va kichikroq subvalvalga ajratadi. Dastlabki algoritm [1] 4-bosqichda yangi intervalni kichikroq va kattaroq subintervalga ajratadi. Buning afzalligi shundaki, yangi i eski i ga yaqinroq va magnit lentada qidirishni tezlashtirishga mos keladi.
Do'stlaringiz bilan baham: |