[MUSIC PLAYING] ZAMYLA Chan: Siz bilər ilk şey tapmaq haqqında xəbərdarlıq edir ki, biz artıq kodu bizim üçün yazıblar. Bu distribution kodu adlanır. Beləliklə, biz yalnız öz yazılı deyilik artıq sıfırdan kodu. Əksinə, biz boşluqları dolduraraq edirik bəzi pre-mövcud kodu. The find.c proqram nömrələri üçün tələb Bu ot tayası doldurmaq üçün axtarış bir istifadəçi təqdim iynə ot tayası, və bu cür zəng və bu yoxdur axtarış, funksiyaları müəyyən helpers.c da. Belə ki, find.c artıq yazılmışdır. Sizin iş köməkçiləri yazmaq üçün. Beləliklə, biz nə edirik? Biz iki funksiyaları həyata edirik. Doğru qayıdır axtarış, əgər bir dəyər qaytarılması, ot tayası aşkar yalan dəyəri əgər deyil ot tayası. Və sonra biz də sort həyata edirik olan dəyərlər adlı array növ. Belə ki, axtarış həll edək. Axtarış hazırda kimi həyata keçirilir xətti axtarış, lakin daha edə bilərsiniz daha yaxşı. Xətti axtarış O həyata keçirilir n vaxt, hansı olduqca yavaş. Baxmayaraq ki, bu axtarış edə bilərsiniz ona verilmiş hər hansı siyahısı. Sizin iş ikili axtarış həyata keçirmək, log n vaxt O davam edən. Bu olduqca sürətli. Amma bir şərt var. Binary axtarış yalnız axtarış edə bilərsiniz pre-sıralanır siyahıları vasitəsilə. Niyə ki? Yaxşı bir misal baxaq. Dəyərlərin bir sıra nəzərə alaraq, ot tayası, biz axtarır olacaq bir iynə. Və bu nümunə, tam üç. Ikili axtarış çalışır ki, yol ki, biz orta dəyəri müqayisə çox kimi iynə üçün array, necə biz orta kitabçasını açdı Həftə sıfır səhifə. Belə ki, üçün orta dəyər müqayisə sonra iynə, ya imtina edə bilər sol və ya serialın sağ yarım Sizin həddi daralma ilə. Bu halda, üç ildən, bizim iynə, az 10, orta dəyəri, edir sağ bound azalda bilər. Lakin həddi etmək üçün cəhd mümkün qədər sıx. Orta dəyəri iynə deyilsə, sonra sizə lazım deyil ki, bilirik axtarış daxil. Beləliklə, siz sağ bound etdiyiniz bərkidin bilər yalnız kiçik bir bit daha search həddi, və s və s qədər Siz iynə tapa bilərsiniz. Belə ki, nə pseudocode kimi görünür? Biz hələ aradığınız isə yaxşı siyahısı və hələ elementləri var baxmaq, biz siyahısı ortasında almaq və orta dəyəri müqayisə bizim iynə. Onlar bərabər etdiyiniz, onda ki, biz var deməkdir iynə aşkar və biz doğru geri. Əks halda, iynə az olduqda orta dəyəri, sonra ki, biz deməkdir sağ yarım imtina və yalnız bilər serialın sol axtarış. Əks halda, biz axtarış lazımdır Serialın sağ. Və sonunda, əgər hər hansı bir yoxdur daha axtarmaq üçün sol elementləri ancaq Əgər hələ iynə tapılmadı yalan qayıtmaq çünki iynə mütləq ot tayası deyil. Bu pseudocode haqqında artıq bir səliqəli şey ikili axtarış ola bilər ki, bir iterative ya kimi şərh və ya recursive həyata keçirilməsi. Adlı əgər Belə ki, recursive olacaq Axtarış ərzində axtarış funksiyası Serialın ya yarısında fəaliyyət göstərir. Biz bir az sonra da recursion əhatə edəcəyik Əlbəttə, lakin bir olduğunu bilirik seçimi cəhd istəyirsinizsə. İndi növ baxaq. Sort bir sıra və tam edir serialın ölçüsü olan n. İndi müxtəlif növləri var növ, və bəzi baxmaq olar demoları və izahat şort. Üçün qaytarılması növü bizim sort funksiyası etibarsız edir. Belə ki, biz fikrində deyilik o deməkdir ki, sort hər hansı bir sıra qayıtmaq üçün. Biz, həqiqətən, çox dəyişiklik olacaq bizə daxil köçürdü array. Diziler, çünki mümkündür biz İndi C. istinad lazımdır keçdi sonra bu barədə daha çox görmək, lakin keçən arasında əsas fərq tam və keçən kimi bir şey bir sıra olduğunu zaman bir tam keçmək, C yalnız gedir ki, tam surəti və keçmək funksiyası üçün. Orijinal dəyişən dəyişdirilə bilməz funksiyası başa dəfə. Bir sıra ilə, digər tərəfdən, bu surəti etmək olacaq və siz deyil həqiqətən redaktə ediləcək çox array özü. Belə ki, növ bir növü seçim sort. Seçim sort başlayan çalışır Siz təkrarlamaq sonra başlanğıcı, üzərində və kiçik element tapa bilərsiniz. Və sonra dəyişdirmək ki, kiçik ilk bir ilə element. Və sonra ikinci element hərəkət , Növbəti kiçik tapmaq sonra element və dəyişdirmək ki, ilə serialın ikinci element çünki ilk element artıq çeşidlənir. Və sonra hər davam kiçik müəyyən element dəyər və onu dəyişdirmə. 0, ilk element bərabərdir üçün n minus 1, siz müqayisə etmək olacaq hər növbəti sonra dəyər və tapmaq minimum dəyər index. Siz minimum dəyəri indeksi tapmaq, Siz array ki, dəyəri dəyişdirmək olar minimum və array I. Növ bir növü ki, siz həyata bubble sırala edir. Siyahıda üzərində belə bubble sırala iterates bitişik elementləri və müqayisə elementləri dəyişdirmə ki, səhv üçün var. Və bu yol, ən böyük element bubble sonuna edəcək. Və siyahıdan bir dəfə bir daha çeşidlənir elementləri dəyişdirildikdə edilmişdir. Belə ki, həmin növ iki misaldır sizin üçün həyata bilər ki, alqoritmlər tapmaq program. Siz sort bitirmək və siz var bir dəfə axtarış həyata, başa edirik. My name Zamyla və bu CS50 edir. [MUSIC PLAYING]