Rob Bowden: Hi, Mən Rob deyiləm. Necə bir ikili axtarış istifadə edirlər? Tapmaq edək. Belə ki, bu axtarış gedirik Qeyd edək ki, recursively həyata keçirmək. Siz həmçinin ikili axtarış həyata bilər iteratively, belə ki, əgər, ki, mükəmməl gözəl var. İndi ilk nin unutmayın edək nə axtarış parametrləri olmaq üçün nəzərdə tutulub. Burada, biz olan int dəyər bax istifadəçi dəyəri ehtimal üçün axtarış. Biz int dəyərlər array, olan biz istəyirik ki, array dəyər üçün axtarış. Və biz olan, int n bax bizim serialın uzunluğu. İndi, ilk şey ilk. Biz n, 0 bərabərdir görmek üçün yoxlamaq biz yalan olan halda. Biz boş varsa ki, yalnız deyərək oldu array, dəyər aydın deyil boş array, biz yalan ola bilər. İndi, biz, həqiqətən ikili etmək istəyirəm Binar axtarış axtarış hissəsidir. Belə ki, biz orta tapmaq istəyirsinizsə bu serialın element. Burada, biz orta bölünür n bərabərdir demək 2, orta element çünki uzunluğu olacaq bizim array 2 bölünür. İndi biz kontrol olacaq əgər orta element biz istəyirik dəyərinə bərabərdir üçün axtarış. Dəyərlər orta dəyərinə bərabərdir Belə ki, biz biz aşkar ildən doğru ola bilər bizim array dəyəri. Lakin bu doğru deyil, əgər, indi biz recursive etmək lazımdır Binar axtarış addım. Biz ya axtarmaq lazımdır serialın və ya sol serialın orta. Orta dəyərlər Belə ki, burada biz demək dəyəri az, ki, dəyəri deməkdir ortada daha böyük idi Serialın. Belə ki, dəyəri sağ olmalıdır biz yalnız baxdı ki, element. Belə ki, burada biz olacaq recursively axtarış. Və biz keçən olduğunuz baxmaq lazımdır ikinci bu. Amma biz üçün axtarış olacaq orta element hüququ. Və digər halda, o deməkdir ki, dəyəri ortasında az idi array, və biz olacaq sol axtarış. İndi, sol olacaq bir az daha asan baxmaq. Belə ki, biz recursively istəyirik ki, burada baxın burada ilk axtarış zəng arqument yenə dəyəri biz artıq arıyorsanız. İkinci arqument olacaq edir biz artıq axtarış ki, array. Və son element indi orta edir. Son parametri bizim int saxla n ki, bizim serialın uzunluğu belə. Axtarış recursive zəng, biz istəyirik indi söyləyən uzunluğu array orta edir. Belə ki, bizim array ölçüsü 20 və biz idi əgər orta, çünki indeksi 10 axtarış 20 2 bölünür ki, biz istəyirik deməkdir yeni kimi 10 keçən bizim serialın uzunluğu. Xatırla ki, bir sıra zaman uzunluğu 10, ki, etibarlı deməkdir elementlər 0 9 göstəriciləri. Belə ki, bu biz istədiyiniz tam olaraq budur sol - bizim yenilənir array daxil orta element array. Belə ki, sağ axtarır bir az daha çətin. İndi ilk, ən uzunluğu hesab edək Bu hüququ serialın orta element. Belə ki, bizim array ölçüsü n idi, onda yeni array ölçüsü n minus olacaq orta minus 1. Belə ki, n minus ortasında hesab edək. Yenə array ölçüsü 20 olsaydılar biz orta almaq üçün 2 bölmək, belə ki, orta sonra 10, n minus orta bizə 10, belə ki, 10 vermək niyyətindədir orta sağ elementləri. Amma biz də bu minus var 1, biz istəmirəm-ci ildən orta özü daxildir. Belə ki, n minus orta minus 1 bizə verir sağ elementlərin ümumi sayı serialın orta indeksinin. İndi burada, unutmayın ki, orta parametri dəyərlər array edir. Belə ki, burada biz keçən edirik yenilənib dəyərlər array. Bu dəyərlər plus orta plus 1 həqiqətən recursively zəng deyərək axtarış, yeni bir sıra keçən, harada ki, yeni array ortasında başlayır plus bizim orijinal dəyərlər serialın bir. Ki, bir alternativ sintaksis, indi ki, siz ki, göstəricilərinə görmək başlamışdır etdik işareti dəyərlər orta plus 1. Belə ki, orta ünvanı işğalçı dəyərlərin plus bir element. İndi rahat deyil, əgər siz ki, kimi bir sıra değiştirmeyle da istifadə edərək bu həyata ola bilər bir recursive köməkçi funksiyası, harada ki, köməkçi funksiyası edir daha dəlilləri. Belə ki, əvəzinə yalnız dəyəri alaraq, array, və serialın ölçüsü, köməkçi funksiyası daha bilər aşağı indeks o cümlədən dəlilləri, siz array haqqında qayğı ki, və qayğı ki, üst index array haqqında. Və həm də aşağı track saxlanılması index və yuxarı index, siz deyil Heç dəyişdirmək lazımdır orijinal dəyərlər array. Siz yalnız davam edə bilər dəyərlər array istifadə edin. Amma burada, biz bir köməkçi lazım deyil fark kimi uzun biz etdiyiniz kimi fəaliyyət orijinal dəyişdirmək istəyən dəyərlər array. Biz keçmək istediğiniz yenilənmiş dəyərlər. İndi biz artıq ikili axtarış bilməz çeşidlənməmiş bir array. Belə ki, bu sıralanır almaq edək. İndi ki, sort son bildiriş iki parametrləri olan dəyərlər int biz çeşidlənməsi edirik ki, array, və int n, serialın uzunluğu olan biz çeşidlənməsi edirik. Belə ki, burada biz həyata istəyirəm bir çeşidlənməsi alqoritm ki, n o kvadrat edir. Siz bubble sort, seçimi seçə bilər sort, və ya durub sort, və ya biz bəzi digər növ sinif görüldü. Amma burada, biz olacaq seçim növ istifadə edin. Belə ki, biz təkrarlamaq olacaq bütün array üzərində. Yaxşı, burada biz iterating etdiyiniz bax 0-dan n minus 1. Niyə bütün yol n qədər? Bəli, biz artıq sıralanır olsanız ilk sonra n minus 1 elementləri, artıq olmalıdır nə son element doğru yerdə, belə ki, artıq çeşidlənməsi bütün array. İndi xatırlayıram necə seçim sort işləyir. Biz bütün serialın üzərində getmək olacaq minimum dəyər axtarır Bu array və stick ki, başında. Sonra biz bütün artıq getmək olacaq array yenidən ikinci axtarır kiçik element, və stick ki, Bu ikinci mövqe array, və s. Belə ki, bu nə var. Burada, biz istəyirik ki gördükdə cari minimum qəbulu i-ci index dəyəri. Belə ki, ilk iteration, biz olacaq minimum dəyəri hesab üçün bizim serialın start. Sonra, biz təkrarlamaq olacaq yoxlanılması serialın qalan dən çox hansı elementləri kiçik görmek biz hazırda olduğunuz bir minimum nəzərə. Belə ki, burada, j plus bir dəyər - ki, Hal-hazırda nə az minimum nəzərə. Sonra biz yeniləmə olacaq nə biz minimum hesab edirəm index j plus 1. Belə ki, bütün array arasında bunu, və sonra loop, minimum olan minimum element olmalıdır serialın i-ci mövqe. Biz ki, var, biz dəyişdirmək bilər i-ci mövqe daxil minimum dəyəri array. Belə ki, bu, yalnız bir standart dəyişdirmək olur. Biz müvəqqəti dəyəri saxlamaq - serialın i-ci dəyəri - serialın i-ci dəyəri qoyulan orada məxsusdur minimum dəyəri, və sonra harada geri saxlamaq Bu olmaq üçün istifadə cari minimum dəyəri array i-ci dəyəri, belə biz onu itirmək olmadığını. Belə ki, davam edir növbəti iteration. Biz ikinci axtarır başlamaq lazımdır minimum dəyəri və daxil daxil İkinci yerdə. Üçüncü iteration, biz baxmaq lazımdır üçüncü minimum dəyəri və insert ki, üçüncü mövqe və belə biz bir sorted array var qədər. My name Rob və bu seçim sort idi.