>> HOPARLÖR 1: Hey hər kəs!
Bölmə geri xoş gəlmisiniz.
Burada həm çox görmək üçün şad, və online seyr edən hər kəs.
Belə ki, adi xoş geri kimi.
Mən sizə bütün bir sevimli idi ki, ümid edirik istirahət tam həftə sonu, istirahət.
Bu dünən gözəl idi.
Belə ki, mən açıq havada həzz ümid edirik.
>> Elanlar bir neçə Belə ki, ilk.
Grading.
Belə ki, sizin ən kazanılmış olmalıdır bir Sizin Scratch Pset barədə mənə e-poçt,
habelə Pset 1 grading.
Belə ki, yalnız bir neçə şeyi.
Style50 da check50 istifadə etmək üçün əmin olun.
Bu üçün nəzərdə edilir uşaqlar üçün resursları,
Siz əldə etdiyiniz əmin etmək Siz kimi çox xal
ehtiyacsız onlara kaybetmeden.
Belə ki, stil kimi şeylər çox vacibdir.
Biz bunun üçün off almaq üçün gedir.
Siz bəzi artıq ola bilər Pset ki, qeyd.
Və check50 yalnız bir deyil əmin etmək həqiqətən asan bir yoldur
biz, həqiqətən qaytarılması edirik ki, nə istifadəçi geri olmalıdır,
və hər şey düzgün çalışır.
>> İkinci qeyd, əmin sizin doğru qovluğa şeyi yüklemek.
Bu, mənim həyat yalnız bir edir az daha çətin
Siz pset 1-pset 2 yüklemek əgər Mən hər şeyi download zaman, çünki,
Onlar düzgün download etməyin.
Mən bir az bitkin bilirik sistemi üçün istifadə almaq üçün,
lakin yalnız super olacaq Ehtiyatlı olun, yalnız mənə əgər,
ki, e-poçt əldə etdiyiniz zaman kimi 2 günortaya qədər at Mən grading edirəm.
Əgər mən baxmaq lazımdır səbəb bütün ətrafında Pset üçün.
Cool.
>> Mən erkən olduğunu bilirik, lakin mən tamamilə qarovul off götürülmüş oldu
Bu cümə görə ki, inşa, tərəfindən mənim professor yeah oh, istədiyiniz yalnız idi.
Unutmayın, bir var Cümə günü səbəbiylə inşa.
Belə ki, mən heç bir bəyənir bilirik midterms düşünmək,
lakin ilk viktorina, 15 oktyabr edir oktyabr bu həftə başlayır.
Belə ki, tez ola bilər gözləniləndən daha bütün edir.
Belə ki qarovul off atılan deyilik Mən oh ki, növbəti həftə bölmə qeyd
Sizin viktorina gələn həftə, mən düşündüm Mən daha çox bir az vermək istədiyiniz
İndi bir rəhbərləri.
>> Belə ki, problem set, sayı üç.
Insanlar oxumaq necə maraq spec?
OK.
Biz bir neçə var.
Kind aşağı sonuncu lakin həftə OK.
Mən bu gözəl idi bilirik.
Belə ki, Out ayırın.
Mütləq həyata almaq sonra Bu gün ən azı spec oxumaq
yüklənərkən kimi cəhd distribution kodu və çalışan
İlk ilkin kimi Onlar xahiş ki, bir şey.
Biz istifadə Çünki distribution kodu və kitabxana
biz yalnız --It yalnız using-- etdik ki, biz bu pset etdik ikinci dəfə,
crazy şey ola bilər Sizin cihaz ilə,
və siz tapmaq istəyirəm həyata indi sonra qarşı.
>> Cümə axşamı gecə və ya əgər çünki Çərşənbə gecə və nədənsə
Sizin cihaz yalnız deyil kitabxana ilə almaq istəyirsinizsə
və ya paylanması ilə kodu, deməkdir ki,
hətta kodlaşdırma bunu başlamaq bilməz.
Siz kontrol edə bilərsiniz, çünki Bu işləri görmək üçün.
Sizin mý deyil biləcəklər tərtib görmek üçün.
Siz erkən olanların qayğı istəyirəm həftə, siz hələ mənə e-poçt bilər
və ya digər TFS biri, və biz o sabit əldə edə bilərsiniz.
O Çünki məsələlər siz dayandırmaq gedir
heç bir real irəliləyiş.
Bu, bir səhv kimi deyil Siz yalnız cür atlayabilirsiniz.
Siz məsələləri olan edirsinizsə sizin cihaz və ya distribution kodu,
siz həqiqətən qəbul almaq istəyirəm sonra tez daha çox qayğı.
Belə ki, hətta siz həqiqətən mý deyilik əgər kodlaşdırma başlamaq paylanması download
kodu, spec oxumaq, əmin olun hər şey var çalışır.
OK?
Yalnız bunu edə bilərsiniz, mən asan olacaq həyatlarını söz verirəm.
Və yəqin ki, olacaq İndi sağ bunu?
OK.
Belə ki, hər hansı bir sualınız?
Hər hansı bir logistik şey?
Hər kəs yaxşı?
OK.
>> Həmin üçün Disclaimer Siz oda və online.
Mən keçmək üçün çalışırıq gedirəm cihaz PowerPoint arasında
Biz gedirik, çünki bəzi coding bunu etmək
anonim məşhur tələbi ilə bu gün təklif poll Mən keçən həftə göndərdi.
Belə ki, biz bəzi coding məşğul olacaq.
Belə ki, uşaqlar da istəyirsinizsə Sizin texnikası up yanğın,
və bir e-poçt almış olmalıdır nümunə fayl ilə, mənə.
Bunu etmək üçün çekinmeyin.
>> Beləliklə, biz haqqında danışmaq olacaq Ayıklama olan gdb.
Bu sizə kömək olacaq cür anlamaq
şeyi kodu yanlış gedir.
Bu, həqiqətən addım üçün yalnız bir yol var kodu vasitəsilə bunun kimi,
və dəyişənlərin çap edə biləcəklər və ya faktiki neler
başlıq proqram ayələri altında yalnız çalışan, bu faulting kimi,
və siz heç bir fikir kimi istəyirik nə yalnız burada oldu.
Mən uğursuz nə line bilmirəm.
Bu yanlış getdi harada bilmirəm.
Belə ki, gdb ilə sizə kömək edir.
Ayrıca, istəsəniz bəli davam və 61,
Bu, həqiqətən, həqiqətən olacaq sizin ən yaxşı dostu, mən sizə deyə bilər səbəb
Mən sinif gedirəm, çünki.
>> Biz ikili baxmaq olacaq axtarış, uşaqlar xatırlayıram əgər
böyük telefon kitab misal sinif tamaşa.
Biz həyata, və olacaq bir az daha vasitəsilə gəzinti,
və sonra dörd vasitəsilə olacaq Bubble olan müxtəlif növ,
Seçilməsi, Taxmaq, və Birleştirme.
Cool.
Belə ki, mən qeyd gdb kimi, bir ayıklama edir.
Və bu böyük növü var şeylər, böyük funksiyaları və ya əmrləri
Siz gdb ərzində istifadə və mən gəzmək ki, Siz ikinci bu bir demo vasitəsilə.
>> Belə ki, bu deyil mücərrəd qalmaq olacaq.
Mən cəhd və beton kimi etmək lazımdır uşaqlar üçün mümkün.
Belə ki, qırmaq.
Bu da fasilə olacaq kimi bir sıra olan
, proqram bir xətt təmsil və ya bir funksiyası olar.
Belə ki, əsas qırmaq demək əgər, Bu, əsas da dayandırmaq
və funksiyası vasitəsilə gəzmək edək.
>> Eyni zamanda, bəzi xarici varsa Swap və ya Cube kimi fəaliyyət,
biz ötən həftə baxdı ki.
Bu bir fasilə demək, proqram xit zaman, ki,
Bu sizin üçün gözləmək lazımdır nə demək.
Bu, yalnız belə icra əvvəl həqiqətən funksiyası daxilində addım bilər
və neler oldu.
Belə ki, Next, yalnız üzərində skips növbəti line, funksiyaları üzərində gedir.
Addım.
Bu bütün kiçik mücərrəd.
Belə ki, yalnız onların vasitəsilə çalıştırmak üçün gedirəm, ancaq ikinci istifadə onları görmək lazımdır.
>> Bir funksiyası daxil Addım.
Kimi mən deyirdim, Swap ilə, olduğu kimi
Siz həqiqətən istəyirik kimi imkan verir kimi fiziki daxilində gücləndirməklə,
o dəyişənlərin siz mess, çap Onlar nə, neler oldu.
Siyahı sözün yalnız çap edəcək ətraf kodunu.
Belə ki, siz cür unutmaq əgər Siz proqram olduğu,
və ya merak etdiyiniz nə ətrafında neler
bu yalnız bir seqment çap edəcək onun ətrafında beş və ya altı xətləri istəyirəm.
Belə ki, siz yönümlü bilər Siz harada haqqında.
>> Bəzi dəyişən çap.
Belə ki, əsas kimi varsa Sezar, biz baxmaq lazımdır ki.
Siz hər hansı bir anda Çap Açar demək olar.
Dəyəri belə nə deyim ki, bəlkə haradasa yol boyunca,
Sizin əsas yazılmaması.
Siz, həqiqətən, çünki demək olar həqiqətən dəyər müşahidə edə bilərsiniz.
>> Yerli, yalnız izləri yerli dəyişənlərin.
Belə ki, zaman bir loop etdiyiniz, və yalnız oh, kimi görmək istəyirik.
Mənim nədir?
Bu əsas dəyəri nədir Mən burada başlamaq ki?
Bu nöqtədə mesaj nədir?
Bu, yalnız bütün çap edəcək o, belə ki, siz
fərdi yoxdur Print I. Print Mesaj, deyirlər.
Print Key.
Və sonra göstərin.
Hansı ki, yoxdur sizin kimi proqramı vasitəsilə addım,
Bu yalnız əmin etmək lazımdır Bəzi dəyişən tapılanlar
hər nöqtədə.
Belə ki, siz --it var also-- qısa harada cür
Siz oh kimi davam yoxdur.
Print Key ya çap I. Bu, yalnız sizin üçün bunu avtomatik olaraq.
>> Belə ki, ki, biz gedirik Bu gedir necə.
Mən cəhd və keçid gedirəm mənim cihaz üzərində.
Mən bunu edə bilərsiniz əgər baxın.
Bütün.
Biz yalnız güzgü olacaq.
Crazy şey yoxdur Mənim laptop zaten.
OK.
Bu bir olmalıdır.
Bu, belə kiçik deyil.
Biz bunu edə bilərsiniz əgər in nəzər salaq.
>> OK.
Alice açıq-aydın mübarizə Burada yalnız bir az,
ancaq bir MOMENTO almaq lazımdır.
OK.
Biz yalnız bu artırmaq niyyətindəyik.
OK.
Hər kəs cür ki, görmək edə bilərəmmi?
Bəlkə bir az?
Mən bunu bir az kiçik bilirik.
Siz çox anlamaq bilməz bu böyük etmək üçün necə.
Hər kəs bilir.
Hər kəs daha böyük etmək üçün necə bilir?
OK.
Biz bununla gəzmək olacaq.
Yalnız çünki zaten etməz ki, uşaqlar lazımdır kod
var.
>> Hansı daha vacibdir burada terminal edir.
Və biz niyə bu qədər kiçik burada var?
Parametrlər.
Oh.
True Ike.
Bu necə oldu?
Orada.
Ki, hər kəs üçün daha yaxşı deyilmi?
OK ,.
Cool.
>> Bir CS etdiyiniz zaman Bilirsiniz class texniki çətinliklər
the-- cür hissəsi Belə ki, bu sil.
OK.
Belə ki, burada hissəsində, biz burada idi.
Caesar bir yürütülebilir fayl.
Mən bunu.
Belə ki, gdb ilə həyata bir şey ki, yalnız yürütülebilir faylları üzərində işləyir.
Belə ki, bir DOTSY run bilməz.
Siz, həqiqətən, etmək lazımdır Sizin kodu tərtib əmin,
və bu, həqiqətən run bilər ki.
>> Bu deyil, əgər Belə ki, əmin olun tərtib, tərtib almaq,
ki cür vasitəsilə çalıştırabilirsiniz.
Belə ki, gdb başlamaq üçün, bütün etmək, Gloria növü gdb, və sonra yalnız
istədiyiniz fayl.
Mən həmişə Sezar orfoqrafik səhv.
Amma əmin etmək istəyirəm bir yürütülebilir ildən,
ti nin dot flash ki, siz olacaq deməkdir
CSI siz icra olacaq çalıştırmak üçün Bu ayıklama ilə və ya faylları.
OK.
Belə ki, siz almaq nə hədyan bu cür.
Bu ayıklama yalnız hər şeyi var.
Siz, həqiqətən, yoxdur indi bu barədə narahat.
Gördüyünüz kimi, biz bu var açıq parens, ÜDM, yaxın parens,
və yalnız cür kimi görünür Bizim command line, sağ?
>> Belə ki, biz do-- nə istəyirəm --So, Ilk şey
Biz seçmək istəyirəm bir yer pozmaq.
Belə ki, bir səhv var Bu Caesar proqram
Hesab edirəm ki, təqdim ki, biz tapmaq olacaq.
Bu daxil edir ki, bu nə Bütün caps Barfoo, və nədənsə
Bu yalnız tərk A. dəyişmir tək, doğru hər şey mi
lakin ikinci məktubu A dəyişməz olaraq qalır.
Belə ki, biz cəhd olacaq və ki, niyə anlamaq.
Belə ki, ilk şey adətən Siz gdb başlamaq zaman etmək istəyirəm
pozmaq harada həyata rəqəm deyil.
>> Belə ki, Sezar olduqca qısa proqramdır.
Biz yalnız sağ, bir funksiyası var?
Sezar funksiyası nə idi?
Yalnız bir funksiyası, Main doğru var?
Əsas funksiyası bütün proqramları üçün.
Əgər əsas olmasaydı, mən bilər narahat az indi ola,
lakin mən bütün var Main idi ümid edirik.
Belə ki, nə biz nə edə bilərik bilər yalnız kimi, Main pozub.
Belə ki, OK, deyir.
Biz orada breakpoint bir müəyyən.
>> Belə ki, xatırlamaq indi şey Caesar edir bir command line arqument hüququ alır
və biz hər yerdə hələ ki, həyata yoxdur.
Belə ki, nə zaman Siz, həqiqətən, run getmək
Bu proqram, siz etdiyiniz hər hansı bir proqram gdb çalışan command line lazımdır
arqumentlər, siz daxil olacaq zaman ilk yayınlanmaya başlar.
Belə ki, bu halda, biz nə Üç açarı ilə Run.
Və həqiqətən başlayacaq.
>> Burada görmək Belə ki, biz RC 2 bərabər deyil.
Belə ki, uşaqlar bütün varsa Mən göndəriləcək ki, fayl
ki, kimi ki, görürsünüz ilk line, bizim əsas funksiyası, sağ?
Biz görmek üçün yoxlanılması dəlilləri doğru sayı.
Belə ki, siz merak edirsinizsə RC doğru əgər,
Yalnız Print RC kimi bir şey edə bilərsiniz.
RC olan iki biz doğru nə gözlənilir, nə?
>> Belə ki, biz növbəti getmək bilər, vasitəsilə davam edir.
Belə ki, biz bəzi əsas var.
Və biz əsas çap edə bilərsiniz ki, doğru deyil əmin olun.
Maraqlı.
Olduqca biz gözlənilir nə.
Belə ki, bir şey həyata keçirmək üçün də gdb ilə,
Siz, həqiqətən, hit qədər deyil ki, Next, siz yalnız gördüm ki, xətt
həqiqətən icra edilir.
Belə ki, bu halda Key hələ təyin olunmayıb.
Belə ki, Key bəzi zibil dəyəri Siz orada altındakı görmək.
Mənfi $ 120-- --It nin bir milyard və bir şey tək şeyi doğru?
Biz gözlənilir ki, Key deyil.
Amma biz sonra Next hit, və əgər biz cəhd və Print əsas, bu üç var.
>> Hər kəs ki?
Belə ki, bir şey almaq əgər kimi istəyirik ki, gözləyin.
Bu tamamilə səhv, mən bilmirəm
Mən bütün istəyirəm, çünki bu baş necə bir sıra təyin olunur etməli, dəyişən,
çap cəhd Sonrakı vuruş cəhd ki, işləyir, əgər yenidən və görürük.
Yalnız həyata olacaq, çünki həqiqətən, sizin sonra bir şey təyin
Next edib.
Hər kəs mənada?
Uh huh?
>> HOPARLÖR 2: zaman təsadüfi nömrələri ki, nə deməkdir?
>> HOPARLÖR 1: Bu yalnız təsadüfi deyil.
Bu, sadəcə zibil var.
Bu, yalnız bir şey var ki, kompüter təsadüfi təyin edəcək.
Cool.
Belə ki, indi biz vasitəsilə hərəkət, və belə ki, indi biz bu düz mətn GetString var.
Belə ki, mənə yalnız təqdim edək nə Biz burada növbəti hit zaman baş verəcək.
Bizim gdb hüququ, yox?
Ki, GetString, çünki indi icra olunur, sağ?
Biz gördükdə, düz mətn bərabərdir GetString, açıq parens və parens,
və biz Next hit ki, var həqiqətən, indi edam.
Belə ki, bunun üçün gözləyir daxil bir şey us.
>> Belə ki, biz daxil bizim ərzaq olacaq olan Mən sizə dedim kimi uğursuz oldu nə
və yalnız olduğunu deyir kapandı ki, icra tamamladı
bracket bu deməkdir ki, loop həyata mövcud.
Mən ki, biz, indi Next hit bilər, və Siz Caesar tanış bütün istəyirik,
Bunu etmək üçün gedən, bu xətt nə edir.
Int I 0 bərabərdir üçün bu, N bərabərdir Strlen, düz mətn, və sonra
Mən n, mən, üstəgəl, üstəgəl azdır.
Edəcəyimiz bu loop nədir?
Sizin mesajı açın.
Cool.
Belə ki, bunu başlamaq edək.
>> Belə ki, bu vəziyyət olmalıdır ilk bir, uyğun?
Bu bir B varsa, bu düz mətn I. Biz var Bizim yerli haqqında məlumat əldə edə bilərsiniz.
Belə ki, mən sıfır və altı əgər biz gözləyirik və bizim əsas üç.
Mənada ki, bütün, sağ?
Həmin nömrələr bütün məhz onlar olmalıdır.
Belə ki, zümzümə?
HOPARLÖR 3: Mən mina üçün təsadüfi nömrələri.
HOPARLÖR 1: Bəli, biz --we yoxlamaq bilər ikinci bu barədə söhbət edə bilərsiniz.
Amma bu əldə olmalıdır.
Beləliklə, biz bir kapital varsa Ilk bir B,
Bu vəziyyət doğru, onu tutmaq lazımdır?
Biz Next hit əgər Belə ki, görürük Bu Əgər həqiqətən icra edən.
Siz aşağıdakı edirsinizsə Sizin kodu boyunca,
burada bu xətt, burada düz mətn I Bu hesab ilə əvəz olunur,
yalnız əgər icra vəziyyəti düzgün mı?
>> Gdb yalnız sizə göstərmək niyyətindədir faktiki icra olunur ki, hər şeyi.
Əgər bu şərt yerinə əgər Belə ki, bu yalnız növbəti line keçmək olacaq.
OK?
Belə ki, biz var.
Bu bracket bu deməkdir indi loop həyata bağladı.
Belə ki, yenidən başlamaq olacaq.
Just kimi.
Belə ki, biz məlumat əldə edə bilərsiniz ki, burada yerli haqqında
və biz ilk olduğunu görəcəksiniz məktub, sağ dəyişib?
Bu olmalıdır kimi, indi E var.
Belə ki, biz davam edə bilərsiniz.
>> Və biz bu çek var.
Bu çek sağ, işləmək lazımdır?
Bu dəyişdirilməlidir A. var irəli üç məktublar.
Amma, biz hiss əgər fərqli bir şey almaq.
Burada bu halda qədər ki, bu tutuldu Bu, və bu xətt, edam
Bizim B. redaktə Lakin, burada bu halda,
biz yalnız atlandı ki, var, və [getdi? L SIFF. ?]
Belə ki, bir şey var olur.
Nə ki, izah edir ki, biz burada tutmaq lazımdır bilirik ki,
lakin bu deyil.
Hər kəs nə görmək edə bilərəmmi bizim problem uyğundur?
Bu, çox dəqiqə şey.
Və siz də kodu baxmaq bilər.
Bu da nə line unutmaq xətt var orada da ancaq [Işitilemez] var.
Bəli?
>> HOPARLÖR 4: Bu çox böyük var səhifə kitab oxumaq əgər.
HOPARLÖR 1: Məhz.
Belə ki, ayıklama demək deyil bilər ki, ancaq ayıklama
bir xətt aşağı əldə edə bilər Siz fəaliyyət deyil bilirik.
Və bəzən, xüsusilə sonra dövr, zaman
Bir yüz, bir ilə məşğul olduğunuz bir neçə yüz kodu xətləri, və siz
Bu uğursuz oldu harada bilmirəm, bu bunu bir yoldur.
Belə ki, biz səhv tapdım.
Siz fayl düzeltmek bilər və sonra, yenidən run bilər
və hər şey mükəmməl işləmək olardı.
Və ən böyük şey Bu OK, kimi görünə bilər.
Bəli.
Cool.
Siz aradığınız nə bilirdi.
Belə ki, siz nə bilirdi.
>> Gdb çünki super faydalı ola bilər bütün bu şeylər çap edə bilərsiniz ki,
deyil.
Bu, çox faydalı printf artıq var.
Necə bir çox istifadə printf hesabatları kimi
bir səhv, sağ olduğu anlamaq üçün?
Belə ki, bu, siz deyil geri davam etmək lazımdır,
və şərh kimi Printf, və ya, həyata şərh
və anlamaq nə Siz çap edilməlidir.
Bu, həqiqətən, yalnız imkan verir vasitəsilə addım şeyi çap
Siz olacaq kimi, belə ki, siz Onlar real vaxt dəyişdirmək necə müşahidə,
proqram kimi çalışır.
>> Və bu bir az sürer alışma bit.
Mən yalnız cür məsləhətdir onu bir az incidir olan
indi üçün.
Siz artıq bir saat sərf əgər gələn həftə necə gdb istifadə öyrənmək,
Siz özünüzü xilas edəcək sonra çox vaxt.
Və sanki. biz demək Bu insanların hər il,
Mən gəldiyində və Mən xatırlayıram sinif, mən gözəl olacaq, kimi idi.
No.
Pset 6 gəldi və mən kimi, mən mý öyrənmək alıram
Mən çünki gdb istifadə etmək necə burada neler bilirik.
>> Siz çox vaxt əgər Belə ki, kiçik proqramlar istifadə
Siz olacaq ki, iş kimi, iş
kimi bir şey ilə Bu kimi VISIONARE.
Siz əlavə təcrübə istəyirsinizsə, mən əminəm Mən arabası proqramları ilə gəlmək bilər
Isterseniz üçün debug.
>> Amma yalnız bir vaxt əgər almaq üçün onu istifadə, yalnız ilə ətrafında oynamaq,
həqiqətən yaxşı xidmət edəcək.
Və həqiqətən biri o şeyi ki, siz yalnız
cəhd, və əlləri çirkli almaq Siz, həqiqətən, anlamaq əvvəl ilə.
Mən, həqiqətən, yalnız bir dəfə başa Mən bu debug şeyi idi
və bir fikir var çox gözəl var necə tez deyil, gec debug.
OK.
Cool.
Mən bu cür kimi bilirik gdb bir qəza kurs,
və mən mütləq əldə işləyəcək bu böyük növbəti dəfə baxmaq.
Cool.
>> Belə ki, biz geri PowerPoint getmək əgər.
Bu iş gedir?
Awh.
Bəli.
OK.
Belə ki, heç hər hansı bir ehtiyac varsa o yenə siyahısı var.
Belə ki Binary Search, hər kəs Davudun böyük tamaşa xatırlayır
yarısında telefon kitab Ses.
Mən, həqiqətən, almaq deyil Artıq telefon kitab,
siz harada kimi çünki bu gün telefon kitab almaq?
Mən, həqiqətən, bilmirəm.
Bu Binary Search.
Hər kəs xatırlayıram varmı İkili Axtar işləyir?
Hər kəs bütün?
Bəli?
HOPARLÖR 5: Siz izlə siz yarım baxmaq
ki əsaslanaraq, olacaq, və digər yarısı qurtarmaq.
>> HOPARLÖR 1 Məhz.
Belə ki, Binary Search, o EA cür --we Bu bölmək və fəth zəng etmək istəyirəm.
Belə ki, siz edəcəyik nə Siz ortasında baxmaq lazımdır
Bu oyunları əgər siz görəcəksiniz nə üçün aradığınız.
Bu deyil, onda siz cəhd anlamaq, onu tərk etmək niyyətindədir
yarım və ya sağ yarım.
Siz arıyorsanız Belə ki, bu ola bilər alfabetik ki bir şey,
Siz oh, bax.
Allison M əvvəl gəlir?
Bəli.
Belə ki, biz olacaq birinci yarısında baxmaq.
>> Yoxsa nömrələri ilə kimi ola bilər.
Ki, bir şey edə bilərsiniz müqayisə, bu sıralaması edə bilər.
Siz ikili axtarış istifadə edə bilərsiniz.
Belə ki, hər kəs bu xatırlayıram graph və ya bu nədir?
Bu asimptotik mürəkkəblik var.
Belə ki, bu graph yalnız nə qədər təsvir
kimi bir problemi həll etmək üçün götürür Siz şeyin sayını artırmaq
ki, istifadə edirik.
>> Belə ki, biz xətti vaxt olan N, var.
Qədər olan iki üzərində N, əgər yaxşı, hələ super sürətli artır.
Və sonra biz olan giriş nə biz ikili axtarış hesab.
Biz fark etsəniz, sizin problem kimi çox və daha böyük olur
Bu sizi zaman həll etmək üçün həqiqətən ki, çox artırmaq deyil.
Bu müqayisə kimi burada əvvəlində.
Siz OK, kimi istəyirik.
Şey burada həqiqətən deyil olsun biz istifadə bir,
ancaq, bir milyon bir milyard çıxmaq.
Siz some-- --you're tapmaq üçün çalışırıq bir ot tayası bir iynə tapmaq üçün çalışırıq.
>> Mən sizə bu problemi istəyirəm edirəm.
Bu mürəkkəbliyi deyil istəyirəm xətti, çünki bütün üçün
Sizin mý vasitəsilə axtarış bilirik Hər bir fərdi iynə, ot şey,
Sizin iynə axtarmaq üçün çalışırıq.
Və mənim fikrimcə çox əyləncə deyil.
Mən sürətli kimi.
Mən səmərəli istəyirəm.
Və Çalışqan tələbələr sizə uşaqlar, siz asan iş bilirik var
deyil, çətindir növü şey necə Bu alqoritmlər edə bilərsiniz.
>> Belə ki, biz gəzmək olacaq yalnız bir sürətli Məsələn vasitəsilə.
Mən sizə uşaqlar olmalıdır düşünürəm Binary Search bir tərəfdən,
lakin halda hər kəs bir az qeyri-səlis, onu gücləndirmək istəyirik,
biz yalnız getmək olacaq burada bir nümunə ilə.
Əgər Belə ki, biz aradığınız array yeddi ehtiva edir.
>> Belə ki, biz nə ilk şey sağ, ortasında baxmaq?
Və həmçinin kodlaşdırma olacaq Yalnız ikinci ikili axtarış.
Belə ki, fun olacaq.
Beləliklə, biz baxmaq orta kiçik Diziler 3.
3 7 bərabər varmı?
Deyil.
Bu altı var.
Belə ki, daha az və ya yeddi daha?
Az.
Bəli.
Nice iş uşaqlar.
Mən olmalıdır kimi hiss konfet, çünki mən
meydançaları onu atmaq istəyirəm.
Mən gələn həftə gedirəm budur.
Bu kəskin uşaqlar davam edəcək.
>> Belə ki, biz tullamaq İlk yarı, sağ?
Bu az idi.
biz hər şeyi bilirik ki, sol tərəfində
az olacaq nə Biz, həqiqətən, aradığınız.
Belə ki, heç bir ehtiyac var var buna diqqət.
Yalnız bu barədə unutmaq.
Belə ki, indi biz sağ tərəfdən baxmaq, və biz orada orta baxmaq
və indi doqquz var.
Belə ki, 9 That --Everyone?
Biz istəyirik nə daha böyük sağ üçün axtarırsınız?
Belə ki, biz atmaq olacaq sağ üz hər şey.
Kimi.
İndi biz bir ilə tərk edirik.
Beləliklə, biz yoxlamaq, bu nə biz aradığınız? edir.
Biz nə istədiyini tapdı.
Beləliklə, biz tamamlayın.
Bilinear axtar.
>> Və, biz hiss əgər Orada yeddi giriş idi.
Bu, yalnız üç dəfə kimi götürdü ancaq bir milyard kimi edirik, əgər,
Sizlərin neçə addımlar edəcəyini bilirik biz dörd milyard şeyi olsa almaq?
Hər hansı bir guesses?
32 var.
Bir şey tapmaq üçün 32 addımlar bir dörd milyard
Çünki iki səlahiyyətləri element array.
Belə ki, iki, 32 üçün dörd milyard edir.
>> Belə ki, olduqca crazy necə də etdiyiniz addımlar kifayət qədər kiçik bir sıra kimi
bir şey tapmaq üçün dörd milyard elementləri.
Ki, qeyd ki, biz istəyirik Bu kod gedir
belə ki, uşaqlar həqiqətən bilərsiniz cür necə bu işləri görmək.
Bütün sağ, uşaqlar kod bilər.
Mən sizə uşaqlar imkan gedirəm bir az danışmaq.
Olan siz ətrafında insanlar bilmək alın kimsə son bölməsində istədi.
>> Belə ki, siz ətrafında insanların tanış.
Bir az danışmaq.
Və Mən sizə istəyirəm uşaqlar indi yalnız
pseudocode bir kontur yaratmaq üçün cəhd edin.
OK?
Whoa.
Mən sizə uşaqlar istədiyiniz bütün istəyirik yalnız bu halda, doldurmaq niyyətindədir.
Mən bu yuxarı qoymuşuq və aşağı həddi olan
başlanğıcını təmsil bizim serialın və sonu.
Və həqiqətən gedir loop vasitəsilə anlamaq
nə biz bu isə loop ərzində edirik.
>> Siz yazaraq anlamaq bilər, belə ki, mən hallar nə orada bir ipucu
ki, biz burada var?
Siz anlamaq istəyirsinizsə Belə ki, hallarda, biz bu pseudocode edəcək
sonra biz, həqiqətən, onlara kod lazımdır.
Və olacaq, mən ümid edirəm ki, lazımdır, hesab edirəm ki,
gözləmək çox bir az daha asan ola bilər.
, Bu çox kodu deyil, çünki həqiqətən, həqiqətən, sərin.
>> Mm-hm?
>> TƏLƏBƏ: [Işitilemez]?
Öğretim: Bəli.
Bir şey var idi ortasında tapmaq üçün.
>> TƏLƏBƏ: Belə ki, istifadə edə bilərsiniz.
OK.
>> Öğretim: Perfect.
Belə ki, biz nə etmək lazımdır ilk şey.
Belə ki, orta tapmaq.
Böyük.
Belə ki, bir fikir var ki, necə biz bilər həqiqətən kodu ilə orta tapmaq?
>> TƏLƏBƏ: Bəli.
2 n?
Öğretim: Belə ki, n 2 üzərində.
Belə ki, xatırlayıram bir şey ki, Sizin yuxarı və aşağı həddi dəyişir.
Biz hissəsi constricting saxlamaq serialın biz üçün arıyorsanız.
Belə ki, n 2 yalnız işləyəcək ilk şey üçün biz.
Belə ki, nəzərə yuxarı və aşağı alaraq, necə ki, orta element əldə edə bilər?
Biz orta istəyirəm, çünki yuxarı və aşağı, sağ arasında?
Mm-hm?
>> TƏLƏBƏ: [işitilemez].
>> Öğretim: Beləliklə, biz bir orta var.
Və üst plus 2-dən aşağı olacaq.
Awesome.
Biz orada getmək.
Bir xətt aşağı.
Siz uşaqlar üçün yol var.
Belə ki, indi biz bizim var orta, biz nə istəyirik?
Yalnız ümumi.
Siz kod yoxdur.
Bəli.
TƏLƏBƏ: [Işitilemez]?
Öğretim: Belə ki, plus siz etdiyiniz çünki iki arasında orta tapmaq
Onlardan.
Belə ki, xeyirxah onlara hesab əgər Bu tərəfdən də artan,
Siz yanaşma kimi bu barədə düşünmək orta, bu kimi istəyirəm.
Əgər Beləliklə, siz hər tərəfində idi orta və biz 5 və 7 kimi var.
Siz onları birlikdə əlavə 12 almaq, siz 2 bölmək, 6.
>> Bəzən çətindir ki, işləyir izah,
lakin Siz iş əgər nümunə bəzən,
Bu əgər anlamaq kömək lazımdır Bu müsbət və ya mənfi olmalıdır.
Bəli.
>> TƏLƏBƏ: [Işitilemez] tam ortasında
onlar bir halda idi əgər kiçik ədəd bir çox var
və böyük bir sayı kimi?
>> Öğretim: Belə ki, sizə lazım olan bütün serialın orta.
Belə ki, əgər siz kiçik ədəd bir dəstə idi və sonra bir həqiqətən böyük sayı
sonunda, bu məsələ deyil.
Bütün məsələ ki, onlar yalnız sıralanır edirik
orta baxmaq istəyirəm Bu array hələ istəyirik, çünki
yarısı sizin problem dilimleme.
Cool.
Belə ki, indi biz var ki, orta, biz növbəti nə etməliyəm?
>> TƏLƏBƏ: karşılaştırın.
Öğretim: The müqayisə.
Value_wanted Belə orta müqayisə.
Cool.
Belə ki, biz burada görmək biz burada qədər istəyirsinizsə bu dəyər.
Bu bir sıra saxla.
Belə ki, orta indeksi aiddir.
Beləliklə, biz orta dəyərləri etmək istəyirəm.
Əgər siz unutmayın , ikiqat bərabər müqayisə.
Siz tək sen bərabərdir nə yalnız redesign gedir,
və sonra, əlbəttə, bu Istədiyiniz dəyəri olacaq.
Belə ki, yoxdur.
>> Beləliklə, biz görmek olacaq orta dəyərlər
Biz istəyirik dəyərinə bərabərdir.
Aşırma unutmayın.
Dropbox getmək lazımdır.
Beləliklə, biz bu halda nə etməliyəm?
Biz qayıtmaq istəyirəm nə varsa?
Biz demək çalışırıq.
>> TƏLƏBƏ: off yazdırın.
>> Öğretim: Bəli, biz off çap etmək istəmirəm.
Belə ki, burada bir bool, biz belə doğru və ya yalan qayıtmaq istəyirəm.
Biz bu sayı, deyərək edirik bir [? RRA? ?] Bu Belə ki,
biz yalnız doğru qayıdın.
Mən doğru sehr bilər.
>> TƏLƏBƏ: Niyə sıfır geri deyil?
Öğretim: ola bilər Belə ki, Siz istəyirdi əgər sıfır qayıtmaq.
Lakin bu halda, çünki funksiyası bir bool qaytarır,
biz doğru və ya yalan ya qayıtmaq lazımdır.
TƏLƏBƏ: zaman etdiyiniz , boolean ifadə deyərək
siz onu yalan bərabər müəyyən edə bilər?
Mən demək istəyirəm, əgər bu vəziyyətdə Like yuxarı yalan bərabərdir kimi, görüşüb deyil.
Yalnız əgər anlamaq edəcək digər tərəfdən yalan qoymaq?
Öğretim: Bəli.
Belə ki, həqiqətən əgər Heç bir şey bunu
kimi yuxarı və ya aşağı, ki, doğru və ya yalan qaytarır
və bu həqiqətən pis stil demək bərabərdir doğru və ya bərabərdir bərabərdir
yalan bərabərdir.
Siz nəticəsində istifadə etmək istəyirəm Sizin çek kimi özü kimi.
Mən istəyirdim nə.
Mən istəyirdim nə var.
Xahiş edirik sizin halda belə bir şey haqqında kimi c bu edin.
>> Beləliklə, biz int əsas (void) varsa və bu kimi bir şey.
Yuxarı olduqda və siz Siz etdiyiniz və bəzi daxil
Siz edə bilərsiniz əgər xahiş bu kimi bir şey?
Right?
TƏLƏBƏ: Mən çalışır Bu [Işitilemez] etmək.
It's-- Çünki
Öğretim: Sağ.
Belə ki, bu doğru, yalan olmaq istəyirsiniz?
TƏLƏBƏ: Bəli.
Öğretim: bu halda Belə ki, Bu doğru deyil, əgər icra etmək istəyirik.
Belə ki, orada nə sərin şey bu.
Belə ki, nida xatırlayıram point şeyi inkar?
Bu [Işitilemez] deyil deməkdir deyir.
Biz yalnız baxmaq əgər Belə ki, Burada bu hissəsi, siz had
ki, qiymətləndirir demək yalan siz istədiyiniz kimi.
Yalan deyil doğru olan bu icra deməkdir.
Ki, hissi edirmi?
TƏLƏBƏ: Bəli.
Öğretim: Awesome.
OK.
Belə ki, biz yalnız qayıtmaq bilər bu halda doğru.
Belə ki, indi biz digər iki var bu halda hallarda.
Bizim iki digər hallarda hansılardır?
Yalnız bu yolu edək.
Belə ki, başqa ilə başlamaq edək əgər ortada dəyərlər
Biz istəyirik dəyəri azdır.
Belə ki, ortada dəyəri az biz aradığınız ki, dəyəri daha.
>> Belə ki, bound olan edirsiniz biz yeniləmək istəyirəm edirəm?
Yuxarı və ya aşağı?
Upper?
Serialın Belə ki, yan Biz baxaraq gedir?
>> TƏLƏBƏ: Aşağı.
>> Öğretim: Biz gedirik Sol axtarır.
Az dəyəri az belə, əgər başqa.
Burada orta dəyəri So biz istədiyiniz nə azdır.
Belə ki, biz almaq istəyirəm bizim serialın sağ.
Beləliklə, biz olacaq Bizim aşağı bound yeniləmə.
Beləliklə, biz bizim aşağı redesign lazımdır.
Və aşağı olmalıdır nə düşünürsünüz?
TƏLƏBƏ: orta dəyər?
Öğretim: Belə ki, orta dəyər
TƏLƏBƏ: Plus 1.
Öğretim: --plus 1.
Niyə hər kəs mənə deyə bilərsiniz ki, plus 1 var?
>> TƏLƏBƏ: [? Heç bir dəyəri?] daha çox bərabərdir.
>> Öğretim: Sağ.
Biz artıq bilirik ki, çünki Bizim orta dəyəri bərabər deyil
Bu və biz onu istisna etmək istəyirəm bütün sonrakı axtarış.
Ki plus 1, bu unutsanız qeyri-müəyyən loop kimi olacaq.
Və yalnız bir tutuldu olacaq sonsuz loop və sonra segfault lazımdır
və hər şeyi pis gedin.
Belə ki, həmişə deyilik əmin olun dəyəri, o cümlədən yalnız
baxdı.
Beləliklə, biz bir plus 1 qayğı.
>> Belə ki, indi biz son vəziyyət var təhlükəsizlik naminə həmişə mən
Siz dəyəri, əgər başqa, burada kontrol edə bilərsiniz orta dəyəri daha böyükdür
biz istəyirik.
Biz istəyirik ki, deməkdir sol yarısı.
Belə ki, bir biz yeniləmək üçün gedir?
Upper.
Və bərabər gedən bu nədir?
Orta mənfi 1, çünki Əlbəttə, biz istəyirik
biz deyilik ki, əmin etmək daha orta dəyəri baxaraq.
Və sonra biz bunu var.
Vəssalam.
Yəni bütün ikili axtarış edir.
Bu doğru, pis deyil?
Bu 10 xətt kimi ağ kosmik ilə kodu.
Belə ki, çox güclü, çox faydalı, siz daha sonra psets biri istifadə ola bilər.
Bəlkə bu bir, lakin sonra.
Belə ki, onu öyrənmək.
Onu sevirəm.
Bu, siz müalicə edəcək.
Belə ki, hər hansı bir yoxdur binar axtarış suallar?
Bəli.
>> TƏLƏBƏ: bu önemli mi Sizin n hətta və ya tək olub?
>> Öğretim: Xeyr
Biz orta üçün tökmə Çünki bir int, bu yalnız kəsmək edəcək.
Bir tam qalmaq və belə olacaq nəticədə hər şey vasitəsilə düzmək.
Belə ki, narahat yoxdur.
Hər kəs yaxşı?
Awesome.
Cool.
Belə ki, uşaqlar bu var.
Slideshow.
Biz söhbət kimi, mən bilirəm David mürəkkəbliyi runtimes qeyd.
>> Belə ki, ən yaxşı halda, yalnız var biz daimi vaxt zəng bir.
Ki, ola bilər niyə hər kəs mənə deyə bilərsiniz?
Ki, ssenari hansı növü səbəb olacaq?
Mm-hm.
>> TƏLƏBƏ: [Işitilemez] first--
Öğretim: Orta olan Belə ki, biz gələn ilk element, sağ?
Belə bir bir sıra və ya nə biz yalnız aradığınız
ortasında tam dab olmaq olur.
Belə ki, ən yaxşı işi var.
Siz yəqin ki, real problemlər daxil deyil almaq tez-tez [Işitilemez] çatmaq üçün gedir.
Nə bizim ən pis halda haqqında?
Bizim ən pis halda log n.
Və bütün nə var mən danışdı ki, iki şey səlahiyyətləri.
>> Belə ki, ən pis halda, demək ki, Biz aşağı sıra doğramaq idi ki,
Bu bir bir element qədər.
Belə ki, yarım onu ​​doğramaq idi biz bəlkə bilər kimi bir çox dəfə.
Bu log n, çünki nə var Yalnız iki bölünməsi saxlamaq.
Belə fərziyyələr, hər şeyi sizə Əgər edirsinizsə bilmək lazımdır
ikili axtarış istifadə etmək niyyətindədir.
Sizin elementləri sıralanır olmalıdır.
Onlar sıralanır olmalıdır ki, yalnız yol var
siz edə əgər bilirik bunun yarısını atmaq.
>> Bu jumbled bag olsaydı və nömrələr siz, deyərək edirik
OK, Mən orta yoxlamaq üçün gedirəm sayı və mən arıyorum sayı
az, yalnız gedirəm özbaşına bir yarım atmaq.
Siz əgər bilmək deyil sizin digər yarısı nömrələri.
Sizin siyahısı sıralanır var.
Eləcə də, bu ola bilər irəlidə bir az gedir,
ancaq təsadüfi daxil olmaq lazımdır.
Siz lazımdır yalnız ki, orta element gedin.
Axır varsa bir şey vasitəsilə
və ya əlavə addımlar atır ki, orta element almaq üçün,
Bu log n artıq, çünki deyil Siz onu daha çox iş əlavə edirik.
Və bu bir az edəcək iki həftə daha çox mənada,
lakin mən yalnız cür, müqəddimə istədi Sizlərin nə bir fikir vermək
gəlib.
Amma o iki əhəmiyyətli fərziyyələr
Bir ikili siyahısı üçün lazımdır.
Bu sıralanır əmin olun.
Ki, böyük bir var Siz indi uşaqlar.
Və biz daxil edə bilərsiniz Bizim növ istirahət.
Belə ki, dörd sorts-- bubble, durub, seçilməsi, və birləşməsi.
Onlar sərin cür edirik.
Sizlərin CS 124 almaq istəsəniz, Siz növ bütün növ öyrənmək lazımdır.
Və bir XKCD fan əgər orada həqiqətən cool komik haqqında
həqiqətən təsirsiz növ kimi mən yüksək baxmaq üçün gedir gəlir.
Onlardan biri çaxnaşma növ kimi olan kimi, heç bir oh, təsadüfi array qayıtmaq deyil.
Kapatma sistemi.
Buraxın.
Belə ki, geeky yumor həmişə yaxşıdır.
>> Belə ki, hər kəs cür yadda deyil yalnız ümumi bir fikir kimi
bubble sort necə.
Yadınızdadırsa?
>> TƏLƏBƏ: Bəli.
>> Öğretim: Bunun üçün getmək.
>> TƏLƏBƏ: Siz olacaq Belə ki, bu böyük, onda siz iki dəyişdirmək.
>> Öğretim: Mm-hm.
Məhz.
Belə ki, yalnız vasitəsilə təkrarlamaq.
Siz iki ədəd yoxlamaq.
Bir əvvəl böyük olur sonra bir çox,
Siz yalnız ki, onları dəyişdirmək bu yolla ali nömrələri bütün
siyahısı sonuna bubble qədər və bütün aşağı nömrələri bubble aşağı.
>> O sərin sizə uşaqlar göstərmək mi Video çeşidlənməsi səs effekti?
Bu sərin növü var.
Robert yalnız dediyi kimi, alqoritm belə yalnız siyahısını addım ki,
qonşu dəyərləri dəyişdirmə onlar üçün deyil əgər.
Və sonra yalnız təkrar saxlamaq qədər hər hansı svopları yoxdur.
Belə ki, pis deyil, sağ?
Belə ki, biz yalnız burada tez misal var.
Belə ki, bu sort gedir sifariş artan onlara.
Beləliklə, biz ilk vasitəsilə getmək zaman zaman, biz səkkiz baxmaq
və altı açıq-aydın deyil üçün, biz onları dəyişdirmək.
>> Belə ki, növbəti bir nəzər.
Səkkiz və qaydada dörd deyil.
Onları dəyişdirmək.
Və sonra səkkiz və iki, onları dəyişdirmək.
Biz orada getmək.
Belə ki, ilk pass sonra, bilirik ki, ən böyük sayı
bütün yol olacaq yalnız çünki üst
daim olacaq başqa hər şey daha
və yalnız bubble olacaq orada sonuna bütün yol qədər.
Ki, hər kəs üçün əhəmiyyət kəsb edir mu?
Cool.
>> Beləliklə biz ikinci pass baxmaq.
Six və dörd, keçid.
Six və iki keçid.
Və indi biz üçün bir neçə şey var.
Hər pass üçün Belə ki, biz Bütün siyahısını etmək,
bilirik ki, bir çox nömrələri kimi sonunda sıralanır olacaq.
Beləliklə, biz bir üçüncü pass etmək, bir svop edir.
Və sonra dördüncü biz sıfır yuvası var, keçir.
Və belə ki, biz bilirik ki, bizim array sıralanır edilmişdir.
>> Və böyük bubble sırala ilə bir şey.
Biz bilirik ki, ki, sıfır svopları var
ki, hər şey deməkdir tam üçün deyil.
Biz yoxlamaq necə növü var.
Beləliklə, biz də bubble kod gedir sort həmçinin pis deyil.
Bunların heç biri ki, pis.
Mən bir az qorxudan görünə bilər bilirik.
Mən gəldiyində mən bilirəm sinif, hətta mən
üçün dərs oldu İlk dəfə keçən il,
Mən kimi, mən bu necə etməliyəm etdi?
Bu nəzəriyyə əhəmiyyət kəsb edir, lakin biz, həqiqətən, bu necə etməliyəm?
Mən də getmək istəyirəm nə burada uşaqlar ilə kod vasitəsilə.
Mən bir pseudocode var Sizlərin bu dəfə üçün.
Belə ki, kimi mind bu saxlamaq biz artıq keçid üzrəyik.
Beləliklə, biz bir counter var ki, Bizim svopları tutar
biz əmin etmək lazımdır, çünki biz kontrol edirik ki.
Və biz bütün array təkrarlamaq biz yalnız bu misal ilə kimi.
Bu element əvvəl çox olarsa, biz olduğunuz sonra element,
biz onları dəyişdirmək və biz arttırmayı counter, biz dəyişdirmək kimi tezliklə çünki
biz counter bildirmek istəyirəm.
Hər hansı suallar?
Something burada gülməli görünür.
TƏLƏBƏ: sıfır counter müəyyən etməyin Siz loop vasitəsilə getmək hər zaman?
Siz davam etməyin hər dəfə geri sıfır?
Öğretim: Mütləq.
Belə ki, nə olur, biz buradan getmək edir.
Belə isə, bu xatırlayırsınız Fail olmadan bir dəfə icra edəcək.
Belə ki, müəyyən olacaq sıfıra bərabər counter,
sonra onun vasitəsilə təkrarlamaq olacaq.
Vasitəsilə iterates kimi, Bu counter yeniləyir.
Bu counter yeniləyir kimi, bunu zaman, Bu serialın sonunda əldə zaman,
Bizim siyahı sıralanır deyil, əgər, counter yeniləndi olacaq.
>> Belə ki, o vəziyyətini yoxlayır və OK, sıfırdan counter böyükdür deyir.
Əgər, bir daha bunu.
Siz zaman ki, yenidən istəyirəm keçmək, counter sıfıra bərabərdir.
Bir sıralanır keçmək əgər array, heç bir dəyişikliklər
Bu uğursuz, və siz sıralanır siyahısını geri.
Ki, hissi verir mu?
TƏLƏBƏ: bir az güc It.
Öğretim: OK.
Hər hansı digər varsa gəlir ki, sual.
Bəli.
>> TƏLƏBƏ: Nə funksiyası elementləri dəyişdirmə üçün olacaq?
>> Öğretim: Belə ki, biz, həqiqətən, yaza bilərsiniz biz indi doğru olacaq ki.
Cool.
Ki, qeyd, belə ki, Alison gedir geri cihaz keçid.
Bu fun olacaq.
Və biz gözəl var burada bubble sırala şey.
Mən artıq velosiped etdi array vasitəsilə.
Biz svopları var ki, sıfıra bərabərdir.
Beləliklə, biz qonşu dəyişdirmək istəyirəm elementləri onlar üçün həyata əgər.
Belə ki, ilk şey biz lazımdır bizim array vasitəsilə təkrarlamaq olunur yoxdur.
>> Belə ki, necə biz güc düşünürsünüz bizim array vasitəsilə təkrarlamaq?
Biz və i 0 bərabərdir.
Biz i az olmaq istəyirəm n minus 1 minus k daha.
Mən ikinci izah edəcəyik.
Belə ki, bu bir optimizasyon burada olduğu, Mən hər ötürməsindən sonra bildirib necə yadda
Bu array vasitəsilə biz nə on-- olduğunu bilirik
>> Belə ki, bir ötürməsindən sonra biz Bu çeşidlənir bilirik.
Iki keçdikcə sonra biz bilirik bütün bu çeşidlənir ki.
Üç ötürmədən sonra ki, çeşidlənir bilirik.
Yol Mən iterating alıram burada array vasitəsilə,
yalnız getmək üçün əmin edilməsi olunur biz bilirik nə ilə çeşidlənməmiş edir.
OK?
Bu yalnız bir optimizasyon var.
Siz yalnız naively yazmaq bilər hər şey vasitəsilə iterating,
yalnız uzun olacaq.
Bu dörd loop ilə var bir gözəl optimallaşdırılması
biz hər tam sonra bilirik, çünki burada array vasitəsilə iteration,
Burada hər tam loop kimi, biz bilirik Bu elementlərin bir daha
sonunda sıralanır.
>> Beləliklə, biz bu barədə narahat yoxdur.
Ki, hər kəs üçün əhəmiyyət kəsb edir mu?
Sərin az oyun?
Bu halda, əgər belə biz vasitəsilə iterating edirik
biz yoxlamaq istəyirəm bilirik ki, array n və n + 1 üçün var.
OK.
Belə ki, burada pseudocode var.
Biz yoxlamaq istəyirəm array n və n + 1 üçün var.
Beləliklə, biz nə ola bilər?
Bəzi şərti olacaq.
Bu əgər olacaq.
>> TƏLƏBƏ: array n varsa array n plus 1 az.
Öğretim: Mm-hm.
Yaxşı, az və ya daha çox.
TƏLƏBƏ: böyükdür.
Sonra biz onları dəyişdirmək istəyirik.
Məhz.
Belə ki, indi biz nə almaq Onlara dəyişdirmə üçün mexanizm?
Beləliklə, biz bu qısa yolu ilə getdi, svop funksiyası bir növü keçən həftə.
Hər kəs işləyib necə yadda varmı?
Beləliklə, biz yalnız sağ, onlara redesign bilməz?
Onlardan biri itirilmiş olacaq, çünki.
Dedik əgər sonra B B və bərabər A bərabər, onların hər ikisi birdən
B. yalnız bərabərdir
>> Beləliklə, biz nə var, nə biz ki, bir müvəqqəti dəyişən var
bizim müddət bir keçirəcək biz dəyişdirmə prosesi istəyirik.
Belə ki, nə biz, biz bir int lazımdır edir Siz təyin edə bilərsiniz to-- temp bərabər
hansı bir siz yalnız istədiyiniz Siz it-- takip əmin olun saxlamaq
bu halda, mən gedirəm array n plus 1 təyin.
Belə ki keçirmək niyyətində nə dəyəri ikinci blok edir
biz aradığınız ki.
>> Və biz getmək bilər, biz nə edə bilər irəli və REASSIGN array n plus 1,
biz bilirik, çünki saxlanılır ki, dəyəri var.
Bu da böyük biridir Siz əgər hər şeyə mən bilmirəm
Siz iki keçid əgər tapa məsələlər idi kod xətləri birdən şeylər işləyib.
Sifariş CS çox vacibdir.
Belə ki, diaqram etmək şeyi əgər mümkündürsə
kimi nə həqiqətən baş verir.
Belə ki, indi biz gedirik , array n plus 1 redesign
biz bilirik, çünki saxlanılır ki, dəyəri var.
>> Və biz array ki atayabilirsiniz n və ya bu halda array i ilə.
Çox çox dəyişənlər.
OK.
Belə ki, indi biz adına etdik array i plus 1 sıra i nə bərabər.
Və indi biz geri getmək bilər və nə array i təyin?
Hər kəs?
>> TƏLƏBƏ: 10.
>> Öğretim: 10.
Məhz.
Və son bir şey.
Biz indi dəyişdirildikdə varsa, biz nə etmək lazımdır?
Bir şey nədir ki, demək olacaq
biz bu proqramı dayandırmaq əgər?
Nə biz ki, bizə deyir bir sıralanır siyahısı var?
Biz hər hansı svopları ifa deyil varsa, sağ?
Svopları əgər bərabərdir Bu sonunda sıfır.
Belə ki, zaman biz kimi, svop çıxış yalnız burada idi, biz svopları yeniləmək istəyirəm.
Mən var idi bir sual əvvəllər Siz
əvəzinə sıfır və ya bir istifadə və doğru və ya yalan.
Və burada nə var.
Belə ki, bu əgər svopları deyir.
Svopları sıfır, əgər Belə ki, həmişə mən That almaq mənim həqiqətləri və falses qarışdırılır.
Biz qiymətləndirmək istəyirəm doğru və bu deyil.
Sıfır əgər Belə ki, o, yalan var.
Bir ilə inkar əgər [? bang?] Bu doğru olur.
Belə ki, bu xətt icra.
>> Həqiqətlər və yalan və adet sıfır və olanları crazy almaq.
Yalnız yavaş-yavaş gəzmək əgər onun vasitəsilə mənada edəcək.
Amma nə bu kiçik var kodu bit burada yoxdur.
Belə ki, bu görmek üçün yoxlayır Biz hər hansı svopları etdik.
Belə ki, bir şey başqa əgər var sıfır, bu, yalan olacaq
və bütün şey yenidən həyata olacaq.
Cool?
>> TƏLƏBƏ: break nə edir?
>> Öğretim: yalnız Break loop sizi pozur.
Bu halda ki, belə ki, yalnız proqram başa istəyirəm
və yalnız ki Sizin sıralanır siyahısı var.
TƏLƏBƏ: Amazing.
Öğretim: Üzgünüm?
TƏLƏBƏ: Çünki əvvəl sıfır yazılı üzərində 1 yazılı istifadə
ki təqdim ki, iş və ya deyil.
>> Öğretim: Bəli.
Belə ki, sıfır və ya 1 qayıda bilər.
Bu halda, çünki biz həqiqətən deyilik funksiyası ilə bir şey bunu,
biz yalnız qırmaq istəyirəm.
Biz, həqiqətən, bu barədə qayğı yoxdur.
Brake də əgər yaxşı həyata qırılma üçün istifadə
Dörd loops və şərtlər ki, Siz icra saxlamaq istəmirəm.
Bu, sadəcə onlardan götürür.
Bu nüans şey bir az var.
Var kimi hiss edirəm əl yelləyən bir çox,
kimi tezliklə bu öyrənmək lazımdır.
>> Lakin tezliklə bu barədə öyrənmək lazımdır.
Mən söz verirəm.
OK.
Yəni hər kəs bubble cür almaq deyil?
Çox pis deyil.
Vasitəsilə təkrarlamaq, svop şeyi istifadə temp dəyişən, və biz bütün var müəyyən edirik?
Cool.
Awesome.
OK.
Geri PowerPoint.
Ümumi Hər hansı bir sualınız haqqında bu günə qədər?
Cool.
Mm-hm.
>> TƏLƏBƏ: [Işitilemez] adətən əsas int.
Bu ki, var, siz var?
>> Öğretim: Beləliklə, biz yalnız aradığınız yalnız faktiki çeşidlənməsi alqoritm edir.
Siz ərzində olsaydı daha böyük bir proqram kimi,
Bir int əsas haradasa olardı.
Harada asılı olaraq Bu alqoritm istifadə,
Bu nə müəyyən olardı tərəfindən geri qaytarılır.
Amma bizim halda, biz ciddi istəyirik əslində bu necə baxır
bir sıra vasitəsilə təkrarlamaq.
Belə ki, biz bu barədə narahat olmayın.
>> Belə ki, biz ən yaxşı halda söhbət və Binar axtarış üçün ən pis ssenari.
Belə ki, nə üçün də vacibdir Bizim növ hər biri üçün.
Belə ki, nə düşünürsünüz pis deyil bubble sırala halda uzunluğu?
Siz uşaqlar saxla?
>> TƏLƏBƏ: N minus 1.
Öğretim: N minus 1.
Belə ki, var deməkdir n minus 1 müqayisə.
Belə ki, həyata bir şey ilk iteration ki,
biz müqayisə keçmək Bu two-- ki 1 var.
Bu iki, üç, dörd.
Belə ki, bir iteration sonra biz artıq dörd müqayisə var.
Mən uzunluğu və n söhbət alıram.
N müqayisə sayı təmsil neçə elementləri bir funksiyası kimi
olduq.
OK?
>> Beləliklə, biz vasitəsilə getmək, biz dörd var.
Bildiyiniz növbəti dəfə biz deyil bu qayğı var.
Biz, bu iki müqayisə Bu iki, bu iki,
və biz optimallaşdırılması olmasaydı yazdığı dörd loop,
zaten burada müqayisə olunacaq.
Belə ki, olardı array vasitəsilə run
və n müqayisə etmək n dəfə, hər dəfə biz, çünki
Bu sort bir şey axır.
>> Və biz axır hər dəfə Bu array, biz n müqayisə etmək.
Belə ki, bu bizim iş deyil həqiqətən n, kvadrat
çox pis bizim çünki son daxil
biz dörd idi deməkdir əgər milyard elementləri, bu
Bizə dörd milyard etmək niyyətindədir əvəzinə 32 kvadrat.
Belə ki, ən yaxşı iş, lakin bəzi şeylər üçün,
Siz ərzində əgər siz bilirsiniz, elementləri müəyyən bir sıra
bubble sırala istifadə üçün gözəl ola bilər.
>> OK.
Belə ki, indi ən yaxşı halda iş nədir?
TƏLƏBƏ: Zero?
Və ya 1?
>> Öğretim: Belə ki, 1 ki bir müqayisə ola bilər.
Right.
>> TƏLƏBƏ: N minus 1?
>> Öğretim: Belə ki, Bəli.
Belə ki, n minus 1.
Siz n kimi bir anlayış var zaman minus 1, biz yalnız yuxulamaq edirlər
Siz çünki biz yalnız n demək these-- hər bir cüt hər müqayisə.
Belə ki, 1 n olacaq minus olan biz Biz yalnız təxminən n demək ediyorum.
Siz uzunluğu ilə məşğul olduğunuz zaman, hər şey bərabərdir edir.
Kimi uzun eksponent kimi doğru, olduqca yaxşı deyilik.
>> Biz ilə məşğul necə.
Ən yaxşı halda n edir ki, belə ki, , siyahısı artıq çeşidlənir o deməkdir ki,
və biz bütün vasitəsilə çalışır və sıralanır yoxlayın.
Cool.
Bütün hüquqlar.
Burada görmək ki, biz yalnız bir neçə qrafik var.
Belə ki, n kvadrat.
Fun.
Çox olaraq görürük n daha pis, və log 2n daha pis, çox.
Və sonra da log logs daxil almaq.
Və 124 almaq, siz almaq crazy kimi olan log ulduz kimi.
Əgər istəyirsinizsə Belə ki, axtarış log star.
Bu cür əyləncə var.
Beləliklə, biz bu böyük chart var.
Bir rəhbərləri up, bu gözəl chart var
Çünki biz orta müddətli siz bu lesitinlər xahiş uzun.
Belə ki, yalnız bir rəhbərləri up, bu var, sizin Sizin gözəl istifadə etmək hesabatı orta-müddətli
var.
Beləliklə, biz yalnız bubble sırala baxdı.
Ən pis halda, n, n ən yaxşı halda kvadrat.
Və biz digər baxmaq olacaq.
>> Və yalnız bilərsiniz kimi həqiqətən də yoxdur ki, bir
biz niyə nəzərə almaq lazımdır ki birləşmə sort edir.
Belə ki, biz getmək olacaq Növbəti bir burada seçim sort.
Hər kəs necə yadda varmı seçim sort işləyib?
Bunun üçün getmək.
>> TƏLƏBƏ: Əsasən keçmək Sifariş və yeni siyahısını yaratmaq.
Və elementləri qoyulması etdiyiniz kimi da, doğru yerdə onlara qoymaq
yeni siyahısı.
>> Öğretim: Belə səsləri durub sort kimi daha çox.
Amma həqiqətən yaxın deyilik.
Onlar çox oxşar istəyirik.
Hətta mən onlara bəzən qarışdırılır almaq.
Mən kimi idi bu bölmədə əvvəl, gözləyin.
OK.
Belə ki, istədiyiniz nə nə, seçim sortudur
Siz hesab edə bilər yolu bu və yol haqqında
Mən əminəm almaq üçün cəhd etmək onlara keçir ki, qarışdırılır
və seçir kiçik sayı və
Sizin siyahısı əvvəlində ki qoyur.
Bu ilk spot ilə svopları.
Onlar, həqiqətən, mənim üçün bir nümunə var.
Awesome.
Belə ki, yalnız bir yol it-- seçim düşünmək sort, kiçik dəyər seçin.
Və biz olacaq Məsələn axır
Çünki kömək edəcək ki, Mən visuals həmişə kömək edirəm.
Beləliklə, biz bir şey ilə başlamaq tamamilə çeşidlənməmiş edir.
Qırmızı, çeşidlənməmiş olunacaq yaşıl sıralanır.
Bu, bütün ikinci mənada edəcək.
>> Beləliklə, biz vasitəsilə getmək və biz təkrarlamaq sonuna əvvəldən.
Və biz OK, 2, demək Bizim kiçik sayı.
Beləliklə, biz 2 almaq olacaq və biz olacaq bizim serialın qarşısında hərəkət
Bu, çünki kiçik sayı, biz var.
Belə ki, burada nə var.
Bu, sadəcə bu iki dəyişdirmək olacaq.
Belə ki, indi biz bir sıralaması hissəsi və çeşidlənməmiş hissəsi.
Və yadda yaxşı nə var Seleksiya sort haqqında
biz yalnız seçilməsi edirik çeşidlənməmiş hissəsi.
>> Sıralanır hissəsi yalnız tək buraxın.
Mm-hm?
>> TƏLƏBƏ: nə bilmək necə müqayisə olmadan kiçik
array hər digər dəyər.
Öğretim: Bu müqayisə edir.
Biz bunu atlandı kimi.
Bu ümumi yalnız ümumi edir.
Bəli.
Biz Mən kodu yazarkən Siz daha məmnun olacaq.
Amma siz ilk bu saxlamaq kiçik kimi element.
Siz müqayisə və siz OK, bu kiçik, demək?
Bəli.
Onu saxlamaq.
Burada kiçik?
No?
>> Bu, kiçik deyil Sizin dəyəri redesign.
Və çox xoşbəxt olacaq Biz kod vasitəsilə getmək zaman.
Beləliklə, biz vasitəsilə getmək, biz sonra onu dəyişdirmək biz bu çeşidlənməmiş hissəsi baxmaq.
Beləliklə, biz üç out seçin olacaq.
Biz onu qoymaq olacaq sıralanır hissəsinin sonu.
Və biz yalnız bunu saxlamaq olacaq bunu, və bunu ki,.
Belə ki, burada pseudocode bizim növüdür.
Biz ikinci burada bu qədər kod lazımdır.
Lakin yalnız bir şey gəzmək yüksək səviyyədə vasitəsilə.
Siz getmək olacaq i n minus 2 0 bərabərdir.
Ki, bir optimallaşdırma var.
Bu barədə çox narahat etməyin.
Beləliklə, siz deyirdilər.
Yaqub deyirdi ki, necə ki, biz bizim minimum nə takip?
Necə bilirik?
Biz müqayisə etmək bizim siyahıda hər şey.
>> Belə ki, minimum i bərabərdir.
Yalnız bu halda deyən oldu Bizim minimum dəyər index.
Belə ki, o vasitəsilə təkrarlamaq olacaq j i plus 1 bərabərdir və gedir.
Beləliklə, biz artıq bilirik ki, ki, bizim ilk element var.
Biz özü müqayisə etmək lazım deyil.
Belə ki, biz növbəti müqayisə başlamaq i plus 1 n niyə bir olan
minus 1, olan orada serialın sonu.
Və biz array əgər bildirib j, array min azdır
sonra biz harada redesign bizim minimum göstəricilərindəndir.
>> Və min kimi, i bərabər deyil burada biz burada artıq geri idi.
Biz ilk bu nə zaman, belə ki, istəyirəm.
Bu halda, bu başlamaq olardı sıfır, bu iki olan son bilər.
Belə ki, min sonunda i bərabər deyil.
Bizə bilirik ki, imkan verir biz onları dəyişdirmək lazımdır.
Mən konkret misal kimi hiss Bu daha çox kömək edəcək.
Mən sizə uşaqlar bu qədər kod lazımdır İndi mən daha yaxşı olacaq edirəm.
>> Sorts ki, yol işləmək üçün edirlər yalnız onları görmək üçün tez-tez daha yaxşıdır.
Beləliklə, biz nə etmək istəyirəm nə biz ilk kiçik istəyirəm
serialda öz mövqeyini element.
Məhz Yaqub deyirdi nə.
Siz elə saxlamaq lazımdır.
Beləliklə, biz burada başlamaq olacaq serialın üzərində iterating.
Biz demək olacaq bizim yalnız başlamaq üçün ilk biridir.
Beləliklə, biz int üçün gedir kiçik I array bərabərdir.
>> Belə bir şey, hər xəbər bu loop həyata zaman,
biz birlikdə bir addım daha başlayır.
Biz başlamaq zaman biz bu biri baxmaq.
Biz vasitəsilə təkrarlamaq Növbəti dəfə, bu bir başlanğıc edirik
və bu, bizim kiçik dəyər təyin.
Belə ki, bubble sırala çox oxşar Biz harada bir keçid sonra,
Bu son element çeşidlənir.
Seçim növ ilə, yalnız qarşı deyil.
>> Hər pass, biz bilirik ki, ilk çeşidlənir.
Ikinci ötürməsindən sonra, bu ikinci sıralanır.
Və siz slide nümunələri ilə gördüm kimi, bizim sıralanır hissəsi yalnız artan saxlayır.
Belə ki, bizim kiçik bir yaradılması serialların i, bütün bunu
constricting nə Biz belə baxırıq
sayı minimuma endirmək üçün müqayisələrin biz.
Ki, hər kəs üçün mənada edirmi?
Siz vasitəsilə run lazımdır, daha yavaş və ya müxtəlif sözləri?
Mən xoşbəxtəm.
OK.
>> Beləliklə, biz saxlanılması edirik bu nöqtədə dəyəri,
lakin biz də indeksi saxlamaq istəyirəm.
Belə ki, biz saxlamaq olacaq kiçik mövqeyi
yalnız i olacaq bir.
Belə ki, indi Jacob məmnun.
Biz saxlanılır şeylər var.
İndi biz vasitəsilə baxmaq lazımdır serialın çeşidlənməmiş hissəsi.
Bu halda bu, belə bizim çeşidlənməmiş olardı.
Bu i.
OK.
>> Belə ki, nə biz nə olacaq bir loop üçün olacaq.
Sizə lazım zaman bir sıra vasitəsilə təkrarlamaq,
Fikrinizi bir loop üçün getmək bilər.
Bəzi int k üçün belə biz nə düşünürsünüz bərabərdir
k ilə başlamaq üçün bərabər gedir?
Bu, bizim kiçik kimi müəyyən nə dəyəri və biz bunu müqayisə etmək istəyirəm.
Biz onu müqayisə etmək istəyirsiniz?
Bu doğru, bu növbəti bir olacaq?
Beləliklə, biz başlatılmış k istəyirəm i plus 1 başlamaq üçün.
>> Və biz bu halda k istəyirəm ki, biz Artıq ölçüsü burada saxlanılır,
belə ki, biz yalnız ölçüsü istifadə edə bilərsiniz.
Size serialın ölçüsü olan.
Və biz yalnız istəyirik bir hər zaman k yeniləmə.
Cool.
Belə ki, indi biz tapmaq lazımdır Burada kiçik element.
Beləliklə, biz vasitəsilə təkrarlamaq, biz demək istəyirəm ki, əgər k array
Bizim kiçik dəyər azdır Biz, həqiqətən, olduğunuz bu
nə takip saxlanılması kiçik burada
sonra biz redesign istəyirəm bizim kiçik dəyər nə.
>> Bu oh, biz istəyirik, o deməkdir ki, Burada vasitəsilə iterating.
Nə dəyəri burada deyil bizim kiçik şey.
Biz bunu istəmirik.
Biz redesign istəyirik.
Biz bunu reassigning istəyirsinizsə Belə ki, nə Siz burada bu kodu ola bilər mi?
Biz redesign istəyirəm kiçik və mövqeyi.
Belə ki, indi kiçik nədir?
TƏLƏBƏ: Array k.
Öğretim: Array k.
Və mövqeyi indi nə edir?
Göstəriciləri nədir Bizim kiçik dəyər?
Bu, sadəcə k edir.
Array k, k, onlar uyğun.
Belə ki, redesign istəyirdi.
Və biz kiçik tapıldı sonra loop üçün bu sonunda belə
burada biz gördük nə bizim kiçik dəyəri nə, belə ki, biz yalnız dəyişdirmək.
Bu halda, kimi demək kiçik dəyəri burada deyil.
Bu, bizim kiçik dəyəri nə.
>> Biz yalnız olan, burada dəyişdirmək istəyirəm nə altındakı svop funksiyası
biz yalnız yazdığı etdi birlikdə bir neçə dəqiqə əvvəl.
Belə ki, tanış baxmaq lazımdır.
Və sonra yalnız təkrarlamaq edəcək vasitəsilə bütün yol çatana qədər
Siz o deməkdir ki, sonuna çeşidlənməmiş ki, sıfır elementləri var
və başqa hər şey sıralanır edilmişdir.
Mənada etmək?
Daha konkret Bir az?
Kod yardım?
>> TƏLƏBƏ: bir ölçüsü üçün, heç vaxt həqiqətən müəyyən və ya dəyişdirmək,
necə bilir?
>> Öğretim: Belə ki, bir şey int ölçüsü burada qeyd.
Beləliklə, biz bu sort-- cür deyərək edirik bu bir funksiyası var iki halda
seçim sort, bu keçdi funksiyası ilə.
Bu qəbul edilmişdir, əgər Belə ki, , siz bir şey olardı
serialın uzunluğu ilə kimi və ya vasitəsilə təkrarlamaq olardı
uzunluğu tapmaq üçün.
Amma bu keçdi, çünki , biz yalnız istifadə edə bilərsiniz.
Siz yalnız istifadəçi güman bir etibarlı ölçüsü verdi
həqiqətən təmsil array ölçüsü.
Cool?
>> Sizlərin bu ilə hər hansı bir problem varsa, və ya daha çox təcrübə kodlaşdırma növ istəyirəm
Öz, siz olmalıdır study.cs50 gedin.
Bu aracıdır.
Onlar checker var ki, Siz həqiqətən yaza bilərsiniz.
Onlar pseudocode yoxdur.
Onlar daha çox video və slaydlar Mən burada istifadə, o cümlədən.
Siz hələ bir hiss edirsinizsə Belə ki, az qeyri-səlis ki, cəhd edin.
Həmişə olduğu kimi, o, mənim üçün danışmaq gəlir.
Sual?
>> TƏLƏBƏ: Siz deyərək ölçüsü əvvəl müəyyən olunur?
Öğretim: Bəli.
Size əvvəllər müəyyən edilir burada funksiyası bəyannamə.
Belə ki, qəbul edilmişdir ki, güman istifadəçi tərəfindən, və sadəlik xatirinə,
biz güman olacaq istifadəçi bizə doğru ölçüsü verdi.
Cool.
Belə ki, seçim sort var.
Uşaqlar, bu gün bir çox öyrənmək bilirik.
Bu bölüm üçün sıx data var.
Belə ki, gedirik durub növ getmək üçün.
>> OK.
Belə ki, əvvəl biz nə etmək lazımdır burada uzunluğu təhlili.
, Ən yaxşı halda belə Mən sizə göstərdi verilən
masa artıq mən cür üz verdi.
Amma yaxşı halda uzunluğu, biz nə düşünürsünüz?
Hər şey sıralanır.
N kvadrat.
Hər kəs bir izahat var Sizcə niyə?
>> TƏLƏBƏ: Siz through-- müqayisə edirik
Öğretim: Sağ.
Siz vasitəsilə müqayisə edirik.
Hər iteration, hətta baxmayaraq biz bir bu decrementing edirik
Əgər hələ də aradığınız hər şey kiçik bir tapa bilərsiniz.
Belə ki, hətta ən kiçik dəyər , başında burada
Siz hələ müqayisə edirik başqa hər şey qarşı
Bu kiçik şey əmin üçün.
Belə ki, keçən çıxacağıq təxminən n dəfə kvadrat.
Bütün hüquqlar.
Və ən pis halda nə var?
Siz olacaq, çünki Həmçinin n kvadrat Eyni proseduru edirik.
Bu halda, seçimi belə sort bir şey var
biz də nə gözlənilir, uzunluğu zəng.
Belə ki, başqaları, biz yalnız bilirik yuxarı və aşağı həddi.
Necə crazy asılı olaraq bizim siyahısı və ya necə çeşidlənməmiş bu,
Onlar n və ya n kvadrat arasında dəyişir.
Biz bilmirik.
>> Amma seçim sort eyni çünki pis və ən yaxşı halda, ki, bizə deyir
giriş nə olursa olsun cür tamamilə olsun, var
sıralanır və ya tamamilə bu, sıralanır geri
eyni miqdarda almaq niyyətindədir.
Bu halda belə, əgər Bizim masa xatırlayıram,
Bu, həqiqətən bir dəyəri var idi ki, Bu iki növ, yoxdur
olan gözlənilir iş deyil.
Beləliklə, biz bilirik zaman ki, biz seçim sort run,
Bu təmin edir bir kvadrat n vaxt axır.
Heç bir dəyişkənlik yoxdur.
Bu, sadəcə gözlənilir.
Və yenə, siz öyrənmək istəyirsinizsə daha Bahar CS 124 almaq.
Bütün hüquqlar.
Biz bu bir gördüm.
Cool.
Belə ki, durub sırala.
Və yəqin ki, gedirəm Bu vasitəsilə etmek üçün.
Mən sizə uşaqlar kod olmayacaq.
Biz yalnız onun vasitəsilə gəzmək lazımdır.
Belə ki, durub sırala növüdür Seçim Sıralama oxşar
ki, biz də bir çeşidlənməmiş var və serialın hissəsi sıralanır.
>> Amma nə müxtəlif ki biz bir ilə getmək kimi,
biz yalnız nə sıra almaq bizim çeşidlənməmiş növbəti edir
və düzgün sort Bizim sıralanır array.
Bir misal daha mənada etmək lazımdır.
Belə ki, hər şey çeşidlənməmiş kimi başlayır, yalnız seçim sort ilə kimi.
Və biz bu sort olacaq biz olduğu kimi sifariş artan.
Ilk pass belə biz ilk dəyəri almaq
və biz OK, siz demək İndi özünüz bir siyahısı.
>> Bir siyahısı Çünki Özünüz, siz sıralanır.
Bu olmaq üçün təbrik Bu array ilk element.
Siz artıq öz sıralanır edirik.
Belə ki, indi biz bir sıralaması və çeşidlənməmiş array.
Belə ki, indi biz ilk almaq.
Burada arasında olur və burada, biz demək ki,
OK, biz baxmaq olacaq bizim çeşidlənməmiş serialın ilk dəyəri
və biz girişi üçün olacaq onun sıralanır array düzgün yer.
>> Beləliklə, biz 5 almaq biz nə və biz 5, 3-dən böyük, OK, demək
belə ki, biz yalnız sağ daxil ki, sağ üçün.
Biz yaxşı edirik.
Beləliklə biz növbəti bir getmək.
Və biz 2 almaq.
Biz OK, 2 az, demək 3-dən, belə ki, biz bilirik ki, var
Bu da olmalıdır İndi bizim siyahısı ön.
Belə ki, nə biz, biz aşağı 3 və 5 təkan edir və biz ilk yuvasına 2 hərəkət.
Beləliklə, biz yalnız onu daxil edirik Bu olmalıdır düzgün yer.
>> Sonra baxmaq bizim Növbəti bir, biz 6 deyirlər.
OK, 6 daha böyükdür Bizim sıralanır array hər şey,
belə ki, biz yalnız sonunda onu tag.
Və sonra biz 4 baxmaq.
4 6 azdır, az deyil 5-dən lakin 3-dən çox var.
Beləliklə, biz yalnız sağ daxil edin 3 və 5 arasında orta.
Belə ki, bir az etmək üçün daha konkret bit,
burada növ nə fikir.
Hər çeşidlənməmiş element üçün, biz burada sıralanır hissəsi müəyyən
edir.
>> Belə ki, mind saxlamaq çeşidlənir və çeşidlənməmiş,
biz vasitəsilə və rəqəm axır var Bu sıralanır array uyğun olduğu.
Və biz dəyişkən ilə daxil onun sağ aşağı elementləri.
Və sonra biz yalnız saxlamaq biz qədər vasitəsilə iterating
tamamilə sıralanır siyahısı var İndi sıfır olduğu çeşidlənməmiş edir
və sorted tutur bizim siyahısı bütövlükdə.
Belə ki, daha belə şeylər etmək daha konkret, biz pseudocode var.
>> Belə ki, əsasən i üçün n minus 1 0 bərabər,
ki, serialın yalnız uzunluğu var.
Biz bərabər bir element var ilk array və ya ilk göstəriciləri.
Biz bərabər j seçin.
J daha çox isə belə sıfır və array, j minus 1
Bu daha böyükdür element, bütün bunu edir
əmin edir Sizin j həqiqətən təmsil
serialın çeşidlənməmiş hissəsi.
>> Hələ şeyi var isə belə sort və j minus bir nə That üçün
Bu element onun var?
J burada müəyyən heç vaxt.
Bu annoying növü var.
OK.
Zaten.
Belə ki, j minus 1, kontrol edirik Əvvəl element.
Siz OK, element, deyərək edirik Mən imkan am-- yerdə əvvəl
həqiqətən bu cəlb edir.
Belə ki, bu deyək ikinci pass kimi.
Belə ki, i bərabər olacaq 1, burada edir.
>> Belə ki, i 1-bərabər olacaq.
Bu, 2, 4, 5, 6, 7 olacaq.
Bütün hüquqlar.
Bu halda belə bizim element 4 bərabər olacaq.
Və biz ki, bəzi j var 1 bərabər olacaq.
Oh, j decrementing olunur.
Ki, nə var.
Belə ki, j i bərabərdir, belə ki, bu nə deyərək, biz irəli hərəkət kimi ki,
biz yalnız əmin edirik biz artıq deyilik ki,
biz çalışdığınız zaman bu şəkildə indeksasiyası bizim sıralanır siyahısına şeyi daxil etmək üçün.
>> Belə ki, j, bu halda 1-bərabər olduqda və belə array j minus 1 one-- array j minus
ki, əgər Bu halda 2 element daha çox,
sonra bütün bu edir şeyi aşağı sürüşür.
Bu halda, array j minus bir So 2 olan array sıfır olacaq.
2, 4-dən böyük deyil bu icra etmir.
Belə ki, shift aşağı hərəkət etmir.
Nə burada nə yalnız aşağı sıralanır array hərəkət.
Bu halda, faktiki olaraq, biz do-- bilər bu 3 edək.
Beləliklə, biz vasitəsilə gəzmək əgər Bu misal, biz burada indi istəyirik.
Bu çeşidlənir.
Bu çeşidlənməmiş edir.
Cool?
Belə ki, i ki, 2 bərabərdir Bizim element 3 bərabərdir.
Və j 2 bərabərdir.
Belə ki, biz və baxmaq OK, array j minus biridir, demək
element daha çox biz aradığınız ki?
Və cavab doğru yes?
4 3 və j daha böyükdür 2, bu kodu icra.
>> Belə ki, indi biz bir sıra nə 2, burada, biz onları dəyişdirmək.
Beləliklə, biz yalnız OK, array, demək 2 indi 3 olacaq.
Və j bərabər gedir 1 olan j minus 1.
Ki, dəhşətli, lakin Sizlərin fikir almaq.
J indi 1 bərabərdir.
Və array j yalnız olacaq 4 olan element, bərabər.
Mən bir şey silinə I verməməli və ya miswrote bir şey,
ancaq uşaqlar fikir almaq.
>> Bu n da hərəkət.
Bu idi sonra əgər, bu loop ki daha və OK, j indi 1, demək olardı.
Və array j minus 1 indi 2.
2 bizim element azdır?
No?
Yəni biz o deməkdir ki, Bu element daxil
Bizim sıralanır array düzgün spot.
Sonra biz bu edə bilərsiniz və biz demək, OK, sıralanır array burada.
Və bu sayı 6 və olacaq kimi, OK, bu sayı 6 az?
No?
Cool.
Biz yaxşıyıq.
>> Daha bunu.
Biz 7 deyirlər.
Sonda 7-dən az sıralanır array?
No.
Beləliklə, biz yaxşıyıq.
Belə ki, bu sıralanır olardı.
Əsasən bütün bu yoxdur Bu Anlık deyərək olunur
ilk element Sizin çeşidlənməmiş array,
gedir harada anlamaq Sizin sıralanır array.
Və bu, yalnız qayğı svopları bunu.
Siz əsasən yalnız dəyişdirmə edirik qədər sağ spot var.
Vizual image sen ki, bunu hər şeyi aşağı hərəkət.
>> Belə ki, yarım bubble kimi sort-esque var.
Iş 50 oldu.
Mən çalışıram gəlir öz Bu kod.
Hər hansı məsələlər və ya etmək istəyirsinizsə bir durub sırala üçün nümunə kodu görmək,
xahiş edirik Mənə bildirin.
Mən ətrafında həmişə edirəm.
Belə ki, ən pis halda iş və ən yaxşı halda iş.
Siz oğlan Mən artıq masa gördüm Bu kvadrat və n edir, həm də n, göstərdi.
>> Belə ki cür danışdıq nə off gedir bizim əvvəlki növləri ilə haqqında pis
halda iş deyil ki, əgər tamamilə çeşidlənməmiş,
bu n dəfə bütün müqayisə etmək lazımdır.
Biz müqayisə bir çox Bu sırayla əgər çünki,
Biz OK, bu demək olacaq , bu yaxşıdır, eyni
və bu müqayisə olacaq birinci qarşı geri daşınacaq.
Və biz doğru almaq kimi quyruq sonunda, biz
, müqayisə, və hər şeyə qarşı müqayisə.
>> Belə ki, olan qədər başa təxminən n kvadrat.
O zaman doğru varsa Siz yaxşı istəyirik, 2, OK, deyirlər.
3, 2 ilə müqayisədə edirik.
Siz yaxşı istəyirik.
4, yalnız quyruq müqayisə.
Siz yaxşı istəyirik.
6, gözəl istəyirik, quyruq müqayisə.
Belə ki, hər spot üçün artıq var, əgər sıralanır, bir müqayisə edirik.
Belə ki, yalnız n var.
Və biz yaxşı halda uzunluğu var, çünki n və n pis halda uzunluğu
kvadrat, biz heç nə gözlənilir, uzunluğu var.
>> Bu, yalnız asılıdır var siyahısı xaos.
Və yenə başqa graph və digər masa.
Növ arasında fərqlər belə.
Mən yalnız vasitəsilə breeze gedirəm, mən Biz geniş söhbət etdiyiniz kimi hiss
nə onlar bütün növ haqqında fərqlənə və birlikdə keçid.
Belə ki, sort son biridir birləşmə Mən sizə uşaqlar doğdu edilir.
Biz olduqca rəngarəng şəkil var.
Belə ki, sort bir recursive alqoritmi daxil.
Belə ki, uşaqlar bilirik nə bir recursive funksiyası?
>> Hər kəs demək istəyirəm?
Siz cəhd etmək istəyirsiniz?
Belə ki, bir recursive funksiyası yalnız özü çağırır ki, bir funksiyası.
Belə ki, uşaqlar tanış olduqda Fibonacci ardıcıllığı ilə,
çünki recursive hesab edir Siz əvvəlki iki almaq
və onlara birlikdə əlavə növbəti bir almaq üçün.
Belə ki recursive, Mən həmişə fikirləşirəm bir spiral kimi recursion
belə ki, onu aşağı spiral kimi istəyirik.
Amma bu yalnız bir funksiyası var ki, özü çağırır.
>> Və, həqiqətən, həqiqətən, tez mən ki, kimi görünür nə göstərmək olar.
Biz baxmaq əgər burada belə recursive, bu Bu recursive yol bir sıra üzərində yekunlaşdırmaq üçün.
Belə ki, bütün biz ki, biz məbləğ funksiyası var
bir ölçüsü və bir sıra edir ki məbləği.
Və qeyd əgər, ölçüsü bir hər zaman decrements.
Və bunu bütün x bərabərdir əgər sıfır əgər belə serialın ölçüsü
sıfır qaytarır sıfır bərabərdir.
>> Əks halda bu yekunlaşdırır Serialın son element,
və sonra bir məbləğ edir serialın qalan.
Belə ki, yalnız aşağı qırılma kiçik və daha kiçik problemlər daxil.
Uzun hekayə qısa, recursion, özü çağırır ki, fəaliyyət göstərir.
Ki, bu həyata var, bütün əgər, ki, bir recursive funksiyası nə var.
Siz 51 alsaq, çox olacaq, Recursion ilə çox rahat.
Bu, həqiqətən sərin var.
Bu kimi at mənada etdi 3-AM bir gecə.
Və mən, nə kimi idi Mən bu istifadə heç vaxt?
>> Əsasən, birləşmə sort Belə ki, nə etmək olur ki, var edir
qırmaq və onu qırmaq niyyətində Bu yalnız bir elementləri qədər aşağı.
Vahid elementləri düzmək üçün asandır.
Biz görürük.
Bir element varsa, bu artıq sıralaması hesab.
N elementləri daxil, belə ki, n az 2 olduqda,
yalnız deməkdir, çünki qayıtmaq biz gördük kimi 0 və ya 1 ya var.
Həmin sorted elementlər hesab edilir.
>> Əks halda yarım onu ​​qıra.
Ikinci sort, ilk yarım sort yarım, sonra onları birlikdə birləşməsi.
Niyə birləşmə sort deyirlər.
Bu düzmək lazımdır, belə ki, biz burada var.
Beləliklə, biz onlara olan saxlamaq Bu array ölçüsü 1 qədər.
Bu, 1 zaman, biz yalnız qayıtmaq bu bir sorted array, çünki,
və bu sorted array edir ki, var sıralanır array, biz bütün sıralanır edirik.
Beləliklə biz nə biz Onlara birlikdə birləşmə başlayın.
>> Belə ki, yol bilərsiniz birləşmə haqqında düşünmək
Yalnız kiçik aradan qaldırılması alt serialların hər sayı
və yalnız ortaya array üçün əlavə.
Belə ki, əgər biz zaman, burada baxmaq bu dəsti 4, 6 və 1 var.
Biz bu daxil etmək istədiyiniz zaman, biz bu ilk iki baxmaq
və biz 1 kiçik, OK, demək, ön gedir.
4 və 6, müqayisə etmək heç bir şey yoxdur Bu, yalnız sonunda onu tag üçün.
>> Biz bu iki birləşdirmək zaman, biz yalnız , bu iki kiçik birini
belə ki, 1 var.
İndi biz almaq bu iki, belə ki, 2 kiçik.
Bu iki, 3 kiçik.
Bu iki, 4, 5, 6 kiçik.
Belə ki, yalnız bu off çekme edirik.
Onlar var, çünki əvvəllər sıralanır,
Yalnız bir var müqayisə var hər zaman.
Burada daha çox kodu, yalnız nümayəndəliyi.
Belə ki, orta başlamaq və Siz sort sol və sağ
və sonra yalnız daxil.
>> Və biz kodu yoxdur üçün burada daxil.
Amma, yenə də, siz getmək əgər 50 təhsil, orada olacaq.
Əks halda mənə danışmaq gəlmək Siz əgər yenə qarış.
Belə ki, burada sərin şey ki, yaxşı haldır, ən pis halda, gözlənilən iş
, n bütün daxil olan biz daha yaxşıdır
Bizim növ istirahət üçün görülür.
Biz gördük n kvadrat etdik və həqiqətən nə biz
böyük olan, n log n burada almaq.
>> Ki, nə qədər yaxşı baxın.
Belə bir gözəl curve.
Belə ki, daha səmərəli.
Əgər edə bilmirsinizsə, istifadə birləşmə sort.
Bu zaman qənaət edəcək.
Sonra yenə biz dediyi kimi, əgər Siz bu aşağı bölgədə aşağı edirik
ki, etmir qədər fərq.
Siz minlərlə almaq və giriş minlərlə,
siz mütləq bir istəyirəm daha səmərəli alqoritm.
Bütün Və yenə bizim sevimli masa Siz uşaqlar bu gün öyrəndim ki növ.
>> Mən bir sıx gün oldu bilirik.
Bu mütləq niyyətində deyil Sizin pset ilə sizə kömək edir.
Amma yalnız bir disclaimer etmək istəyirəm ki, bölmədə yalnız psets deyil.
Bütün bu material ədalətli Sizin midterms üçün oyun.
Və CS ilə davam edə də əgər, Bu həqiqətən əhəmiyyətli əsasları var
ki, bilmək lazımdır.
Belə ki, bir neçə gün olacaq az daha pset yardım,
lakin bəzi həftə olacaq daha çox faktiki content
super görünə bilər indi sizin üçün faydalı,
Davam əgər mən söz verirəm çox, çox faydalı olacaq.
>> Belə ki bölüm üçün var.
Tel Down.
Mən bir dəqiqə ərzində bunu.
Amma siz gedin.
Mən donuts və ya konfet olacaq.
Allergik hər kəs edir yolu ilə bir şey?
Yumurta və süd.
Belə ki, donuts heç bir var?
OK.
Bütün hüquqlar.
Chocolate heç?
Starburst.
Starbursts yaxşı.
OK.
Biz olacaq Sonra növbəti həftə Starburst.
Mən almaq lazımdır nə.
Siz uşaqlar böyük bir həftə var.
Spec oxuyun.
>> Əgər hər hansı bir sualınız varsa, Mənə bildirin.
Pset iki notları olmalıdır Cümə axşamı tərəfindən həyata.
Hər hansı bir sualınız varsa, Mən bir şey pilləli haqqında
və ya niyə yol bir şey pilləli , mənə eməktub göndərin idi, mənə danışmaq gəlir.
Mən bir az dəli, bu deyiləm həftə, amma söz verirəm
Mən hələ 24 saat ərzində cavab verəcəyik.
Belə ki, böyük bir həftə, hər kəs.
Sizin pset Uğurlar.