"ബൈനറി തിരയൽ" എന്ന താളിന്റെ പതിപ്പുകൾ തമ്മിലുള്ള വ്യത്യാസം
Content deleted Content added
No edit summary |
No edit summary |
||
വരി 7:
== അൽഗൊരിതം ==
ക്രമീകരിയ്ക്കപ്പെട്ടിട്ടുള്ള ഒരു [[അടുക്ക് (ദത്തസങ്കേതം)|അടുക്കിൽ]] മാത്രമേ ഈ അൽഗോരിതം ഓടിയ്ക്കാനാവൂ. കണ്ടുപിടിയ്ക്കാനുള്ള വിലയെ ഈ അടുക്കിലെ നടുവിലെ അംഗത്തിന്റെ വിലയുമായി ഒത്തു നോക്കുന്നു. അവ ഒന്നാണെങ്കിൽ തിരയൽ സാർത്ഥകമായി, അവിടെവച്ച് അവസാനിക്കുന്നു. ഇല്ലെങ്കിൽ കണ്ടുപിടിയ്ക്കാനുള്ള അംഗത്തിന്റെ വില നടുവിലെ അംഗത്തിന്റെ വിലയെക്കാൾ ചെറുതാണോ എന്ന് നോക്കുന്നു. ചെറുതാണെങ്കിൽ അത് അടുക്കിന്റെ രണ്ടാമത്തെ പകുതിയിൽ ഉണ്ടാകില്ല എന്ന് ഉറപ്പാണല്ലോ. അഥവാ കണ്ടു പിടിയ്ക്കാനുള്ള അംഗത്തിന്റെ വില നടുവിലെ അംഗത്തിന്റെ വിലയെക്കാൾ വലുതാണെങ്കിൽ അത് അടുക്കിന്റെ ആദ്യ പകുതിയിൽ ഉണ്ടാകില്ല എന്നും ഉറപ്പാണ്. എന്തായാലും അടുത്ത ഘട്ടത്തിൽ ഇവയിൽ ഏതെങ്കിലും ഒരു പകുതി ഉപേക്ഷിയ്ക്കാം. മറ്റേ പകുതി (കുട്ടി അടുക്ക്) എടുത്തു വീണ്ടും മുകളിൽ പറഞ്ഞ നിർദ്ദേശങ്ങൾ പിന്തുടരുക. ഒരു ഘട്ടത്തിൽ തെരയുന്ന അംഗം ഏതെങ്കിലും കുട്ടി അടുക്കിന്റെ നടുവിൽ കണ്ടെത്തപ്പെടും. അപ്പോൾ തിരയൽ അവസാനിപ്പിയ്ക്കാം. അതല്ലെങ്കിൽ കുട്ടി അടുക്കിന്റെ വലുപ്പം 1 ആകുകയും അതിനെ ഇനി രണ്ടായി പകുക്കാൻ സാധിക്കുകയില്ല എന്ന നിലയിൽ എത്തിപ്പെടാം. ഇങ്ങനെ വന്നാൽ തെരയപ്പെടുന്ന
ഈ അൽഗോരിതത്തിന്റെ പടികൾ താഴെ കൊടുത്തിരിയിക്കുന്നു.
|