>> ZAMYLA ચાન: તમે કદાચ પ્રથમ વસ્તુ શોધ વિશે નોટિસ કે અમે પહેલાથી જ
કોડ આપણા માટે લખ્યું છે.
આ વિતરણ કોડ તરીકે ઓળખાય છે.
તેથી અમે અમારા પોતાના લેખન કરી રહ્યા છીએ હવે શરૂઆતથી કોડ.
તેના બદલે, અમે સમાપ્ત થઈ જાય છે ભરતા રહ્યા છો કેટલાક પૂર્વ અસ્તિત્વમાં કોડમાં.
>> આ find.c કાર્યક્રમ નંબરો માટે પૂછે છે આ haystack ભરવા માટે, શોધે છે
વપરાશકર્તા સબમિટ સોય માટે haystack, અને તે પ્રકારના ફોન અને દ્વારા કરે છે
શોધ, કાર્યો વ્યાખ્યાયિત helpers.c માં.
તેથી find.c પહેલેથી જ લખાયેલ છે.
તમારી નોકરી મદદગારો લખી છે.
>> તેથી અમે શું કરી રહ્યા છે?
અમે બે કાર્યો અમલ કરી રહ્યા છીએ.
સાચું આપે જે શોધો, તો નીચેની પરત, આ haystack જોવા મળે છે
ખોટા કિંમત છે નથી આ haystack માં.
અને પછી અમે પણ પ્રકારની અમલ કરી રહ્યા છીએ, જે કિંમતો કહેવાય એરે પ્રકારના.
તેથી આપણે શોધ હલ કરીએ.
>> શોધ હાલમાં અમલમાં મૂકાયેલ છે એક રેખીય શોધ છે.
પરંતુ તમે તે કરતાં વધુ સારી રીતે કરી શકે છે.
લીનિયર શોધ n ના ઓ અમલમાં મૂકાયેલ છે ખૂબ ધીમી છે જે, તે છતાં
તે આપવામાં કોઈપણ યાદી શોધી શકો છો.
તમારી નોકરી દ્વિસંગી શોધ અમલ કરવા માટે છે, લોગ n ના સમય કંઈપણ સ્કોર છે જે.
કે ખૂબ ઝડપી છે.
>> પરંતુ એક શરત છે.
બાઈનરી શોધો માત્ર શોધ કરી શકો છો પૂર્વ છટણી યાદીઓમાં.
શા માટે છે?
વેલ, જે એક ઉદાહરણ જુઓ.
કિંમતો પણ દર્શાવે છે આપવામાં આવે છે, આ haystack, અમે શોધી કરી રહ્યા છીએ
સોય માટે, અને આ માં ઉદાહરણ તરીકે, પૂર્ણાંક 3.
>> દ્વિસંગી શોધ કામ કરે છે કે જે રીતે કે અમે મધ્યમાં કિંમત કરો
ખૂબ છે કે સોય માટે એરે, કેવી રીતે અમે મધ્યમ માટે એક ફોન પુસ્તક ખોલ્યું
0 અઠવાડિયું માં પાનું.
તેથી માટે મધ્યમ કિંમત સરખામણી બાદ સોય, તમે ક્યાં તો કાઢી શકો છો
ડાબે અથવા એરે જમણી અડધા તમારા ભૂસકે કડક છે.
આ કિસ્સામાં, 3 થી, અમારા સોય છે 10 કરતાં ઓછી, મધ્યમ કિંમત, આ
અધિકાર બાઉન્ડ ઘટાડી શકે છે.
>> પરંતુ તમારા ભૂસકે બનાવવા પ્રયાસ શક્ય ચુસ્ત.
મધ્યમ કિંમત સોય નથી, પછી તમે તમારા માટે જરૂર નથી ખબર છે કે
તમારી શોધ માં સમાવેશ થાય છે.
તેથી બાઉન્ડ તમારા અધિકાર સજ્જડ કરી શકો છો માત્ર એક નાના બીટ વધુ સર્ચ ભૂસકે,
અને તેથી અને તેથી આગળ, ત્યાં સુધી તમે તમારા સોય શોધો.
>> તેથી સ્યુડો શું કરે છે કોડ જેમ દેખાય છે?
વેલ, અમે હજુ પણ મારફતે શોધી રહ્યાં છો, જ્યારે યાદી અને હજુ પણ છે
જોવા તત્વો, અમે મધ્યમાં લાગી યાદીમાં અને તે કરો
અમારા સોય માટે મધ્યમ કિંમત.
તેઓ સમાન છો, તો પછી તે અમે કર્યું છે એટલે સોય જોવા મળે છે, અને અમે કરી શકો છો
સાચું આવો.
>> નહિં તો, સોય કરતાં ઓછું હોય તો મધ્યમ કિંમત, પછી તે અર્થ એ થાય કે અમે
માત્ર યોગ્ય અડધા કાઢી શકો છો અને એરે ડાબી બાજુ શોધો.
અન્યથા, અમે શોધવા પડશે એરે જમણી બાજુ.
અને અંતે, જો તમે કોઇ નથી વધુ શોધવા માટે ડાબી બાજુ તત્વો પણ તમે
હજુ સુધી તમારા સોય મળ્યા નથી, પછી તમે ખોટા આવો.
સોય ચોક્કસ છે આ haystack નથી.
>> હવે, આ કૃત્રિમ એક સુઘડ વસ્તુ દ્વિસંગી શોધ કોડ છે તે કરી શકો છો કે જે
પુનરાવર્તન ક્યાં તરીકે અર્થઘટન કરી અથવા ફરી યાદ આવવું અમલ.
તમને કહેવામાં આવે તો તે ફરી યાદ આવવું હશે શોધ અંદર શોધ કાર્ય
એરે ક્યાં અડધા ભાગ પર કામ કરે છે.
અમે રિકર્ઝન થોડી આવરી પડશે પછી દરમિયાન.
પરંતુ તે એક વિકલ્પ છે કે ખબર નથી તમે પ્રયાસ કરવા માંગો છો.