வழிமுறை சிக்கலானது முதன்மையாக இரண்டு வளங்களைக் குறிக்கிறது.:
நேரம்
(செயல்படுத்தும் காலம்) மற்றும்
இடம்
(நினைவக பயன்பாடு). உள்ளீட்டு அளவுடன் இயக்க நேரம் எவ்வாறு வளர்கிறது என்பதை நேர சிக்கலானது அளவிடுகிறது (
n (n) (ஆங்கிலம்)
), இட சிக்கலானது நினைவக நுகர்வை மதிப்பிடுகிறது. உதாரணத்திற்கு:
- ஒரு வழிமுறை
ஓ(என்)
நேர சிக்கலானது உள்ளீட்டு அளவோடு நேர்கோட்டில் அளவிடப்படுகிறது.
- ஒரு வழிமுறை
O(1)
உள்ளீட்டு அளவைப் பொருட்படுத்தாமல், விண்வெளி சிக்கலானது நிலையான நினைவகத்தைப் பயன்படுத்துகிறது.
இரண்டு அளவீடுகளும் அவசியம். ஒரு வேகமான வழிமுறை பெரிய தரவுத்தொகுப்புகளில் நினைவகத்தை தீர்ந்து போகச் செய்யலாம், அதே நேரத்தில் நினைவக-திறமையான வழிமுறை நிகழ்நேர பயன்பாடுகளுக்கு மிகவும் மெதுவாக இருக்கலாம்.
செயல்திறன் சாத்தியக்கூறை ஆணையிடுகிறது. 10 மில்லியன் உருப்படிகளுக்கு எதிராக 10 உருப்படிகளின் பட்டியலை வரிசைப்படுத்துவதைக் கவனியுங்கள்.:
- A
குமிழி வரிசைப்படுத்தல்
(
ஓ(என்)
) சிறிய தரவுத்தொகுப்புகளுக்கு போதுமானதாக இருக்கலாம், ஆனால் பெரிய தரவுத்தொகுப்புகளுக்கு நடைமுறைக்கு மாறானது.
- A
ஒன்றிணைத்தல் வரிசைப்படுத்துதல்
(
O(n பதிவு n)
) பெரிய தரவுத்தொகுப்புகளை அழகாகக் கையாளுகிறது, ஆனால் கூடுதல் நினைவகம் தேவைப்படுகிறது.
சிக்கலான பகுப்பாய்வு, அல்காரிதம்களை ஒப்பிட்டுப் பார்ப்பதற்கான ஒரு உலகளாவிய மொழியை வழங்குகிறது, வன்பொருள் சார்ந்த விவரங்களை சுருக்கிக் கொள்கிறது. இது டெவலப்பர்களுக்கு அளவிடக்கூடிய தன்மையைக் கணிக்கவும், முக்கியமான அமைப்புகளில் ஏற்படும் இடையூறுகளைத் தவிர்க்கவும் அதிகாரம் அளிக்கிறது.
அறிகுறியற்ற குறியீடுகள் செயல்பாடுகளின் வரம்புக்குட்பட்ட நடத்தையை விவரிக்கின்றன, சிக்கலான தன்மைக்கான சுருக்கெழுத்தை வழங்குகின்றன. மூன்று முதன்மை குறியீடுகள்:
ஒரு வழிமுறை எடுக்கும் அதிகபட்ச நேரம் அல்லது இடத்தை பெரிய O குறியீடு வரையறுக்கிறது. உதாரணத்திற்கு:
-
O(1)
: நிலையான நேரம் (எ.கா., குறியீட்டின் மூலம் ஒரு வரிசை உறுப்பை அணுகுதல்).
-
ஓ(என்)
: நேரியல் நேரம் (எ.கா., பட்டியல் வழியாக மீண்டும் மீண்டும் கூறுதல்).
-
ஓ(என்)
: இருபடி நேரம் (எ.கா., குமிழி வரிசையில் உள்ளமைக்கப்பட்ட சுழல்கள்).
பிக் O என்பது மிகவும் பொதுவாகப் பயன்படுத்தப்படும் அளவீடு ஆகும், ஏனெனில் இது செயல்திறன் உச்சவரம்புகளை உறுதி செய்கிறது.
ஒமேகா தேவையான குறைந்தபட்ச நேரத்தை விவரிக்கிறது. உதாரணத்திற்கு:
- ஒரு நேரியல் தேடல்
(1)
இலக்கு முதல் உறுப்பு என்றால்.
சிறந்த சூழ்நிலை பகுப்பாய்வு நம்பிக்கையூட்டுவதாக இருந்தாலும், மோசமான சூழ்நிலை திட்டமிடலுக்கு குறைவான தகவல் தருவதாகவே உள்ளது.
தீட்டா பிக் ஓ மற்றும் ஒமேகாவை இணைத்து, சரியான அறிகுறியற்ற நடத்தையைக் குறிக்கிறது. ஒரு வழிமுறையின் சிறந்த மற்றும் மோசமான நிலைகள் ஒரே மாதிரியாக இருந்தால்:
-
(n பதிவு n)
சராசரி மற்றும் மோசமான சூழ்நிலைகளை ஒன்றிணைக்கும் வகைகளுக்குப் பொருந்தும்.
இந்தக் குறியீடுகள் வளர்ச்சி விகிதங்களை மையமாகக் கொண்டு, மாறிலிகள் மற்றும் கீழ்-வரிசை சொற்களை சுருக்கிக் கொள்கின்றன. உதாரணமாக, 2n + 3n + 4 எளிதாக்குகிறது ஓ(என்) ஏனெனில் பெரியவற்றுக்கு இருபடிச் சொல் ஆதிக்கம் செலுத்துகிறது n (n) (ஆங்கிலம்) .
சிக்கலான வகுப்புகளைப் புரிந்துகொள்வது, அளவிடுதல் மூலம் வழிமுறைகளை வகைப்படுத்த உதவுகிறது. இங்கே மிகவும் திறமையானது முதல் குறைந்த செயல்திறன் கொண்டது வரை ஒரு படிநிலை உள்ளது.:
செயல்படுத்தும் நேரம் அல்லது நினைவகம் மாறாமல் உள்ளது, ஏனெனில்
n (n) (ஆங்கிலம்)
வளர்கிறது.
-
உதாரணமாக
: விசை மூலம் ஹாஷ் அட்டவணை மதிப்பை அணுகுதல்.
இயக்க நேரம் மடக்கை ரீதியாக வளர்கிறது
n (n) (ஆங்கிலம்)
.
-
உதாரணமாக
: பைனரி தேடல் ஒவ்வொரு மறு செய்கையிலும் உள்ளீட்டு இடத்தை பாதியாகக் குறைக்கிறது.
இயக்க நேர அளவுகள் விகிதாசாரமாக
n (n) (ஆங்கிலம்)
.
-
உதாரணமாக
: வரிசைப்படுத்தப்படாத பட்டியல் மூலம் நேரியல் தேடல்.
பிரித்து வெல்லும் வழிமுறைகளில் பொதுவானது.
-
உதாரணமாக
: வரிசைப்படுத்துதல் மற்றும் குவியல் வரிசைப்படுத்துதலை இணைத்தல்.
உள்ளமைக்கப்பட்ட மறு செய்கைகள் வெடிக்கும் வளர்ச்சிக்கு வழிவகுக்கும்.
-
உதாரணமாக
: குமிழி வரிசைப்படுத்தல் மற்றும் தேர்வு வரிசைப்படுத்தல்.
ஒவ்வொரு கூடுதல் உள்ளீட்டிலும் இயக்க நேரம் இரட்டிப்பாகிறது.
-
உதாரணமாக
: நினைவில் கொள்ளாமல் சுழல்நிலை ஃபைபோனச்சி கணக்கீடு.
வரிசைமாற்ற அடிப்படையிலான வழிமுறைகள்.
-
உதாரணமாக
: பயண விற்பனையாளர் பிரச்சனையை முரட்டுத்தனமாக தீர்த்தல்.
இடையே உள்ள வேறுபாடு O(n பதிவு n) மற்றும் ஓ(என்) கடுமையாகிறது n = 10 : முந்தையது மில்லி விநாடிகளில் இயங்கக்கூடும், பிந்தையது நாட்கள் ஆகலாம்.
உள்ளீட்டு உள்ளமைவுகளைப் பொறுத்து வழிமுறைகள் வித்தியாசமாகச் செயல்படுகின்றன. அனைத்து நிகழ்வுகளையும் பகுப்பாய்வு செய்வது வலிமையை உறுதி செய்கிறது.:
ஒரு தரவுத்தள வினவல் உகப்பாக்கி ஒரு ஹாஷ் இணைப்பிற்கு இடையே தேர்வு செய்யலாம் ( ஓ(n + மீ) ) மற்றும் உள்ளமைக்கப்பட்ட வளைய இணைப்பு ( ஓ(என்எம்) ) தரவு விநியோகத்தை அடிப்படையாகக் கொண்டது. பாதுகாப்பு-முக்கியமான அமைப்புகளுக்கு (எ.கா. விமான மென்பொருள்) மோசமான நிலை பகுப்பாய்வு மிகவும் முக்கியமானது, அங்கு கணிக்க முடியாத தன்மை ஏற்றுக்கொள்ள முடியாதது.
ஒரே சிக்கலை வெவ்வேறு வழிமுறைகளைப் பயன்படுத்தி தீர்க்க முடியும். எடுத்துக்காட்டாக, மதிப்புகளின் பட்டியலில் இலக்கு மதிப்பைத் தேடுவதில் உள்ள சிக்கலை நேரியல் தேடல், பைனரி தேடல் அல்லது ஹாஷ் அட்டவணை தேடல் போன்ற வெவ்வேறு வழிமுறைகளைப் பயன்படுத்தி தீர்க்க முடியும்.
கீழே உள்ள அட்டவணை, பட்டியலில் உள்ள இலக்கு மதிப்பைத் தேடுவதற்கான இந்த வழிமுறைகளின் நேரம் மற்றும் இட சிக்கல்களை ஒப்பிடுகிறது. n (n) (ஆங்கிலம்) மதிப்புகள்.
வழிமுறையின் தேர்வு சிக்கலின் அளவு, உள்ளீட்டு பண்புகள் மற்றும் கிடைக்கக்கூடிய வளங்களைப் பொறுத்தது. உதாரணமாக, பட்டியல் சிறியதாகவும் வரிசைப்படுத்தப்படாமலும் இருந்தால், நேரியல் தேடல் சிறந்த தேர்வாக இருக்கலாம். பட்டியல் பெரியதாகவும் வரிசைப்படுத்தப்பட்டதாகவும் இருந்தால், பைனரி தேடல் சிறந்த தேர்வாக இருக்கலாம். பட்டியல் பெரியதாகவும் வரிசைப்படுத்தப்படாமலும் இருந்தால், ஹாஷ் டேபிள் தேடல் சிறந்த தேர்வாக இருக்கலாம்.
கடன்தீர்க்கப்பட்ட பகுப்பாய்வு, செயல்பாடுகளின் வரிசைக்கான நேரத்தை சராசரியாகக் கணக்கிடுகிறது.
-
உதாரணமாக
: டைனமிக் வரிசைகள் நிரம்பியிருக்கும் போது அவற்றின் கொள்ளளவை இரட்டிப்பாக்குகின்றன. ஒரு ஒற்றை போது
தள்ளு
அறுவை சிகிச்சை எடுக்கலாம்
ஓ(என்)
நேரம், கடன் வாங்கிய செலவு மீதமுள்ளது
O(1)
.
போன்ற வழிமுறைகள்
மான்டே கார்லோ
மற்றும்
லாஸ் வேகாஸ்
செயல்திறனுக்காக சீரற்ற தன்மையைப் பயன்படுத்துங்கள்.
-
உதாரணமாக
: மில்லர்-ராபின் பகாநிலை சோதனை நிகழ்தகவு உத்தரவாதங்களைக் கொண்டுள்ளது, ஆனால் நிர்ணயிக்கும் முறைகளை விட வேகமானது.
சில சிக்கல்கள் (எ.கா., பூலியன் திருப்தி) NP-முழுமையானது , அதாவது அறியப்பட்ட பல்லுறுப்புக்கோவை-கால தீர்வு எதுவும் இல்லை. குறைப்புகள் மூலம் NP-முழுமையை நிரூபிப்பது கணக்கீட்டு கடினத்தன்மையை வகைப்படுத்த உதவுகிறது.
ஒரு ஓ(என்) கிளஸ்டரிங் வழிமுறை பாரிய தரவுத்தொகுப்புகளுக்கு ஒரு தடையாக மாறக்கூடும், இது kd மரங்கள் போன்ற தோராயமான முறைகளுக்கு மாற்றங்களைத் தூண்டுகிறது ( O(n பதிவு n) ).
பொது-திறவுகோல் அமைப்புகள் கடினத்தன்மையை நம்பியுள்ளன O(2) தாக்குதல்களை எதிர்ப்பதற்கான சிக்கல்கள் (எ.கா., முழு எண் காரணியாக்கம்).
நிகழ்நேர ரெண்டரிங் இயந்திரங்கள் முன்னுரிமை அளிக்கின்றன O(1) 60+ FPS ஐ பராமரிக்க இயற்பியல் உருவகப்படுத்துதல்களுக்கான வழிமுறைகள்.
பரிமாற்றம் முக்கியம்:
-
நேரம் vs. விண்வெளி
: ஹாஷ் வரைபடங்களைப் பயன்படுத்தவும் (
O(1)
(நினைவகத்தை தியாகம் செய்து).
-
எளிமை vs. உகந்த தன்மை
: செருகல் வரிசைப்படுத்தல் (
ஓ(என்)
) சிறிய, கிட்டத்தட்ட வரிசைப்படுத்தப்பட்ட தரவுத்தொகுப்புகளுக்கு விரும்பத்தக்கதாக இருக்கலாம்.
சுழல்நிலை வழிமுறைகளுக்கு, மறுநிகழ்வு உறவுகள் மாதிரி இயக்க நேரம். உதாரணமாக, ஒன்றிணைப்பு வரிசைப்படுத்துதல் தொடர்நிகழ்வு:
[ T(n) = 2T(n/2) + O(n) ] தீர்க்கிறது
O(n பதிவு n)
வழியாக
முதன்மை தேற்றம்
.
அனுபவ சோதனை தத்துவார்த்த பகுப்பாய்வை நிறைவு செய்கிறது. விவரக்குறிப்பு கருவிகள் (எ.கா., Valgrind, perf) நிஜ உலக இடையூறுகளை வெளிப்படுத்துகின்றன.
மலைப்பாம்பு
டெஃப் லீனியர்_சம்(arr):
மொத்தம் = 0
எண்:
மொத்தம் += எண்
மொத்த வருவாய்
def quadratic_sum(arr):
மொத்தம் = 0
நான் அவசரத்தில் இருக்கிறேன்:
j க்கு in arr:
மொத்தம் += i * j
மொத்த வருவாய்
போது ஓ(என்) மாறிலிகளை சுருக்குகிறது, a 100n (n) (ஆங்கிலம்) வழிமுறை a ஐ விட மெதுவாக இருக்கலாம் 0.01n (n) (ஆங்கிலம்) நடைமுறைக்கான வழிமுறை n (n) (ஆங்கிலம்) .
ஒரு O(n பதிவு n) வழிமுறை சரியாகச் செயல்படாமல் போகலாம். ஓ(என்) க்கான n = 10 மேல்நிலைச் செலவு காரணமாக.
நினைவில் கொள்ளப்பட்ட ஃபைபோனச்சி செயல்பாடு ( ஓ(என்) ஸ்பேஸ்) ஒரு மறுபயன்பாட்டு பதிப்பைப் போலன்றி, பெரிய உள்ளீடுகளில் செயலிழக்கக்கூடும் ( O(1) இடம்).
ஒரு சுய சமநிலைப்படுத்தும் BST ( O(log n) தேடல்) வழக்கமான BST ஐ விட பாதுகாப்பானது ( ஓ(என்) மோசமான நிலையில்) நம்பத்தகாத தரவுகளுக்கு.
அல்காரிதம் சிக்கலான பகுப்பாய்வு என்பது கணக்கீட்டு செயல்திறனின் பரந்த நிலப்பரப்பின் மூலம் டெவலப்பர்களை வழிநடத்தும் திசைகாட்டி ஆகும். MTSC7196 மாணவர்களுக்கு, இந்த துறையில் தேர்ச்சி பெறுவது தத்துவார்த்த அறிவு மற்றும் நடைமுறை நிபுணத்துவத்தை இணைக்கிறது. நேரம் மற்றும் இடத் தேவைகளைப் பிரிப்பதன் மூலமும், அறிகுறியற்ற எல்லைகளை ஒப்பிடுவதன் மூலமும், நிஜ உலக வர்த்தக பரிமாற்றங்களை வழிநடத்துவதன் மூலமும், டெவலப்பர்கள் அழகாக அளவிடும் மற்றும் நம்பகத்தன்மையுடன் செயல்படும் அமைப்புகளை உருவாக்க முடியும்.
தரவு சார்ந்த புதுமைகளால் வரையறுக்கப்பட்ட ஒரு சகாப்தத்தில், ஒரு இடையே உள்ள வேறுபாட்டைப் புரிந்துகொள்ளும் திறன் O(n பதிவு n) மற்றும் ஒரு ஓ(என்) தீர்வு என்பது வெறும் கல்வி சார்ந்தது மட்டுமல்ல, அது ஒரு மூலோபாய கட்டாயமாகும். நீங்கள் படிப்பில் முன்னேறும்போது, நினைவில் கொள்ளுங்கள்: சிக்கலான பகுப்பாய்வு என்பது எண்கள் மற்றும் சின்னங்களைப் பற்றியது மட்டுமல்ல. இது கணக்கீட்டின் இதயத்துடிப்பைப் புரிந்துகொள்வது பற்றியது.
2019 முதல், சந்திப்பு யு நகைகள் சீனாவின் குவாங்சோவில், நகை உற்பத்தி தளத்தில் நிறுவப்பட்டன. நாங்கள் வடிவமைப்பு, உற்பத்தி மற்றும் விற்பனையை ஒருங்கிணைக்கும் ஒரு நகை நிறுவனம்.
+86-19924726359/+86-13431083798
மாடி 13, கோம் ஸ்மார்ட் சிட்டியின் மேற்கு கோபுரம், இல்லை. 33 ஜுக்ஸின் தெரு, ஹைஷு மாவட்டம், குவாங்சோ, சீனா.