fbpx
วิกิพีเดีย

Exponential Search

เป็นอัลกอริธึมสร้างโดยJon Bentley and Andrew Chi-Chih Yao ในปี 1976 เพื่อค้นหาเรียงลำดับมากมายหรือไม่มีที่สิ้นสุด วิธีการคือ ประกอบด้วยสองขั้นตอน ขั้นตอนแรกกำหนดช่วงที่คีย์การค้นหาจะอยู่ถ้าอยู่ในรายการ ในขั้นตอนที่สองจะมีการค้นหาแบบไบนารีในช่วงนี้ ในขั้นตอนแรกสมมติว่ารายการถูกเรียงลำดับจากน้อยไปมากอัลกอริทึมจะค้นหาเลขยกกำลังแรก i ซึ่งมีค่ามากกว่า 2i มากกว่าคีย์การค้นหา ค่านี้ 2i กลายเป็นขีดจำกัด สำหรับการค้นหาแบบไบนารีด้วยที่ 2, 2i - 1 ซึ่งเป็นขอบเขตล่างสำหรับการค้นหาแบบไบนารี

การนำ Exponential Search ไปใช้งานในภาษาPython

ตัวอย่างภาษาไพทอน

def binarySearch( arr, l, r, x):  if r >= l:  mid = l + ( r-l ) / 2   if arr[mid] == x:  return mid   if arr[mid] > x:  return binarySearch(arr, l,    mid - 1, x)   return binarySearch(arr, mid + 1, r, x)   return False  def exponentialSearch(arr, x):   n = len(arr)  if arr[0] == x:  return 0   i = 1  while i < n and arr[i] <= x:  i = i * 2   return binarySearch( arr, i / 2, min(i, n), x)   arr = [1,3,4,5,13,20,25,40,42,44,53] x = 13 result = exponentialSearch(arr, x) print (result) 

อ้างอิง

exponential-search on geeksforgeeks

exponential, search, บทความน, ไม, การอ, างอ, งจากแหล, งท, มาใดกร, ณาช, วยปร, บปร, งบทความน, โดยเพ, มการอ, างอ, งแหล, งท, มาท, าเช, อถ, เน, อความท, ไม, แหล, งท, มาอาจถ, กค, ดค, านหร, อลบออก, เร, ยนร, าจะนำสารแม, แบบน, ออกได, อย, างไรและเม, อไร, เป, นอ, ลกอร, มส. bthkhwamniimmikarxangxingcakaehlngthimaidkrunachwyprbprungbthkhwamni odyephimkarxangxingaehlngthimathinaechuxthux enuxkhwamthiimmiaehlngthimaxacthukkhdkhanhruxlbxxk eriynruwacanasaraemaebbnixxkidxyangiraelaemuxir epnxlkxrithumsrangodyJon Bentley and Andrew Chi Chih Yao inpi 1976 ephuxkhnhaeriyngladbmakmayhruximmithisinsud withikarkhux prakxbdwysxngkhntxn khntxnaerkkahndchwngthikhiykarkhnhacaxyuthaxyuinraykar inkhntxnthisxngcamikarkhnhaaebbibnariinchwngni inkhntxnaerksmmtiwaraykarthukeriyngladbcaknxyipmakxlkxrithumcakhnhaelkhykkalngaerk i sungmikhamakkwa 2i makkwakhiykarkhnha khani 2i klayepnkhidcakd sahrbkarkhnhaaebbibnaridwythi 2 2i 1 sungepnkhxbekhtlangsahrbkarkhnhaaebbibnarikarna Exponential Search ipichnganinphasaPython aekikhtwxyangphasaiphthxndef binarySearch arr l r x if r gt l mid l r l 2 if arr mid x return mid if arr mid gt x return binarySearch arr l mid 1 x return binarySearch arr mid 1 r x return False def exponentialSearch arr x n len arr if arr 0 x return 0 i 1 while i lt n and arr i lt x i i 2 return binarySearch arr i 2 min i n x arr 1 3 4 5 13 20 25 40 42 44 53 x 13 result exponentialSearch arr x print result xangxing aekikhexponential search on geeksforgeeksekhathungcak https th wikipedia org w index php title Exponential Search amp oldid 7592961, wikipedia, วิกิ หนังสือ, หนังสือ, ห้องสมุด,

บทความ

, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม