நேரியல் தேடலுக்கும் பைனரி தேடலுக்கும் உள்ள வேறுபாடு
உள்ளடக்கம்
நேரியல் தேடல் மற்றும் பைனரி தேடல் ஆகியவை வரிசைகளில் பயன்படுத்தப்படும் இரண்டு முறைகள் தேடி கூறுகள். தேடுவது என்பது எந்த வரிசையிலும் அல்லது தோராயமாக சேமிக்கப்பட்ட கூறுகளின் பட்டியலில் ஒரு உறுப்பைக் கண்டுபிடிக்கும் செயல்முறையாகும்.
நேரியல் தேடலுக்கும் பைனரி தேடலுக்கும் உள்ள முக்கிய வேறுபாடு என்னவென்றால், பைனரி தேடல் உறுப்புகளின் வரிசைப்படுத்தப்பட்ட பட்டியலிலிருந்து ஒரு உறுப்பைத் தேட குறைந்த நேரம் எடுக்கும். எனவே பைனரி தேடல் முறையின் செயல்திறன் நேரியல் தேடலை விட அதிகமாக உள்ளது என்று ஊகிக்கப்படுகிறது.
இரண்டிற்கும் இடையிலான மற்றொரு வேறுபாடு என்னவென்றால், பைனரி தேடலுக்கு ஒரு முன்நிபந்தனை உள்ளது, அதாவது, கூறுகள் இருக்க வேண்டும் வரிசைப்படுத்தப்பட்ட நேரியல் தேடலில் அத்தகைய முன்நிபந்தனை இல்லை. இரண்டு தேடல் முறைகளும் வெவ்வேறு நுட்பங்களைப் பயன்படுத்தினாலும் அவை கீழே விவாதிக்கப்படுகின்றன.
- ஒப்பீட்டு விளக்கப்படம்
- வரையறை
- முக்கிய வேறுபாடுகள்
- முடிவுரை
ஒப்பீட்டு விளக்கப்படம்
ஒப்பிடுவதற்கான அடிப்படை | நேரியல் தேடல் | பைனரி தேடல் |
---|---|---|
நேர சிக்கலானது | இது O (N) | ஓ (பதிவு 2 N) என்ற |
சிறந்த வழக்கு நேரம் | முதல் உறுப்பு ஓ (1) | மைய உறுப்பு ஓ (1) |
ஒரு வரிசைக்கு முன்நிபந்தனை | தேவையில்லை | வரிசை வரிசைப்படுத்தப்பட்ட வரிசையில் இருக்க வேண்டும் |
உறுப்புகளின் N எண்ணிக்கையின் மோசமான வழக்கு | N ஒப்பீடுகள் தேவை | பதிவுசெய்த பிறகு மட்டுமே முடிக்க முடியும்2 N ஒப்பீடுகள் |
இல் செயல்படுத்தலாம் | வரிசை மற்றும் இணைக்கப்பட்ட பட்டியல் | இணைக்கப்பட்ட பட்டியலில் நேரடியாக செயல்படுத்த முடியாது |
செயல்பாட்டைச் செருகவும் | பட்டியலின் முடிவில் எளிதாக செருகப்படுகிறது | வரிசைப்படுத்தப்பட்ட பட்டியலைப் பராமரிக்க அதன் சரியான இடத்தில் செருக செயலாக்கம் தேவை. |
அல்காரிதம் வகை | இயற்கையில் மறுபயன்பாடு | இயற்கையில் பிரித்து வெல்லுங்கள் |
பயனை | பயன்படுத்த எளிதானது மற்றும் எந்த ஆர்டர் செய்யப்பட்ட கூறுகளும் தேவையில்லை. | எப்படியும் தந்திரமான வழிமுறை மற்றும் கூறுகள் ஒழுங்காக ஒழுங்கமைக்கப்பட வேண்டும். |
குறியீட்டின் கோடுகள் | குறைவான | மேலும் |
நேரியல் தேடலின் வரையறை
ஒரு நேரியல் தேடலில், ஒரு வரிசையின் ஒவ்வொரு உறுப்புகளும் ஒவ்வொன்றாக ஒரு தர்க்கரீதியான வரிசையில் மீட்டெடுக்கப்பட்டு, அது விரும்பிய உறுப்பு இல்லையா என்பதை சரிபார்க்கிறது. எல்லா உறுப்புகளையும் அணுகினால் தேடல் தோல்வியடையும், விரும்பிய உறுப்பு கிடைக்கவில்லை. மோசமான நிலையில், ஒரு சராசரி வழக்கின் எண்ணிக்கை நாம் வரிசையின் அளவின் பாதியை (n / 2) ஸ்கேன் செய்ய வேண்டியிருக்கும்.
ஆகவே, கொடுக்கப்பட்ட உருப்படியைக் கண்டறிவதற்கு வரிசையைத் தொடர்ச்சியாகக் கடந்து செல்லும் நுட்பமாக நேரியல் தேடலை வரையறுக்கலாம். கீழே கொடுக்கப்பட்டுள்ள நிரல், தேடலைப் பயன்படுத்தி வரிசையின் ஒரு உறுப்பு தேடுவதை விளக்குகிறது.
திறன் நேரியல் தேடலின்
ஒரு தேடல் அட்டவணையில் ஒரு பதிவைத் தேடுவதில் நேர நுகர்வு அல்லது ஒப்பீடுகளின் எண்ணிக்கை நுட்பத்தின் செயல்திறனை தீர்மானிக்கிறது. தேடல் அட்டவணையின் முதல் நிலையில் விரும்பிய பதிவு இருந்தால், ஒரே ஒரு ஒப்பீடு மட்டுமே செய்யப்படுகிறது. விரும்பிய பதிவு கடைசியாக இருக்கும்போது, n ஒப்பீடுகள் செய்யப்பட வேண்டும். தேடல் அட்டவணையில் எங்காவது பதிவு செய்ய வேண்டுமென்றால், சராசரியாக, ஒப்பீடுகளின் எண்ணிக்கை (n + 1/2). இந்த நுட்பத்தின் மோசமான நிலை செயல்திறன் ஓ (என்) என்பது மரணதண்டனை வரிசையை குறிக்கிறது.
சி திட்டம் நேரியல் தேடல் நுட்பத்துடன் ஒரு உறுப்பைத் தேட.
#சேர்க்கிறது பைனரி தேடல் மிகவும் திறமையான வழிமுறை. இந்த தேடல் நுட்பம் கொடுக்கப்பட்ட உருப்படியை குறைந்தபட்ச ஒப்பீடுகளில் தேடுவதற்கு குறைந்த நேரத்தை எடுத்துக்கொள்கிறது. பைனரி தேடலைச் செய்ய, முதலில், நாம் வரிசை கூறுகளை வரிசைப்படுத்த வேண்டும். இந்த நுட்பத்தின் பின்னால் உள்ள தர்க்கம் கீழே கொடுக்கப்பட்டுள்ளது: மூன்று வழக்குகள் எழக்கூடும்: ஒரு உறுப்பு கண்டுபிடிக்கும் வரை அல்லது தேடல் பகுதியில் வெளியேறும் வரை அதே படிகளை மீண்டும் செய்யவும். இந்த வழிமுறையில், ஒவ்வொரு முறையும் தேடல் பகுதி குறைகிறது. எனவே ஒப்பீடுகளின் எண்ணிக்கை அதிகபட்சமாக (N + 1) உள்ளது. இதன் விளைவாக, நேரியல் தேடலுடன் ஒப்பிடும்போது இது ஒரு திறமையான வழிமுறையாகும், ஆனால் பைனரி தேடலைச் செய்வதற்கு முன் வரிசை வரிசைப்படுத்தப்பட வேண்டும். சி திட்டம் பைனரி தேடல் நுட்பத்துடன் ஒரு உறுப்பைக் கண்டுபிடிக்க. #சேர்க்கிறது பயன்பாட்டைப் பொறுத்து நேரியல் மற்றும் பைனரி தேடல் வழிமுறைகள் இரண்டும் பயனுள்ளதாக இருக்கும். ஒரு வரிசை என்பது தரவு அமைப்பு மற்றும் கூறுகள் வரிசைப்படுத்தப்பட்ட வரிசையில் அமைக்கப்பட்டால், பைனரி தேடல் விரும்பப்படுகிறது விரைவானதேடி. இணைக்கப்பட்ட பட்டியல் என்பது கூறுகள் எவ்வாறு ஒழுங்கமைக்கப்பட்டிருந்தாலும் தரவு கட்டமைப்பாக இருந்தால், பைனரி தேடல் வழிமுறையை நேரடியாக செயல்படுத்த முடியாததால் நேரியல் தேடல் ஏற்றுக்கொள்ளப்படுகிறது. வழக்கமான பைனரி தேடல் வழிமுறையை இணைக்கப்பட்ட பட்டியலுக்குப் பயன்படுத்த முடியாது, ஏனெனில் இணைக்கப்பட்ட பட்டியல் இயற்கையில் மாறும் மற்றும் நடுத்தர உறுப்பு உண்மையில் எங்கு ஒதுக்கப்பட்டுள்ளது என்பது தெரியவில்லை. எனவே, இணைக்கப்பட்ட பட்டியலிலும் வேலை செய்யக்கூடிய பைனரி தேடல் வழிமுறையின் மாறுபாட்டை வடிவமைக்க வேண்டிய தேவை உள்ளது, ஏனெனில் பைனரி தேடல் ஒரு நேரியல் தேடலை விட வேகமாக செயல்படுகிறது.பைனரி தேடலின் வரையறை
முடிவுரை