Sequential Searching

Sequential Searching ဆိုတာကေတာ့ array အခန္းထဲမွာ ကိုယ္ရွာလိုသည့္ value ရွိလား ဆိုၿပီး တစ္ခန္းျခင္းဆီ စစ္ေဆးသည့္ အပိုင္းပါ။ ပထမဆံုး အခန္းကေနၿပီးေတာ့ ေနာက္ဆံုး အခန္းထိ စစ္သည့္ သေဘာပါ။ အကယ္၍ ေနာက္ဆံုး အခန္းမတိုင္ခင္မွာ ေတြ႕ခဲ့ရင္ search လုပ္ေနသည့္ loop ထဲက ထြက္လိုက္ရံုပါပဲ။

k = [1,2,51,34,37,78] s = 37 for i in k: if i == s : print("found") break

code ေလးက အရမ္းကို ရွင္းပါတယ္။ array ကို loop ပတ္တယ္။ ေတြ႕ခဲ့ရင္ ေတြ႕တယ္လို႔ ေျပာတယ္။

သို႔ေပမယ့္ ကၽြန္ေတာ္တို႔ေတြ ဘယ္အခန္း နံပတ္မွာ ရွာေတြ႕သလဲ ဆိုတာကို သိဖို႔ အတြက္ code ကို ေအာက္ကလို ျပင္ေရးပါမယ္။

k = [1,2,51,34,37,78] s = 37 for (index,value) in enumerate(k): if value == s : print("found at ",index) break

အဲဒီမွာ enumerate(k) ဆိုတာ ပါလာပါတယ္။ enumerate ဆိုတာကေတာ့ python ရဲ႕ built in function တစ္ခုပါ။ သူက index နဲ႔ value ကို return ျပန္လာေပးပါတယ္။

အခုဆိုရင္ေတာ့ ကၽြန္ေတာ္တို႔ array ထဲမွာ search အတြက္ ေရးတတ္ၿပီ။ သို႔ေပမယ့္ ပိုၿပီး သပ္ရပ္သြားေအာင္ function ခြဲေရးပါမယ္။

def search(array,search_value): for (index,value) in enumerate(array): if value == search_value : return index return -1 res = search([1,2,51,34,37,78],371) if res != -1 : print("Found at ",res) else: print("Not found")

ရွာေတြ႕ခဲ့ရင္ အခန္း နံပတ္ ျပန္လာၿပီးေတာ့ ရွာမေတြ႕ရင္ -1 ျပန္လာတာကို ေတြ႕ပါလိမ့္မယ္။ function ျဖစ္သည့္ အတြက္ေၾကာင့္ return ျပန္လိုက္တာနဲ႔ looping ထဲက ထြက္သြားတာေၾကာင့္ break လုပ္ဖို႔ မလိုအပ္ပါဘူး။

ဒီေလာက္ဆိုရင္ေတာ့ Sequential Searching ကို သေဘာေပါက္ေလာက္ၿပီ ထင္ပါတယ္။

results matching ""

    No results matching ""