පරිගණකවැඩසටහන්

ක්රමලේඛන ක්රමයක් ලෙස Quicksort

1960 දී, කේ ඒ මහලු, තොරතුරු වේගවත් වර්ගීකරණයේ ක්රමයක් වර්ධනය වඩාත් ම ප්රසිද්ධ විය. එය ධනාත්මක ගුණ ගොඩක් ඇති ලෙස අද එය පුළුල් ලෙස, වැඩසටහන් භාවිතා වේ: එය සාමාන්ය නඩු සඳහා භාවිතා කළ හැකි, එය ලැයිස්තු සහ ක්රියාත්මක කිරීමට පහසු විවිධ වර්ග සමග අනුකූල අතිරේක මතකය කුඩා වැඩි, අවශ්ය වේ. වැඩ වැරදි ගොඩක් ඉඩ, සහ එය තරමක් අස්ථාවර ය භාවිතා: නමුත් Quicksort ඇති අවාසි, ඇත.

කෙසේ වෙතත්, එය වඩාත්ම අධ්යයනය අනුවාදය වේ. පළමු ගෙවීම හෝරේ පසු, බොහෝ එහි ඇති ඝන අධ්යයනය කරන්න. විශාල පදනම ප්රත්යක්ෂව සාක්ෂි මගින් රුකුල් වන, රැකියා සඳහා වැය කර ඇති කාලය සොයා න්යායික ප්රශ්න වන දින පිහිටුවන ලදී. මූලික ඇල්ගොරිතමය හා ඉහළ වේගය වැඩි දියුණු කිරීම සඳහා සැබෑ යෝජනා තිබුණා.

Quicksort එය සෑම තැනකම සොයා ගත හැකි, ඉතා බහුලය. එහි පදනම මත මෙම ක්රමය TList.Sort, සියලුම අනුවාදවල (1 හැර) ඩෙල්ෆි සහභාගි ක්රියාත්මක, කාලය පුස්තකාලය කාර්යය එය, සම්පූර්ණ කිරීමට C ++ qsort විය.

එය "වෙන්වෙලා ගිහින් ජයගන්න" ලෙස ක්රියාත්මක මූලික මූලධර්මය සකස් කළ හැක. එය කණ්ඩායම් දෙකකට ලැයිස්තුව බිඳ දැමීම හා තමන් විසින් එක් එක් කොටස සඳහා වික්රමාන්විතයි සිදුවේ. පදනම කොටස් මගින් තීරණය වන අතර සාපේක්ෂ ඔහුගේ මුලු ලැයිස්තුව කළින් ඇත: එය වැඩි අවධානයක් පහත සිදුවන කාලය තුළ වෙන් ක්රියාවලිය, ගෙවිය යුතු පහත සඳහන්. , අපේක්ෂකයින් පිරිසක් අනෙක් සියලුම මාරු නීති ට වඩා අඩු වන අතර එහි වටිනාකම වමට ඉදි කළේය. එය හරිම ලැයිස්තුව ප්රධාන මූලද්රව්ය එහි උඩින්ම ඇති බව හැරෙනවා. මීළඟ අදියර - අභියෝගයක් ආවර්තනික, එම පදනම සාපේක්ෂ මූලද්රව්ය දෙපස සඳහා කටයුතු තෝරා බේරා ගැනීමේ. එය ක්රියාවලිය ලැයිස්තුව යථාර්ථය තේරුම් ගත කිරීම බව එක් අංගයක්, අඩංගු වේ නම් පමණක් ක්රියා අවසන් වේ. මේ අනුව, ඉක්මන් ආකාරයක ලෙස වැඩසටහන් උත්සවය ප්රගුණ කිරීම සඳහා, එය අවශ්ය අඩු මට්ටමේ ගණිත ක්රමයක් වැඩ දැන ගැනීමට ය: පදනම වූ සාමාජිකයෙකු) තේරීම, ආ) කුඩා හා විශාල අගයන් කට්ටල දෙකක් නිෂ්පාදනය කිරීමට වඩාත් ඵලදායී සංයෝගයට ලැයිස්තුව.

පළමු ප්රතිපත්ති සමඟ හුරු. එම පදනම සාමාජික තෝරා විට, ඉතා මැනවින් සාමාන්ය ලැයිස්තුවෙන් තෝරා ගත යුත්තේ. එවිට නිවාඩුවක් සමාන තිබේය දෙකකට වෙන් කර ඇත. හුදෙක් ගණනය සාමාන්ය අගය ලැයිස්තුව ඉතා දුෂ්කර වන අතර, ඒ නිසා වේගවත්ම තෝරා බේරා ගැනීමේ පවා මෙම කලනයේ පැත්තේ පනතෙන්. එහෙත් උපරිම හෝ අවම අගය මූලික අංගයක් තෝරා - ද නොවේ හොඳම විකල්පය. නඩුවේ එක් ලබන තීරණය හිස් ලැයිස්තු සහතික කරනු ඇත, සහ පූර්ණ දෙවන නිර්මාණය කරයි. ඒ නිසා අවසාන පදනම සාමාජිකයෙකු ලෙස එම නමුත් උපරිම හා අවම මත, සාමාන්ය වඩාත් සමීප එකක් තෝරා ගත යුතුය.

තේරීමක් තීරණය කළ පසු, ඔබ විසංයෝජනය ඇල්ගොරිතමය දක්වා ගමන් කළ හැක. මෙම ඊනියා අභ්යන්තර ඉක්මන් ආකාරයක වළළු. හැම දෙයක්ම ශීඝ්ර ප්රවේශ දර්ශක දෙකක් ඉදි: පළමු මූලද්රව්ය අධික වමේ සිට දකුණට, දෙවන, ඒ වෙනුවට, දකුණේ සිට වමට යන්න. මෙහෙයුම ක්රියාත්මක අයිතිය අරඹයි: දර්ශකය ලැයිස්තුවේ වන අතර ප්රධාන කිරීමට සියලු වටිනාකම් සංසන්දනය කරන්න. එම මූලද්රව්යය ට වඩා අඩු හෝ පාදීය සමාන විට චක්රය සම්පූර්ණ කර තිබේ. එනම්, සංසන්දනය පවතී හා දර්ශක අගය අඩු වේ. වම් අත මත වැඩ විශාල හෝ සමාන වටිනාකමක් අවසන් වන විට පමණි. මෙතන, සාපේක්ෂව අගය වැඩි වේ.

quicksort සමන්විත කොටස් ඇල්ගොරිතම මෙම අදියරේ දී, තත්ත්වයන් දෙකක් මතු විය හැකියි. පළමු වමේ දර්ශකය අයිතිය කට වඩා අඩු වේ. මෙය දෝෂයක් බවයි, එසේ නම් එහි ඇති එය ලැයිස්තුවේ සඳහන් කරන ලදී අංග වැරදි සඳහා වේ. ප්රතිදාන - ඔවුන්ගේ ස්ථාන වෙනස් කරන්න. මෙම තීරුවේ දෙකම සමාන ෙහෝ ඉක්මවා විට දෙවන තත්වයක්. මෙම ඒ කියන්නේ, වැඩ දැන් අවසන් වූ, ලැයිස්තුවේ සාර්ථක වෙන් බවයි.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 si.atomiyme.com. Theme powered by WordPress.