[સંગીત વગાડવાનો] ડો LLOYD: બધા હક છે, તેથી બબલ સૉર્ટ અલ્ગોરિધમનો છે તમે તત્વોના સમૂહના સૉર્ટ કરવા માટે ઉપયોગ કરી શકો છો. ચાલો તે કેવી રીતે કામ કરે પર એક નજર કરીએ. તેથી મૂળભૂત વિચાર પાછળ બબલ સૉર્ટ આ છે. અમે સામાન્ય રીતે ઊંચા ખસેડવા માંગો છો સામાન્ય રીતે જમણી મૂલ્ય તત્વો, અને સામાન્ય રીતે મૂલ્યવાન તત્વો ઘટે ડાબી, અમે અપેક્ષા રાખી શકે છે. અમે નીચા વસ્તુઓ પ્રયત્ન કરવા માંગો છો શરૂઆતમાં, અને ઊંચા વસ્તુઓ ઓવરને અંતે હોય છે. અમે આ કેવી રીતે કરવું? વેલ સ્યુડોકોડનો કોડ માં, અમે ચાલો કહે છે, કરી શકે છે બિન-શૂન્ય કિંમત સ્વેપ કાઉન્ટર સુયોજિત કરો. અમે એક બીજા કે શા માટે અમે જોશો. અને પછી અમે નીચેની પુનરાવર્તન સ્વેપ કાઉન્ટર 0 છે ત્યાં સુધી પ્રક્રિયા, અથવા આપણે બધા કોઈ અદલબદલ કરી ત્યાં સુધી. માટે સ્વેપ કાઉન્ટર રીસેટ 0 તે પહેલાથી જ 0 નથી તો. પછી દર જોવા તત્વો અડીને જોડી. તે બે ઘટકો હોય છે, તો ન ક્રમમાં, તેમને સ્વેપ, અને સ્વેપ કાઉન્ટર માટે 1 ઉમેરવા. તમે વિશે વિચારી રહ્યાં છો, તો આ તમે તેને આત્મસાત્ તે પહેલાં, આ નીચા જશે કે નોટિસ ડાબી મૂલ્ય તત્વો અને ઉચ્ચ, જમણી તત્વો મૂલ્ય અસરકારક રીતે અમે કરવા માંગો છો શું કરી, જે તે જૂથો ખસેડવા છે તે રીતે તત્વો. માતાનો કેવી રીતે આ આત્મસાત્ કરીએ અમારા એરે ઉપયોગ જોવા શકે છે અમે પરીક્ષણ માટે વપરાય છે કે આ ગાણિતીક નિયમો બહાર. અમે ફરીથી અહીં એક ક્રમમાંગોઠવાયેલનથી એરે હોય છે બધા તત્વો દ્વારા સૂચવાયેલ લાલ છે. અને હું મારી સ્વેપ કાઉન્ટર સુયોજિત નોનઝીરો કિંમત. હું આપખુદ પસંદ નકારાત્મક 1-- તે 0 નથી. અમે આ પ્રક્રિયા પુનરાવર્તન કરવા માંગો છો સ્વેપ કાઉન્ટર સુધી 0 હોય છે. હું મારા સ્વેપ સુયોજિત શા માટે છે કેટલાક બિન-શૂન્ય કિંમત પ્રતિ, અન્યથા, કારણ કે સ્વેપ કાઉન્ટર 0 હશે. અમે પણ શરૂ કરી શકે છે આ અલ્ગોરિધમનો પ્રક્રિયા. તેથી ફરી, આ પગલાંઓ are-- સ્વેપ કાઉન્ટર રીસેટ 0, પછી દરેક અડીને જોવા જોડી, અને તેઓ હુકમ બહાર છો, તો તેમને સ્વેપ, અને 1 ઉમેરવા સ્વેપ કાઉન્ટર છે. તેથી આપણે આ પ્રક્રિયા શરૂ કરીએ. તેથી આપણે શું પ્રથમ વસ્તુ છે અમે 0 સ્વેપ કાઉન્ટર સુયોજિત અને પછી અમે શોધી શરૂ દરેક અડીને જોડી. તેથી અમે પ્રથમ 5 અને 2 ખાતે જોવાનું શરૂ કરો. અમે તેઓ બહાર છે કે નહીં તે જોવા ઓર્ડર અને તેથી અમે તેમને સ્વેપ. અને અમે સ્વેપ કાઉન્ટર માટે 1 ઉમેરવા. તેથી હવે અમારી સ્વેપ કાઉન્ટર 1, અને 2 અને 5 ફેરવાઈ ગયેલ છે. હવે અમે ફરીથી પ્રક્રિયા પુનરાવર્તન કરો. અમે આગામી અડીને જોડી જોવા, 5 અને તેઓ પણ હુકમ બહાર છો 1--, તેથી અમે તેમને સ્વેપ અને એડ સ્વેપ કાઉન્ટર 1. પછી અમે 5 અને 3 જુઓ. તેઓ હુકમ બહાર છે, તેથી અમે સ્વેપ તેમને અને અમે સ્વેપ કાઉન્ટર માટે 1 ઉમેરવા. પછી અમે 5 અને 6 જુઓ. તેઓ ક્રમમાં છો, તેથી અમે ખરેખર નથી કંઈપણ આ સમય સ્વેપ કરવાની જરૂર છે. પછી અમે 6 અને 4 જુઓ. તેઓ હુકમ બહાર પણ છો, તેથી અમે સ્વેપ તેમને અને અમે સ્વેપ કાઉન્ટર માટે 1 ઉમેરવા. હવે શું થયું છે નોટિસ. અમે અંત સુધી 6 બધી રીતે ખસેડી દીધું છે. પસંદગી સૉર્ટ તેથી, તમે કરેલા જો વિડિઓ જોવા મળે છે, અમે શું કર્યું હતું અમે ફરતા અંત મકાન નાના તત્વો માંથી જરૂરી છટણી એરે સૌથી કરવા માટે, નાના ડાબેથી જમણે. બબલ સૉર્ટ કિસ્સામાં, અમે હો તો આ ચોક્કસ અલ્ગોરિધમનો બાદ, અમે ખરેખર મકાન કરી રહ્યા છીએ અધિકાર ના છટણી એરે નાના કરવા માટે, સૌથી બાકી છે. અમે અસરકારક રીતે 6, bubbled છે સૌથી મોટું મૂલ્ય, ઓવરને બધી રીતે. અને તેથી અમે હવે જાહેર કરી શકે છે કે છટણી કરવામાં આવે છે કે, અને ભવિષ્યમાં iterations-- એરે મારફતે જઈને again-- અમે હવે 6 ધ્યાનમાં નથી. અમે માત્ર વિચારણા છે ક્રમમાંગોઠવાયેલનથી તત્વો જ્યારે આપણે સંલગ્ન જોડીઓ ખાતે શોધી રહ્યાં છે. તેથી અમે એક સમાપ્ત થાય છે બબલ સૉર્ટ પસાર થાય છે. તેથી હવે અમે પ્રશ્ન પર પાછા જાઓ, સ્વેપ કાઉન્ટર 0 છે ત્યાં સુધી પુનરાવર્તન કરો. વેલ સ્વેપ કાઉન્ટર 4 છે, તેથી અમે જઈ રહ્યાં છો ફરીથી આ પ્રક્રિયા પુનરાવર્તન રાખવા. અમે સ્વેપ કાઉન્ટર ફરીથી સેટ કરવા જઈ રહ્યાં છો 0 છે, અને દરેક અડીને જોડી જુઓ. તેથી અમે તેઓ 1-- 2 સાથે શરૂ કરો અને હુકમ બહાર છે, તેથી અમે તેમને સ્વેપ અને અમે સ્વેપ કાઉન્ટર માટે 1 ઉમેરવા. 2 અને 3, તેઓ ક્રમમાં છો. અમે કંઈ પણ કરવા માટે જરૂર નથી. 3 અને 5 ક્રમમાં છે. અમે ત્યાં કંઈ પણ કરવા માટે જરૂર નથી. 5 અને 4, તેઓ બહાર છે ક્રમમાં, અને તેથી અમે તેમને સ્વેપ અને ઉમેરવાની જરૂર છે સ્વેપ કાઉન્ટર 1. અને હવે અમે 5 ખસેડી દીધું છે આગામી સૌથી તત્વ, ક્રમમાંગોઠવાયેલનથી ભાગ ઓવરને. તેથી અમે હવે તે કહી શકો છો છટણી ભાગ ભાગ છે. હવે તમે જોઈ રહ્યાં છો, સ્ક્રીન અને કદાચ કહી શકે છે, , હું કરી શકો છો એરે કે હમણાં છટણી કરવામાં આવે છે. પરંતુ અમે હજુ સુધી તે સાબિત કરી શકો છો. અમે એક ગેરંટી નથી તે છટણી છે. પરંતુ આ જ્યાં સ્વેપ છે કાઉન્ટર આવે રહ્યું છે. તેથી અમે એક પાસ પૂર્ણ કર્યું છે. સ્વેપ કાઉન્ટર 2 છે. તેથી અમે પુનરાવર્તન કરવા જઈ રહ્યાં છો ફરીથી આ પ્રક્રિયા સ્વેપ કાઉન્ટર 0 છે ત્યાં સુધી પુનરાવર્તન કરો. 0 સ્વેપ કાઉન્ટર ફરીથી સેટ કરો. તેથી અમે તેને ફરીથી સેટ પડશે. હવે દરેક અડીને જોડી જુઓ. એટલે કે, ક્રમમાં 1 અને 2 છે. 2 અને 3 ક્રમમાં છે. 3 અને 4 ક્રમમાં છે. તેથી આ બિંદુએ, અમે પૂર્ણ કરી લીધી નોટિસ દરેક અડીને જોડી જોઈ, પરંતુ સ્વેપ કાઉન્ટર હજુ 0 હોય છે. અમે સ્વિચ કરવા માટે ન હોય તો કોઈપણ તત્વો, તેઓ પછી દ્વારા ક્રમમાં હોવી જ જોઈએ આ પ્રક્રિયા કારણે. અને તેથી પ્રકારની એક કાર્યક્ષમતા, કે અમે કમ્પ્યુટર વૈજ્ઞાનિકોનું પ્રેમ, આપણે હવે જાહેર કરી શકે છે સમગ્ર એરે એસડબલ્યુ ફાઇલોની અમે હતી, કારણ કે અલગ કરી કોઈપણ ઘટકો સ્વેપ છે. તે ખૂબ સરસ છે. તેથી શું ખરાબ કેસ છે બબલ સૉર્ટ સાથે દૃશ્ય? સૌથી ખરાબ કિસ્સામાં એરે છે સંપૂર્ણપણે વિપરીત ક્રમમાં, અને તેથી અમે દરેક બબલ છે મોટા બધા તત્વો એરે સમગ્ર માર્ગ. અને અમે અસરકારક રીતે પણ છે બબલ નાના તત્વો બધા પાછા પણ એરે બધી રીતે. તેથી n તત્વોના દરેક ખસેડવા છે અન્ય n તત્વોના બધી. જેથી ખરાબ કેસ દૃશ્ય છે. શ્રેષ્ઠ કિસ્સામાં દૃશ્ય છતાં, આ છે પસંદગી સૉર્ટ સહેજ અલગ છે. એરે પહેલાથી જ છે અમે જાઓ ત્યારે સોર્ટ થાય છે. અમે કોઈપણ બનાવવા નથી પ્રથમ પાસ પર અદલબદલ. તેથી અમે જોવા માટે હોય છે શકે છે ઓછા તત્વો, અધિકાર? અમે આ પુનરાવર્તન કરવાની જરૂર નથી પર સંખ્યાબંધ વખત પ્રક્રિયા કરે છે. તેથી તે શું અર્થ છે? તેથી શું ખરાબ કેસ દૃશ્ય છે બબલ સૉર્ટ માટે, અને શું છે બબલ સૉર્ટ માટે શ્રેષ્ઠ કેસ દૃશ્ય? તમે આ ધારી હતી? ખરાબમાં ખરાબ કિસ્સામાં તમે ફરી વળવું છે બધા n તત્વોના n વખત સમગ્ર. તેથી ખરાબ કેસ સ્ક્વેર્ડ n છે. એરે સંપૂર્ણપણે છે, તો છટણી છતાં, તમે માત્ર દરેક જોવા મળે છે એક વાર જ તત્વો છે. અને સ્વેપ કાઉન્ટર હજુ 0 છે, તો તમે આ એરે છટણી કરવામાં આવે છે કહી શકો છો. અને તેથી શ્રેષ્ઠ કિસ્સામાં, આ છે પસંદગી કરતાં ખરેખર સારી સૉર્ટ તે n ના ઓમેગા છે. હું ડો લોયડ છું. આ CS50 છે.