કોમ્પ્યુટર્સ, પ્રોગ્રામિંગ
પ્રોગ્રામિંગ પદ્ધતિ તરીકે Quicksort
1960 માં, કે એ hoar માહિતી ઝડપી સોર્ટિંગ માટે પદ્ધતિ વિકસાવી, મોટા ભાગના પ્રખ્યાત બની હતી. આજે તે વ્યાપકપણે પ્રોગ્રામિંગ વપરાય છે કારણ કે તે હકારાત્મક મિલકત ઘણો ધરાવે છે: તે સામાન્ય કેસો માટે વાપરી શકાય છે, તે વધારાના મેમરી નો નાનો વધારો, યાદીઓ વિવિધ પ્રકારના સાથે સુસંગત છે અને અમલ કરવા માટે સરળ જરૂરી છે. પરંતુ ત્યાં ખામીઓ છે જે Quicksort છે: મદદથી કામ ભૂલો ઘણો પરવાનગી આપે છે, અને તે કંઈક અંશે અસ્થિર છે.
જોકે, તે સૌથી વધુ અભ્યાસ આવૃત્તિ છે. પ્રથમ ચુકવણી હોરના પછી, ઘણા તેના ગાઢ અભ્યાસ કરું છું. મોટા આધાર સમય કામ છે, કે જે આનુભાવિક પુરાવો દ્વારા વ્યકત કરાઇ છે તેના પર ગાળ્યા શોધવામાં સૈદ્ધાંતિક પ્રશ્નો પર સ્થાપના કરી હતી. ત્યાં મૂળભૂત અલ્ગોરિધમનો અને વધતા ઝડપ સુધારવા માટે વાસ્તવિક દરખાસ્તો હતા.
Quicksort ખૂબ જ સામાન્ય છે, તે સર્વત્ર શોધી શકાય છે. તેના આધારે પદ્ધતિ TList.Sort, બધા આવૃત્તિઓ (સિવાય 1) ડેલ્ફી, સમય પુસ્તકાલય કાર્ય તે સી માં પૂર્ણ કરવા માટે qsort ++ લીધો હાજર અમલમાં મૂકાયેલ છે.
ઓપરેશન મૂળભૂત સિદ્ધાંત "ભાગલા પાડો અને કોન્કર" તરીકે ઘડવામાં કરી શકાય છે. તે બે જૂથોમાં યાદી ભંગ થાય છે અને પોતે દ્વારા દરેક ભાગ માટે અલગ પાડવામાં આવે છે. તે અનુસરે છે વધુ ધ્યાન અલગ કરવાની પ્રક્રિયાને, જે દરમિયાન નીચેના થાય ચૂકવવામાં જોઈએ: આધાર તત્વ દ્વારા નક્કી થાય છે અને પ્રમાણમાં તેમના સમગ્ર યાદી ગોઠવી દીધી છે. ઉમેદવારોની જૂથના ડાબી બાંધવામાં આવી છે, કિંમત જે તમામ અન્ય ટ્રાન્સફર નિયમો કરતા ઓછી હોય છે. તે તારણ આપે છે કે છટણી યાદી મુખ્ય તત્વ તેના હકનું સ્થળ છે. આગામી તબક્કામાં - તત્વો આધાર માટે સંબંધિત બંને પક્ષો માટે એક પડકાર ફરી યાદ આવવું સોર્ટિંગ કાર્ય કરે છે. તે સમાપ્ત પ્રક્રિયા કામ કરે છે તો જ યાદી માત્ર એક તત્વ છે, કે છટણી કરી શકાય છે. આમ, ક્રમમાં ઝડપી પ્રકારની પ્રોગ્રામિંગ કાર્ય માસ્ટર કરવા માટે, તે જરૂરી નીચલા સ્તરની ગાણિતીક નિયમો કામ ખબર છે: એક) બેઝને સભ્ય પસંદગી; ખ) સૌથી વધુ અસરકારક ક્રમચય યાદી નાના અને મોટા મૂલ્યો સાથે બે સેટ કરે છે.
પ્રથમ સિદ્ધાંતો સાથે પરિચિત થાઓ. જ્યારે આધાર સભ્ય પસંદગી આદર્શ સરેરાશ યાદીમાંથી પસંદ કરવી જોઇએ. પછી વિરામ બે સમાન અર્ધભાગ વહેંચવામાં આવે છે. જસ્ટ ગણતરી સરેરાશ કિંમત યાદીમાં ખૂબ જ મુશ્કેલ છે, તેથી પણ ઝડપી સોર્ટિંગ આ કલન બાજુ મૂકશે. પરંતુ મહત્તમ અથવા ન્યૂનતમ મૂલ્ય સાથે મૂળભૂત તત્વ પસંદગી - શ્રેષ્ઠ વિકલ્પ પણ નથી. કિસ્સામાં એક જેવા નિર્ણય ખાલી યાદીઓ ખાતરી કરવામાં આવશે, અને બીજા સંપૂર્ણ બનાવે છે. આથી એવું લાગે છે કે આધાર સભ્ય તરીકે એક કે સરેરાશ નજીક છે પસંદ થયેલ હોવું જોઈએ, પરંતુ મહત્તમ અને લઘુત્તમ પર.
એકવાર એક પસંદગી નક્કી થાય છે, તો તમે વિઘટન અલ્ગોરિધમનો પર આગળ વધો કરી શકો છો. આ ઝડપી સૉર્ટ કહેવાતા આંતરિક આંટીઓ. બધું બે રેપિડ ઍક્સેસ અનુક્રમણિકા પર બાંધવામાં આવે છે: પ્રથમ, ઘટકો અધિકાર, બીજા ડાબેથી તેનાથી વિપરિત, પર જાઓ ડાબેથી જમણે થી. પ્રારંભ થાય છે કામગીરી અમલ યોગ્ય ઇન્ડેક્સ યાદી પર છે અને મુખ્ય તમામ કિંમતોની સરખામણી કરો. ચક્ર પૂર્ણ થાય ત્યારે તત્વ બેઝલાઇન કરતાં ઓછા અથવા સમાન છે. એ સરખામણી છે અને ઇન્ડેક્સ મૂલ્ય ઘટે છે. ડાબી બાજુ પર હોય ત્યારે કામ કરતાં ઓછા અથવા સમાન મૂલ્ય વધારે સમાપ્ત થાય છે. અહીં, સરખામણી કિંમત વધે છે.
પાર્ટીશનીંગ અલ્ગોરિધમનો જે quicksort સમાવેશ થાય છે આ તબક્કે, બે પરિસ્થિતિઓમાં પેદા થાય છે શકે છે. પ્રથમ એ છે કે ડાબી પર ઇન્ડેક્સ અધિકાર કરતાં ઓછી છે. આ એક ભૂલ સૂચવે છે, તો પછી ત્યાં તત્વો જેના પર તે યાદીમાં જણાવવામાં આવ્યું હતું ખોટું ક્રમમાં હોય છે. આઉટપુટ - તેમના સ્થાને બદલો. બીજા પરિસ્થિતિ જ્યારે કોલમ બંને બરાબર અથવા ઓળંગી છે. આ યાદી સફળ અલગ સૂચવે છે, એટલે કે, કામ હવે પૂર્ણ થઈ છે.
Similar articles
Trending Now