1 00:00:00,000 --> 00:00:02,826 >> [MUSIC PLAYING] 2 00:00:02,826 --> 00:00:05,660 3 00:00:05,660 --> 00:00:09,370 >> DOUG LLOYD: Belə ki, durub sırala başqa alqoritm biz bir sıra düzmək üçün istifadə edə bilərsiniz. 4 00:00:09,370 --> 00:00:12,350 Bu alqoritm arxasında ideyası Sizin sorted array qurmaq üçün 5 00:00:12,350 --> 00:00:19,670 yerdə, həyata elementləri dəyişkən Siz getmək kimi yol otaq etmək. 6 00:00:19,670 --> 00:00:22,240 Bu az fərqli seleksiya sort və ya bubble 7 00:00:22,240 --> 00:00:25,460 sort, məsələn, harada biz yerlərdə düzəliş edirik, 8 00:00:25,460 --> 00:00:26,910 biz svop edirik. 9 00:00:26,910 --> 00:00:29,760 >> Bu halda biz həqiqətən istəyirik bunu sürüşmə elementləri 10 00:00:29,760 --> 00:00:31,390 üzərində yol. 11 00:00:31,390 --> 00:00:34,030 Bu alqoritm Necə pseudocode işləmək? 12 00:00:34,030 --> 00:00:37,646 Yaxşı, yalnız özbaşına deyirlər ki, edək serialın ilk element çeşidlənir. 13 00:00:37,646 --> 00:00:38,770 Biz yerdə tikinti edirik. 14 00:00:38,770 --> 00:00:42,660 >> Biz mý bir-bir element getmək etdiyiniz və qurmaq, və ilk şey görürük 15 00:00:42,660 --> 00:00:43,890 bir element array edir. 16 00:00:43,890 --> 00:00:47,720 Və müəyyən, bir element array çeşidlənir. 17 00:00:47,720 --> 00:00:50,850 >> Sonra biz bu prosesi demək lazımdır until-- biz aşağıdakı prosesi demək lazımdır 18 00:00:50,850 --> 00:00:52,900 elementləri bütün ayrılır qədər. 19 00:00:52,900 --> 00:00:57,770 Növbəti çeşidlənməmiş element baxmaq və sıralanır hissəsi daxil edin, 20 00:00:57,770 --> 00:01:01,209 tələb olunan sayı dəyişkən tərəfindən yol elementləri. 21 00:01:01,209 --> 00:01:03,750 İnşallah bu vizual Siz var tam olaraq nə görmək kömək edəcək 22 00:01:03,750 --> 00:01:05,980 durub sırala ilə gedir. 23 00:01:05,980 --> 00:01:08,010 >> Belə ki, yenə, burada var Bütün çeşidlənməmiş array, 24 00:01:08,010 --> 00:01:10,970 elementləri bütün qırmızı göstərilən. 25 00:01:10,970 --> 00:01:13,320 Və əməl edək Bizim pseudocode addımlar. 26 00:01:13,320 --> 00:01:16,970 Biz nə ilk şey, biz zəng serialın ilk element sıralanır. 27 00:01:16,970 --> 00:01:20,920 Beləliklə, biz yalnız mý demək istəyirik beş, indi sıralanır edirik. 28 00:01:20,920 --> 00:01:24,570 >> Sonra biz növbəti baxmaq serialın çeşidlənməmiş element 29 00:01:24,570 --> 00:01:27,610 və biz bu daxil etmək istəyirəm sıralanır hissəsi daxil, 30 00:01:27,610 --> 00:01:29,750 elementləri üzərində dəyişkən tərəfindən. 31 00:01:29,750 --> 00:01:33,470 Belə ki, iki növbəti çeşidlənməmiş edir serialın element. 32 00:01:33,470 --> 00:01:36,250 Aydındır ki, bu əvvəl məxsusdur beş, belə ki, biz edəcəyimizi nə edirik 33 00:01:36,250 --> 00:01:41,580 sort bir ikinci kənara iki keçirəcək ki, artıq beş keçmək, sonra iki daxil 34 00:01:41,580 --> 00:01:43,210 Beş əvvəl getmək lazımdır. 35 00:01:43,210 --> 00:01:45,280 İndi biz iki çeşidlənir demək olar ki. 36 00:01:45,280 --> 00:01:48,400 >> Gördüyünüz kimi, belə ki, biz indiyə qədər yalnız var serialın iki elementləri baxdı. 37 00:01:48,400 --> 00:01:50,600 Biz baxdı yoxdur bütün istirahət, lakin biz var 38 00:01:50,600 --> 00:01:54,582 bu iki elementləri sıralaması oldu dəyişkən mexanizminin yol. 39 00:01:54,582 --> 00:01:56,410 >> Yəni biz yenidən prosesi təkrar edin. 40 00:01:56,410 --> 00:01:58,850 Növbəti çeşidlənməmiş baxın element ki, biri. 41 00:01:58,850 --> 00:02:04,010 , Bir ikinci kənara keçirilməsi edək artıq hər şey keçmək, və bir qoymaq 42 00:02:04,010 --> 00:02:05,570 harada getmək lazımdır. 43 00:02:05,570 --> 00:02:08,110 >> Yenə də, biz yalnız heç etdik Bir, iki, və beş baxdı. 44 00:02:08,110 --> 00:02:12,480 Biz gələn başqa nə bilmirəm, lakin biz bu üç elementləri sıralaması etdik. 45 00:02:12,480 --> 00:02:16,030 >> Next çeşidlənməmiş element üç, belə ki, biz kənara müəyyən edəcəyik. 46 00:02:16,030 --> 00:02:18,200 Biz artıq keçmək lazımdır nə biz ki, bu dəfə lazımdır 47 00:02:18,200 --> 00:02:21,820 Əvvəlki kimi hər şey deyil iki halda, yalnız beş var. 48 00:02:21,820 --> 00:02:25,440 Və sonra biz üç qalmaq lazımdır, iki və beş arasında. 49 00:02:25,440 --> 00:02:27,849 >> Six çeşidlənməmiş növbəti array element. 50 00:02:27,849 --> 00:02:31,140 Və əslində altı, belə ki, beş daha böyükdür Biz hətta hər hansı bir dəyişdirmə etmək lazım deyil. 51 00:02:31,140 --> 00:02:35,710 Biz yalnız sağ altı tack bilər sıralanır hissəsinin sonu. 52 00:02:35,710 --> 00:02:38,270 >> Nəhayət, dörd son çeşidlənməmiş element. 53 00:02:38,270 --> 00:02:42,060 Beləliklə, biz kənara qurmaq lazımdır, üzərində keçmək elementləri biz artıq keçmək lazımdır 54 00:02:42,060 --> 00:02:43,780 Bu aid olduğu və sonra dörd qoydu. 55 00:02:43,780 --> 00:02:46,400 İndi baxmaq biz sort var bütün elementləri. 56 00:02:46,400 --> 00:02:48,150 Durub ilə qeyd sort, biz yox idi 57 00:02:48,150 --> 00:02:50,240 geri və irəli array arasında getmək üçün. 58 00:02:50,240 --> 00:02:54,720 Biz yalnız array arasında getdi bir dəfə, və biz hər şeyi keçdikdə 59 00:02:54,720 --> 00:02:59,870 biz artıq üçün, rast istədiyiniz yeni elementlər üçün otaq etmək. 60 00:02:59,870 --> 00:03:02,820 >> Belə ki, nə ən pis halda var durub növ ilə ssenari? 61 00:03:02,820 --> 00:03:05,090 Ən pis halda, array əks qaydada deyil. 62 00:03:05,090 --> 00:03:11,180 Siz n elementlərin hər keçmək n vəzifələrdə qədər, hər bir zaman biz 63 00:03:11,180 --> 00:03:12,880 bir durub olun. 64 00:03:12,880 --> 00:03:15,720 Bu dəyişkən bir çox var. 65 00:03:15,720 --> 00:03:18,014 >> Ən yaxşı halda, array mükəmməl çeşidlənir. 66 00:03:18,014 --> 00:03:20,680 Və sort nə kimi Məsələn beş və altı ilə, 67 00:03:20,680 --> 00:03:23,779 biz yalnız tack biləcəyi Hər hansı bir dəyişkən olmadan, 68 00:03:23,779 --> 00:03:24,820 biz mahiyyətcə bunu görürük. 69 00:03:24,820 --> 00:03:27,560 >> Siz təsəvvür əgər bizim array, altı ilə bir idi 70 00:03:27,560 --> 00:03:29,900 biz ilə başlamaq istədiyiniz bir elan çeşidlənir. 71 00:03:29,900 --> 00:03:33,300 İki biz yalnız bilərsiniz sonra gəlir bir və iki sıralanır, həmçinin OK, deyirlər. 72 00:03:33,300 --> 00:03:36,190 Üç OK, belə ki, sonra iki gəlir, bir və iki və üç sıralanır. 73 00:03:36,190 --> 00:03:39,590 >> Biz istəyirik, hər hansı bir svopları edilməsi deyilik bu ixtiyari xətt hərəkət 74 00:03:39,590 --> 00:03:42,460 biz getmək kimi arasında sıralanır və çeşidlənməmiş. 75 00:03:42,460 --> 00:03:46,646 Kimi səmərəli biz nümunə kimi, biz davam kimi, mavi elementləri dönüş. 76 00:03:46,646 --> 00:03:48,270 Belə ki, ən pis halda uzunluğu sonra nə var? 77 00:03:48,270 --> 00:03:51,854 Biz hər keçmək varsa, saxla n elementləri bəlkə n vəzifələrdə, 78 00:03:51,854 --> 00:03:54,020 ümid edirəm ki, verir ən pis halda ki, bir fikir 79 00:03:54,020 --> 00:03:57,770 uzunluğu n Big O kvadrat edir. 80 00:03:57,770 --> 00:04:00,220 >> Array mükəmməl olarsa sıralaması bütün biz nə üçün 81 00:04:00,220 --> 00:04:04,480 hər bir element baxmaq bir dəfə, sonra biz tamamlayın. 82 00:04:04,480 --> 00:04:08,440 Belə ki, ən yaxşı halda, bu n omega var. 83 00:04:08,440 --> 00:04:09,490 >> Mən Doug Lloyd edirəm. 84 00:04:09,490 --> 00:04:11,760 Bu CS50 edir. 85 00:04:11,760 --> 00:04:13,119