1 00:00:00,000 --> 00:00:13,300 2 00:00:13,300 --> 00:00:15,010 >> રોબ બોડેન: હાય, હું રોબ છું. 3 00:00:15,010 --> 00:00:16,790 આપણે કઈ રીતે દ્વિસંગી શોધ નોકરી છે? 4 00:00:16,790 --> 00:00:18,770 ચાલો શોધવા. 5 00:00:18,770 --> 00:00:23,400 તેથી, આ શોધ અમે રહ્યા છીએ નોંધ કરો કે પુનરાવર્તિત અમલ. 6 00:00:23,400 --> 00:00:27,470 તમે પણ દ્વિસંગી શોધ અમલ કરી શકે છે Iteratively, તેથી તમે તે ન હોય તો, 7 00:00:27,470 --> 00:00:29,280 કે સંપૂર્ણપણે દંડ છે. 8 00:00:29,280 --> 00:00:32,820 >> હવે પ્રથમ, છે, યાદ રાખો દો શું શોધ પરિમાણો સાબિત થાય છે. 9 00:00:32,820 --> 00:00:36,120 અહીં, અમે કે જે પૂર્ણાંક કિંમત, જુઓ વપરાશકર્તા છે કિંમત હશે તેવું માનવામાં 10 00:00:36,120 --> 00:00:37,320 માટે શોધ. 11 00:00:37,320 --> 00:00:40,800 અમે પૂર્ણાંક કિંમતો એરે, જુઓ જે અમે છો કે જેમાં એરે છે 12 00:00:40,800 --> 00:00:42,520 કિંમત માટે શોધ. 13 00:00:42,520 --> 00:00:45,602 અને અમે, કે જે પૂર્ણાંક n એ જુઓ અમારા એરે લંબાઈ. 14 00:00:45,602 --> 00:00:47,410 >> હવે, પ્રથમ વસ્તુ પ્રથમ. 15 00:00:47,410 --> 00:00:51,350 અમે n એ માં, 0 સમકક્ષ હોય છે જોવા માટે ચકાસણી અમે ખોટા પરત જે કેસ. 16 00:00:51,350 --> 00:00:54,770 અમે એક ખાલી હોય તો કે જે હમણાં જ કહેતા છે અરે, કિંમત એક સ્પષ્ટ નથી 17 00:00:54,770 --> 00:00:57,860 ખાલી એરે, તેથી અમે ખોટા પાછા આવી શકો છો. 18 00:00:57,860 --> 00:01:01,250 >> હવે, અમે ખરેખર બાઈનરી કરવા માંગો છો દ્વિસંગી શોધ શોધ ભાગ છે. 19 00:01:01,250 --> 00:01:04,780 તેથી, અમે મધ્યમ શોધવા માંગો છો આ એરે તત્વ. 20 00:01:04,780 --> 00:01:09,130 અહીં, અમે મધ્યમ વિ n એ બરાબર કહી 2 દ્વારા, મધ્યમ તત્વ છે, કારણ કે 21 00:01:09,130 --> 00:01:12,240 લંબાઈ જ હશે અમારા એરે 2 દ્વારા વિ. 22 00:01:12,240 --> 00:01:15,040 હવે અમે જોવા માટે ચકાસણી રહ્યા છીએ જો મધ્યમ તત્વ અમે છો કિંમત જેટલી જ થાય છે 23 00:01:15,040 --> 00:01:16,160 માટે શોધ. 24 00:01:16,160 --> 00:01:21,030 કિંમતો મધ્યમ કિંમત સમકક્ષ હોય છે તેથી, અમે અમે મળી કારણ કે સાચું પાછા આવી શકો છો જે 25 00:01:21,030 --> 00:01:22,810 અમારા એરે મૂલ્ય. 26 00:01:22,810 --> 00:01:26,380 >> પરંતુ એ વાત સાચી ન હોય તો, હવે અમે ફરી યાદ આવવું કરવા માટે જરૂરી 27 00:01:26,380 --> 00:01:27,840 દ્વિસંગી શોધ પગલાં. 28 00:01:27,840 --> 00:01:30,450 અમે ક્યાં શોધવા માટે જરૂર એરે અથવા માટે ડાબી બાજુ 29 00:01:30,450 --> 00:01:32,320 એરે મધ્યમ. 30 00:01:32,320 --> 00:01:39,280 મધ્યમ કિંમતો છે અહીં, અમે કહીએ છીએ કિંમત કરતાં ઓછી છે, કે જે કિંમત થાય 31 00:01:39,280 --> 00:01:41,350 મધ્યમ કરતાં વધારે હતી એરે. 32 00:01:41,350 --> 00:01:45,790 તેથી કિંમત જમણી હોવા જ જોઈએ અમે માત્ર પર જોવામાં તે તત્વ. 33 00:01:45,790 --> 00:01:48,090 >> અહીં, અમે રહ્યા છીએ પુનરાવર્તિત શોધો. 34 00:01:48,090 --> 00:01:50,320 અને અમે અમે પસાર કરી રહ્યાં છે તે જોવા મળશે બીજી આ છે. 35 00:01:50,320 --> 00:01:53,440 પરંતુ અમે માટે શોધ રહ્યા છીએ મધ્યમ તત્વ અધિકાર. 36 00:01:53,440 --> 00:01:57,710 જ્યારે અન્ય કિસ્સામાં, કે અર્થ એ થાય કે કિંમત મધ્યમાં કરતાં ઓછી હતી 37 00:01:57,710 --> 00:02:00,660 અરે, અને તેથી અમે રહ્યા છીએ ડાબી શોધવા માટે. 38 00:02:00,660 --> 00:02:03,520 હવે, ડાબી કરી રહ્યું છે થોડી સરળ જોવા. 39 00:02:03,520 --> 00:02:07,770 તેથી, અમે અમે પુનરાવર્તિત છો અહીં જુઓ જ્યાં પ્રથમ શોધ ફોન 40 00:02:07,770 --> 00:02:10,120 દલીલ, ફરી, નીચેની કોડ ગુમ અમે ઉપર શોધી રહ્યાં છે. 41 00:02:10,120 --> 00:02:14,970 બીજી દલીલ કરી રહ્યું છે અમે શોધ કરવામાં આવી હતી કે દર્શાવે છે. 42 00:02:14,970 --> 00:02:17,090 અને છેલ્લા તત્વ હવે મધ્યમ છે. 43 00:02:17,090 --> 00:02:21,650 છેલ્લા પરિમાણ અમારા પૂર્ણાંક છે યાદ રાખો n એ, કે અમારા એરે લંબાઈ, તેથી. 44 00:02:21,650 --> 00:02:25,310 >> શોધવા માટે ફરી યાદ આવવું કોલ, અમે છો હવે કહી કે લંબાઈ 45 00:02:25,310 --> 00:02:27,230 એરે મધ્યમાં છે. 46 00:02:27,230 --> 00:02:32,900 તેથી અમારા એરે કદ 20 અને આપણે જે હોય તો મધ્યમ છે, કારણ કે 10 અનુક્રમણિકા પર શોધ 47 00:02:32,900 --> 00:02:36,930 20 2 દ્વારા વિભાજી, કે અમે છો એનો અર્થ એ થાય નવા 10 પસાર 48 00:02:36,930 --> 00:02:38,300 અમારા એરે લંબાઈ. 49 00:02:38,300 --> 00:02:41,910 યાદ રાખો કે જો તમારી પાસે ઝાકઝમાળ છે જ્યારે લંબાઈ 10, કે જે માન્ય અર્થ એ થાય 50 00:02:41,910 --> 00:02:45,450 તત્વો 0 થી 9 દ્વારા સૂચકાંક છે. 51 00:02:45,450 --> 00:02:50,120 તેથી આ અમે કરવા માંગો છો બરાબર શું છે ડાબી - અમારા સુધારાશે એરે સ્પષ્ટ 52 00:02:50,120 --> 00:02:53,010 મધ્યમ તત્વ થી દર્શાવે છે. 53 00:02:53,010 --> 00:02:55,710 >> તેથી, યોગ્ય રહે છે થોડી વધુ મુશ્કેલ લાગે છે. 54 00:02:55,710 --> 00:03:00,170 હવે પ્રથમ, આ લંબાઈ વિચાર કરીએ પાંચ જમણી એરે 55 00:03:00,170 --> 00:03:01,240 મધ્યમ તત્વ. 56 00:03:01,240 --> 00:03:08,390 તેથી અમારા એરે માપ n ના હોય તો, પછી નવી એરે માપ n ઓછા હશે 57 00:03:08,390 --> 00:03:10,140 મધ્યમ 1 બાદ. 58 00:03:10,140 --> 00:03:12,530 તેથી, માતાનો n એ ઓછા મધ્યમ લાગે છે. 59 00:03:12,530 --> 00:03:18,710 >> ફરીથી, આ એરે કદ 20 હતા અને જો અમે મધ્યમાં વિચાર 2 દ્વારા વિભાજીત છે, 60 00:03:18,710 --> 00:03:23,540 જેથી મધ્યમ પછી 10, એન બાદ મધ્યમ છે અમને 10, તેથી 10 આપી રહ્યું છે 61 00:03:23,540 --> 00:03:25,330 મધ્યમ જમણી તત્વો છે. 62 00:03:25,330 --> 00:03:27,780 પરંતુ અમે આ બાદ છે 1, અમે નથી માંગતા કારણ કે 63 00:03:27,780 --> 00:03:29,700 મધ્યમ પોતે સમાવેશ થાય છે. 64 00:03:29,700 --> 00:03:34,190 તેથી n એ ઓછા મધ્યમ 1 બાદ ચાલો આપે જમણી તત્વો કુલ સંખ્યા 65 00:03:34,190 --> 00:03:36,800 એરે મધ્યમાં ઇન્ડેક્સ. 66 00:03:36,800 --> 00:03:41,870 >> હવે અહીં, યાદ છે કે મધ્યમ પરિમાણ કિંમતો વ્યૂહરચના છે. 67 00:03:41,870 --> 00:03:46,180 અહીં, અમે એક પસાર કરી રહ્યાં છો દ્વારા સુધારાશે કિંમતો પણ દર્શાવે છે. 68 00:03:46,180 --> 00:03:50,930 આ કિંમતો વત્તા મધ્યમ વત્તા 1 છે ખરેખર પુનરાવર્તિત કૉલ કહેતા 69 00:03:50,930 --> 00:03:56,460 શોધ, નવી એરે માં પસાર, જ્યાં કે નવી એરે મધ્યમાં શરૂ થાય છે 70 00:03:56,460 --> 00:03:59,370 વત્તા અમારી મૂળ કિંમતો એરે છે. 71 00:03:59,370 --> 00:04:05,400 >> તે માટે વૈકલ્પિક વાક્યરચના, હવે તમે છે, પોઇન્ટર જોવા માટે શરૂ કર્યું છે 72 00:04:05,400 --> 00:04:10,170 'ચિન્હ કિંમતો મધ્યમ વત્તા 1. 73 00:04:10,170 --> 00:04:17,149 તેથી, મધ્યમ ની સરનામા ગ્રેબ કિંમતો વત્તા એક તત્વ. 74 00:04:17,149 --> 00:04:23,690 >> હવે, તમે આરામદાયક ન થાય તો તમે, આવું જ એક એરે ફેરફાર 75 00:04:23,690 --> 00:04:28,900 પણ ઉપયોગ કરીને આ અમલ કરી શકે છે ફરી યાદ આવવું મદદગાર કાર્ય, જ્યાં 76 00:04:28,900 --> 00:04:31,680 કે મદદગાર કાર્ય છે વધુ દલીલો. 77 00:04:31,680 --> 00:04:36,610 તેથી તેના બદલે માત્ર કિંમત લેવાની છે, અરે, અને એરે માપ, 78 00:04:36,610 --> 00:04:42,315 આ મદદગાર કાર્ય વધુ સમય લાગી શકે છે નીચલા ઇન્ડેક્સ સહિત દલીલો, 79 00:04:42,315 --> 00:04:45,280 તમે એરે વિશે કાળજી છે કે જે અને તમે કાળજી કે ઉપર અનુક્રમણિકા 80 00:04:45,280 --> 00:04:46,300 એરે વિશે. 81 00:04:46,300 --> 00:04:49,770 >> અને તેથી બંને નીચલા રાખવામાં આવેલ ઇન્ડેક્સ અને ઉપલા અનુક્રમણિકા, તમે નથી 82 00:04:49,770 --> 00:04:52,780 ક્યારેય સુધારવા માટે જરૂરી મૂળ કિંમતો પણ દર્શાવે છે. 83 00:04:52,780 --> 00:04:56,390 તમે હમણાં જ ચાલુ રાખી શકો છો કિંમતો એરે ઉપયોગ કરે છે. 84 00:04:56,390 --> 00:04:59,540 પરંતુ અહીં, અમે સહાયક જરૂર નથી નોટિસ સુધી અમે છો તરીકે કામ 85 00:04:59,540 --> 00:05:01,760 મૂળ સુધારવા માટે તૈયાર કિંમતો પણ દર્શાવે છે. 86 00:05:01,760 --> 00:05:05,020 અમે પાસ તૈયાર છો સુધારાયેલ કિંમતો. 87 00:05:05,020 --> 00:05:09,140 >> હવે, અમે ઉપર દ્વિસંગી શોધ નથી કરી શકો છો ક્રમમાંગોઠવાયેલનથી કે પણ દર્શાવે છે. 88 00:05:09,140 --> 00:05:12,220 તેથી, ચાલો આ ઉકેલ વિચાર કરીએ. 89 00:05:12,220 --> 00:05:17,650 હવે, કે જે પ્રકારની છેલ્લા છે નોટિસ બે પરિમાણો છે, કે જે કિંમતો પૂર્ણાંક પાંચ 90 00:05:17,650 --> 00:05:21,110 અમે સૉર્ટ કરી રહ્યા છો કે જે એરે, અને પૂર્ણાંક n એ, એરે લંબાઈ છે કે 91 00:05:21,110 --> 00:05:22,250 અમે સૉર્ટ કરી રહ્યા છો. 92 00:05:22,250 --> 00:05:24,840 તેથી, અહીં અમે અમલ કરવા માંગો છો એક સૉર્ટ અલ્ગોરિધમનો 93 00:05:24,840 --> 00:05:26,690 કે સ્ક્વેર્ડ n ના ઓ છે. 94 00:05:26,690 --> 00:05:30,560 તમે બબલ સૉર્ટ કરો, પસંદગી પસંદ કરી શકો છો સૉર્ટ કરો, અથવા નિવેશ સૉર્ટ કરો, અથવા 95 00:05:30,560 --> 00:05:32,670 અમે છે કેટલાક અન્ય પ્રકારની વર્ગ જોવા મળે છે. 96 00:05:32,670 --> 00:05:36,380 પરંતુ અહીં, અમે રહ્યા છીએ પસંદગી સૉર્ટ વાપરો. 97 00:05:36,380 --> 00:05:40,030 >> તેથી, અમે ફરી વળવું રહ્યા છીએ સમગ્ર એરે પર. 98 00:05:40,030 --> 00:05:44,360 વેલ, અહીં આપણે વારો કરી રહ્યાં છો કે નહીં તે જોવા 0 થી n એ માટે ઓછા 1. 99 00:05:44,360 --> 00:05:45,990 શા માટે બધી રીતે n એ સુધી? 100 00:05:45,990 --> 00:05:49,320 વેલ, અમે પહેલાથી જ છટણી છે જો પ્રથમ પછી n 1 બાદ તત્વો, જે 101 00:05:49,320 --> 00:05:54,420 પહેલાથી જ હોવી જ જોઈએ શું ખૂબ જ છેલ્લા તત્વ યોગ્ય જગ્યાએ છે, તેથી પર સૉર્ટ 102 00:05:54,420 --> 00:05:56,520 સમગ્ર એરે. 103 00:05:56,520 --> 00:05:58,770 >> હવે, યાદ કેવી રીતે પસંદ સૉર્ટ કામ કરે છે. 104 00:05:58,770 --> 00:06:01,950 અમે સમગ્ર એરે પર જાઓ રહ્યા છીએ માં ન્યૂનતમ કિંમત માટે જોઈ 105 00:06:01,950 --> 00:06:04,480 એરે અને લાકડી કે શરૂઆતમાં. 106 00:06:04,480 --> 00:06:07,610 તો પછી અમે સમગ્ર પર જાઓ રહ્યા છીએ એરે ફરીથી બીજા શોધી 107 00:06:07,610 --> 00:06:10,410 નાના તત્વ, અને લાકડી કે આ બીજા સ્થિતિમાં 108 00:06:10,410 --> 00:06:12,100 અરે, અને તેથી. 109 00:06:12,100 --> 00:06:14,330 તેથી, આ શું કરે છે છે. 110 00:06:14,330 --> 00:06:17,290 >> અહીં, અમે અમે છો જોઈ રહ્યાં છો વર્તમાન ન્યૂનતમ સુયોજિત 111 00:06:17,290 --> 00:06:20,030 -i મી ઇન્ડેક્સમાં મૂલ્ય. 112 00:06:20,030 --> 00:06:23,160 જેથી પ્રથમ પુનરાવૃત્તિ પર, અમે રહ્યા છીએ લઘુત્તમ કિંમત ગણે છે 113 00:06:23,160 --> 00:06:25,030 અમારા એરે શરૂઆત. 114 00:06:25,030 --> 00:06:28,500 પછી, અમે ફરી વળવું રહ્યા છીએ માટે ચકાસણી ઍરેની બાકીની 115 00:06:28,500 --> 00:06:31,870 કરતાં ત્યાં કોઈપણ ઘટકો નાના તે જોવા અમે હાલમાં છો એ છે કે જે 116 00:06:31,870 --> 00:06:33,900 લઘુત્તમ વિચારણા. 117 00:06:33,900 --> 00:06:38,840 >> અહીં, જે વધુ મતો કિંમતો - કે જે છે અમે હાલમાં છે તેના કરતાં ઓછી 118 00:06:38,840 --> 00:06:40,380 લઘુત્તમ વિચારણા. 119 00:06:40,380 --> 00:06:42,940 તો પછી અમે અપડેટ કરવા જઈ રહ્યાં છો અમે ઓછામાં ઓછા કરવા માટે છે 120 00:06:42,940 --> 00:06:44,640 અનુક્રમણિકા જ વત્તા 1. 121 00:06:44,640 --> 00:06:48,540 તેથી, સમગ્ર એરે સમગ્ર કે નહિં હોય, અને આ પછી લૂપ, ઓછામાં ઓછા 122 00:06:48,540 --> 00:06:53,160 થી લઘુત્તમ તત્વ હોવું જોઈએ એરે-i મી સ્થાન. 123 00:06:53,160 --> 00:06:57,350 >> અમે તે છે, એટલે હંમેશાં સ્વેપ કરી શકો છો -i મી સ્થિતિ માં ન્યૂનતમ કિંમત 124 00:06:57,350 --> 00:06:58,230 એરે. 125 00:06:58,230 --> 00:07:00,130 તેથી આ માત્ર પ્રમાણભૂત સ્વેપ છે. 126 00:07:00,130 --> 00:07:03,940 અમે કામચલાઉ કિંમત સંગ્રહ - એરે-i મી કિંમત - 127 00:07:03,940 --> 00:07:08,460 એરે-i મી કિંમત મૂકવામાં ત્યાં અનુસરે છે કે ન્યૂનતમ કિંમત, 128 00:07:08,460 --> 00:07:13,580 અને પછી જ્યાં પાછું સંગ્રહ કરશે, પાંચ આપવામાં આવે છે વર્તમાન ન્યૂનતમ કિંમત 129 00:07:13,580 --> 00:07:16,460 એરે આઇ મી કિંમત છે, તેથી અમે તેને ગુમાવી ન હતી કે. 130 00:07:16,460 --> 00:07:20,510 >> તેથી, તો તેના પર ચાલુ રહે છે આગામી પુનરાવૃત્તિ. 131 00:07:20,510 --> 00:07:23,480 અમે બીજા શોધી શરૂ કરી શકશો ન્યૂનતમ કિંમત અને માં કે દાખલ 132 00:07:23,480 --> 00:07:24,590 બીજા સ્થાન. 133 00:07:24,590 --> 00:07:27,440 ત્રીજા પુનરાવૃત્તિ પર, અમે જોવા મળશે ત્રીજા ન્યૂનતમ કિંમત અને સામેલ કરો 134 00:07:27,440 --> 00:07:31,550 કે ત્રીજા સ્થિતિ માં, અને તેથી અમે છટણી એરે હોય ત્યાં સુધી છે. 135 00:07:31,550 --> 00:07:33,820 મારું નામ રોબ છે, અને આ પસંદગી સૉર્ટ હતી. 136 00:07:33,820 --> 00:07:39,456