1 00:00:00,000 --> 00:00:09,560 2 00:00:09,560 --> 00:00:13,120 >> ZAMYLA ચાન: તમે કદાચ પ્રથમ વસ્તુ શોધ વિશે નોટિસ કે અમે પહેલાથી જ 3 00:00:13,120 --> 00:00:14,520 કોડ આપણા માટે લખ્યું છે. 4 00:00:14,520 --> 00:00:16,219 આ વિતરણ કોડ તરીકે ઓળખાય છે. 5 00:00:16,219 --> 00:00:19,060 તેથી અમે અમારા પોતાના લેખન કરી રહ્યા છીએ હવે શરૂઆતથી કોડ. 6 00:00:19,060 --> 00:00:23,870 તેના બદલે, અમે સમાપ્ત થઈ જાય છે ભરતા રહ્યા છો કેટલાક પૂર્વ અસ્તિત્વમાં કોડમાં. 7 00:00:23,870 --> 00:00:28,860 >> આ find.c કાર્યક્રમ નંબરો માટે પૂછે છે આ haystack ભરવા માટે, શોધે છે 8 00:00:28,860 --> 00:00:33,260 વપરાશકર્તા સબમિટ સોય માટે haystack, અને તે પ્રકારના ફોન અને દ્વારા કરે છે 9 00:00:33,260 --> 00:00:36,660 શોધ, કાર્યો વ્યાખ્યાયિત helpers.c માં. 10 00:00:36,660 --> 00:00:38,740 તેથી find.c પહેલેથી જ લખાયેલ છે. 11 00:00:38,740 --> 00:00:41,840 તમારી નોકરી મદદગારો લખી છે. 12 00:00:41,840 --> 00:00:42,940 >> તેથી અમે શું કરી રહ્યા છે? 13 00:00:42,940 --> 00:00:45,270 અમે બે કાર્યો અમલ કરી રહ્યા છીએ. 14 00:00:45,270 --> 00:00:50,110 સાચું આપે જે શોધો, તો નીચેની પરત, આ haystack જોવા મળે છે 15 00:00:50,110 --> 00:00:52,430 ખોટા કિંમત છે નથી આ haystack માં. 16 00:00:52,430 --> 00:00:59,060 અને પછી અમે પણ પ્રકારની અમલ કરી રહ્યા છીએ, જે કિંમતો કહેવાય એરે પ્રકારના. 17 00:00:59,060 --> 00:01:01,120 તેથી આપણે શોધ હલ કરીએ. 18 00:01:01,120 --> 00:01:04,550 >> શોધ હાલમાં અમલમાં મૂકાયેલ છે એક રેખીય શોધ છે. 19 00:01:04,550 --> 00:01:06,620 પરંતુ તમે તે કરતાં વધુ સારી રીતે કરી શકે છે. 20 00:01:06,620 --> 00:01:11,610 લીનિયર શોધ n ના ઓ અમલમાં મૂકાયેલ છે ખૂબ ધીમી છે જે, તે છતાં 21 00:01:11,610 --> 00:01:14,920 તે આપવામાં કોઈપણ યાદી શોધી શકો છો. 22 00:01:14,920 --> 00:01:21,190 તમારી નોકરી દ્વિસંગી શોધ અમલ કરવા માટે છે, લોગ n ના સમય કંઈપણ સ્કોર છે જે. 23 00:01:21,190 --> 00:01:22,200 કે ખૂબ ઝડપી છે. 24 00:01:22,200 --> 00:01:24,240 >> પરંતુ એક શરત છે. 25 00:01:24,240 --> 00:01:28,910 બાઈનરી શોધો માત્ર શોધ કરી શકો છો પૂર્વ છટણી યાદીઓમાં. 26 00:01:28,910 --> 00:01:31,450 શા માટે છે? 27 00:01:31,450 --> 00:01:33,690 વેલ, જે એક ઉદાહરણ જુઓ. 28 00:01:33,690 --> 00:01:37,350 કિંમતો પણ દર્શાવે છે આપવામાં આવે છે, આ haystack, અમે શોધી કરી રહ્યા છીએ 29 00:01:37,350 --> 00:01:41,510 સોય માટે, અને આ માં ઉદાહરણ તરીકે, પૂર્ણાંક 3. 30 00:01:41,510 --> 00:01:45,220 >> દ્વિસંગી શોધ કામ કરે છે કે જે રીતે કે અમે મધ્યમાં કિંમત કરો 31 00:01:45,220 --> 00:01:49,430 ખૂબ છે કે સોય માટે એરે, કેવી રીતે અમે મધ્યમ માટે એક ફોન પુસ્તક ખોલ્યું 32 00:01:49,430 --> 00:01:51,720 0 અઠવાડિયું માં પાનું. 33 00:01:51,720 --> 00:01:55,710 તેથી માટે મધ્યમ કિંમત સરખામણી બાદ સોય, તમે ક્યાં તો કાઢી શકો છો 34 00:01:55,710 --> 00:01:59,620 ડાબે અથવા એરે જમણી અડધા તમારા ભૂસકે કડક છે. 35 00:01:59,620 --> 00:02:04,450 આ કિસ્સામાં, 3 થી, અમારા સોય છે 10 કરતાં ઓછી, મધ્યમ કિંમત, આ 36 00:02:04,450 --> 00:02:07,060 અધિકાર બાઉન્ડ ઘટાડી શકે છે. 37 00:02:07,060 --> 00:02:09,470 >> પરંતુ તમારા ભૂસકે બનાવવા પ્રયાસ શક્ય ચુસ્ત. 38 00:02:09,470 --> 00:02:12,690 મધ્યમ કિંમત સોય નથી, પછી તમે તમારા માટે જરૂર નથી ખબર છે કે 39 00:02:12,690 --> 00:02:14,070 તમારી શોધ માં સમાવેશ થાય છે. 40 00:02:14,070 --> 00:02:18,390 તેથી બાઉન્ડ તમારા અધિકાર સજ્જડ કરી શકો છો માત્ર એક નાના બીટ વધુ સર્ચ ભૂસકે, 41 00:02:18,390 --> 00:02:22,840 અને તેથી અને તેથી આગળ, ત્યાં સુધી તમે તમારા સોય શોધો. 42 00:02:22,840 --> 00:02:24,580 >> તેથી સ્યુડો શું કરે છે કોડ જેમ દેખાય છે? 43 00:02:24,580 --> 00:02:28,980 વેલ, અમે હજુ પણ મારફતે શોધી રહ્યાં છો, જ્યારે યાદી અને હજુ પણ છે 44 00:02:28,980 --> 00:02:33,540 જોવા તત્વો, અમે મધ્યમાં લાગી યાદીમાં અને તે કરો 45 00:02:33,540 --> 00:02:36,020 અમારા સોય માટે મધ્યમ કિંમત. 46 00:02:36,020 --> 00:02:38,380 તેઓ સમાન છો, તો પછી તે અમે કર્યું છે એટલે સોય જોવા મળે છે, અને અમે કરી શકો છો 47 00:02:38,380 --> 00:02:40,160 સાચું આવો. 48 00:02:40,160 --> 00:02:43,940 >> નહિં તો, સોય કરતાં ઓછું હોય તો મધ્યમ કિંમત, પછી તે અર્થ એ થાય કે અમે 49 00:02:43,940 --> 00:02:48,350 માત્ર યોગ્ય અડધા કાઢી શકો છો અને એરે ડાબી બાજુ શોધો. 50 00:02:48,350 --> 00:02:51,860 અન્યથા, અમે શોધવા પડશે એરે જમણી બાજુ. 51 00:02:51,860 --> 00:02:55,470 અને અંતે, જો તમે કોઇ નથી વધુ શોધવા માટે ડાબી બાજુ તત્વો પણ તમે 52 00:02:55,470 --> 00:02:58,030 હજુ સુધી તમારા સોય મળ્યા નથી, પછી તમે ખોટા આવો. 53 00:02:58,030 --> 00:03:02,960 સોય ચોક્કસ છે આ haystack નથી. 54 00:03:02,960 --> 00:03:06,200 >> હવે, આ કૃત્રિમ એક સુઘડ વસ્તુ દ્વિસંગી શોધ કોડ છે તે કરી શકો છો કે જે 55 00:03:06,200 --> 00:03:11,000 પુનરાવર્તન ક્યાં તરીકે અર્થઘટન કરી અથવા ફરી યાદ આવવું અમલ. 56 00:03:11,000 --> 00:03:14,900 તમને કહેવામાં આવે તો તે ફરી યાદ આવવું હશે શોધ અંદર શોધ કાર્ય 57 00:03:14,900 --> 00:03:18,400 એરે ક્યાં અડધા ભાગ પર કામ કરે છે. 58 00:03:18,400 --> 00:03:20,750 અમે રિકર્ઝન થોડી આવરી પડશે પછી દરમિયાન. 59 00:03:20,750 --> 00:03:23,210 પરંતુ તે એક વિકલ્પ છે કે ખબર નથી તમે પ્રયાસ કરવા માંગો છો. 60 00:03:23,210 --> 00:03:24,460