>> [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]