1 00:00:00,000 --> 00:00:11,270 2 00:00:11,270 --> 00:00:14,910 >> المتحدث: حسنا، هذا هو CS50. 3 00:00:14,910 --> 00:00:19,020 هذا هو نهاية الأسبوع ثلاثة، وإذا لم تكن قد استفادت بالفعل، 4 00:00:19,020 --> 00:00:21,790 نعلم أنه سيكون هناك غداء يوم الجمعة كالمعتاد، حيث 5 00:00:21,790 --> 00:00:25,430 يمكنك التمتع محادثة جيدة والطعام في النار والجليد 6 00:00:25,430 --> 00:00:27,980 مع بعض في CS50 الموظفين وزملاء الدراسة. 7 00:00:27,980 --> 00:00:30,170 التوجه الى هذا الرابط هنا. 8 00:00:30,170 --> 00:00:33,420 >> الآن قد تذكرون، أو لك قد تكون قريبا على بينة، 9 00:00:33,420 --> 00:00:35,970 هذه الأشياء هنا، والتي تعطى في نهاية 10 00:00:35,970 --> 00:00:37,850 الفصل الدراسي للعديد من الطبقات. 11 00:00:37,850 --> 00:00:40,870 ما يسمى امتحان الكتب الزرقاء، التي أن تكتب الإجابة على الامتحانات. 12 00:00:40,870 --> 00:00:44,240 الآن لدي هنا 26 مثل الكتب الزرقاء، وعلى كل منهم 13 00:00:44,240 --> 00:00:47,580 يتم كتابة اسم، من A إلى Z. و بل والأسماء هي بهذه البساطة، و 14 00:00:47,580 --> 00:00:50,490 من خلال Z. واحد الأهداف في متناول اليد اليوم 15 00:00:50,490 --> 00:00:53,910 ستكون لمواصلة ما بدأنا يوم الاثنين، وهي ليست 16 00:00:53,910 --> 00:00:57,830 ينظر كثيرا إلى رمز، ولكن في الحقيقة النظر في الأفكار وحل المشكلات. 17 00:00:57,830 --> 00:01:00,170 أحد الأهداف و وعود من هذه الدورة 18 00:01:00,170 --> 00:01:02,985 هو ليعلمك أن نفكر أكثر بعناية، وأكثر منهجية، 19 00:01:02,985 --> 00:01:05,400 ولحل المشكلات بشكل أكثر كفاءة. 20 00:01:05,400 --> 00:01:09,526 وبالفعل، يمكننا أن نفعل ذلك حقا حتى دون لمس سطر من التعليمات البرمجية. 21 00:01:09,526 --> 00:01:12,150 لذا لدي بضعة من الفيلة هنا اليوم والبرتقالي والأزرق، 22 00:01:12,150 --> 00:01:15,780 لو تمكنا من الحصول على أحد المتطوعين، ربما من الخلف أبعد من المعتاد. 23 00:01:15,780 --> 00:01:18,070 ماذا عن الحق هناك، هيا. 24 00:01:18,070 --> 00:01:24,180 الهدف منها ستكون ل بالإضافة إلى مساعدة إدارة هذا الامتحان هنا. 25 00:01:24,180 --> 00:01:24,935 ما اسمك؟ 26 00:01:24,935 --> 00:01:25,768 >> الجمهور: ماري بيث. 27 00:01:25,768 --> 00:01:27,560 المتحدث: ماري بيث، وتأتي على ما يصل. 28 00:01:27,560 --> 00:01:29,560 اسمحوا لي أن الحصول الميكروفون لأنك هنا. 29 00:01:29,560 --> 00:01:32,172 30 00:01:32,172 --> 00:01:32,880 لطيف لمقابلتك. 31 00:01:32,880 --> 00:01:34,005 >> الجمهور: لطيف لمقابلتك. 32 00:01:34,005 --> 00:01:36,790 المتحدث: كل الحق، لذلك لدي هنا الأزرق الكتب A إلى Z، 33 00:01:36,790 --> 00:01:41,680 وانا ذاهب الى التظاهر بأن أنا واحد من الطلاب، 34 00:01:41,680 --> 00:01:45,770 وانهم القادمة في عشوائيا إلى حد ما في نهاية كتلة الامتحان ثلاث ساعات، 35 00:01:45,770 --> 00:01:49,400 حتى انهم تنتهي في بعض أمر شبه عشوائي من هذا القبيل. 36 00:01:49,400 --> 00:01:54,510 الآن مهمتك في مجرد لحظة سوف لbe-- هذا هو في الواقع كيف يحصلون على 37 00:01:54,510 --> 00:01:56,820 تحولت في نهاية الطبقة، على الأرجح. 38 00:01:56,820 --> 00:02:01,120 عملك الآن ستكون، تماما ببساطة، لفرز هذه الكتب الزرقاء بالنسبة لنا 39 00:02:01,120 --> 00:02:05,220 من A إلى Z. 40 00:02:05,220 --> 00:02:08,400 >> الجمهور: أوه، هذا هو ذاهب الى اتخاذ إلى الأبد. 41 00:02:08,400 --> 00:02:13,747 >> المتحدث: وسنراقب كما كنت تفعل هذا، أي ضغط. 42 00:02:13,747 --> 00:02:15,330 الجمهور: لا، لا ضغط أو أي شيء. 43 00:02:15,330 --> 00:02:19,230 44 00:02:19,230 --> 00:02:23,570 >> المتحدث: وللمتعة، دعونا طرح جهاز توقيت. 45 00:02:23,570 --> 00:02:26,680 46 00:02:26,680 --> 00:02:28,700 >> الجمهور: هذا القدر من المتعة، الكثير من المرح. 47 00:02:28,700 --> 00:02:36,741 48 00:02:36,741 --> 00:02:38,574 >> المتحدث: أستطيع أن أضعها في هيئة التصنيع العسكري بالنسبة لك. 49 00:02:38,574 --> 00:02:40,240 كل الحق، لقد تضاعف سرعة دينا فقط. 50 00:02:40,240 --> 00:02:44,190 51 00:02:44,190 --> 00:02:49,060 وذلك في غضون ذلك، اسمحوا لي أن أطرح ما سيكون السؤال عن ماري بيث 52 00:02:49,060 --> 00:02:51,540 هو ما تفعله، وكيف هو انها تسير نحو حل هذا؟ 53 00:02:51,540 --> 00:02:54,040 في واقع الأمر، قد لا يكون لديك فكرت في شيء 54 00:02:54,040 --> 00:02:57,440 بسيطة مثل ذلك عند اختيار بزيادة 26 مثل هذه الكتب، 55 00:02:57,440 --> 00:02:59,350 الذي لا يملك الطبيعية طلب لهم. 56 00:02:59,350 --> 00:03:01,335 ما هي عملية التي تستخدمها في الواقع؟ 57 00:03:01,335 --> 00:03:03,770 هو عشوائي إلى حد ما فقط اختيار أول واحد كنت ترى 58 00:03:03,770 --> 00:03:05,250 ووضعه في مكانه؟ 59 00:03:05,250 --> 00:03:09,680 هل أول تحرك يديك حول تبحث عن بعد ذلك تبحث عن B؟ 60 00:03:09,680 --> 00:03:11,722 هل نلقي نظرة على زوج منها جنبا إلى جنب 61 00:03:11,722 --> 00:03:14,680 ونقول فقط، انتظر لحظة، وهذا هو ليس صحيحا، ومن ثم مبادلة النظام؟ 62 00:03:14,680 --> 00:03:16,960 رأينا بالفعل يوم الاثنين أن هناك عدد من الطرق 63 00:03:16,960 --> 00:03:22,140 حيث يمكننا أن نفعل هذا، و ونحن في الواقع قرب نهاية هنا، 64 00:03:22,140 --> 00:03:26,360 وأود أن يحيط علما ربما ما ماري بيث يقوم به. 65 00:03:26,360 --> 00:03:30,040 لدينا عدد قليل من أكوام ما يبدو، أكبر واحد، ثلاثة منها صغيرة. 66 00:03:30,040 --> 00:03:33,790 67 00:03:33,790 --> 00:03:36,415 >> الجمهور: أنا تأمرهم عندما أجد رسالتين 68 00:03:36,415 --> 00:03:39,540 وأنا أعلم معا في تسلسل، أنا وضعت لهم معا لدرجة أنني لا 69 00:03:39,540 --> 00:03:42,915 داعي للقلق حول حفظ المسار صف كامل من الكتب. 70 00:03:42,915 --> 00:03:45,706 انها مجرد، أوه، هو أولا، لقد حصلت على هذا المكدس هنا. 71 00:03:45,706 --> 00:03:47,580 المتحدث: لذا، تقريبا مثل وقطع اللغز التي 72 00:03:47,580 --> 00:03:49,860 يكون الشكل الصحيح ل متابعة المباراة مع بعضها البعض. 73 00:03:49,860 --> 00:03:51,026 الجمهور: حد كبير، نعم. 74 00:03:51,026 --> 00:03:55,320 المتحدث: حسنا، ممتاز. 75 00:03:55,320 --> 00:03:59,850 والآن كل من هذه يتم فرز أكوام من المفترض؟ 76 00:03:59,850 --> 00:04:00,990 >> الجمهور: نعم. 77 00:04:00,990 --> 00:04:09,900 >> المتحدث: حسنا، من A إلى Z. جميع الحق، تهنئة، يمكنك فعل ذلك. 78 00:04:09,900 --> 00:04:11,461 لديك اختيارك. 79 00:04:11,461 --> 00:04:11,960 الأزرق؟ 80 00:04:11,960 --> 00:04:13,530 كل الحق، شكرا لكم على ذلك. 81 00:04:13,530 --> 00:04:16,679 لذا لم تقترح ماري بيث ما كان نهجها، 82 00:04:16,679 --> 00:04:19,720 ولكن ما هو نهج آخر كيف قد يذهب حول فرز هذه الأشياء؟ 83 00:04:19,720 --> 00:04:21,130 ما الذي قمت به؟ 84 00:04:21,130 --> 00:04:24,060 أن الرقم القياسي للفوز كانت دقيقة واحدة و 50 ثانية أو نحو ذلك، 85 00:04:24,060 --> 00:04:26,039 بالإضافة إلى تلك التي كنت نسيت أن العد. 86 00:04:26,039 --> 00:04:27,080 ما الذي قمت به؟ 87 00:04:27,080 --> 00:04:27,579 نعم؟ 88 00:04:27,579 --> 00:04:28,735 الجمهور: خذ المكدس. 89 00:04:28,735 --> 00:04:29,776 نبدأ من البداية. 90 00:04:29,776 --> 00:04:32,284 تحقق أوراقك. 91 00:04:32,284 --> 00:04:36,586 وإذا كان رأس واحد هو أعلى من، ربما، هم، 92 00:04:36,586 --> 00:04:38,980 واحد القول هي أعلى، ثم التبديل بينها. 93 00:04:38,980 --> 00:04:41,300 >> المتحدث: OK، بدءا بذلك في أعلى وأسفل، 94 00:04:41,300 --> 00:04:43,716 ومن ثم العمل طريقك إلى الداخل من هذا القبيل، مبادلة لهم؟ 95 00:04:43,716 --> 00:04:46,580 موافق، لذلك تشبه قليلا في الروح إلى فقاعة النوع، 96 00:04:46,580 --> 00:04:49,160 لكن اختيار النقيضين لا أزواج المجاورة. 97 00:04:49,160 --> 00:04:52,080 ولكن على المدى القصير من ذلك هو أن هناك بالتأكيد حفنة من الطرق المختلفة 98 00:04:52,080 --> 00:04:54,210 يمكننا أن نفعل هذا، و بصراحة، أعتقد أنك نوع من 99 00:04:54,210 --> 00:04:55,700 اعتمد النهج زوجين، أليس كذلك؟ 100 00:04:55,700 --> 00:05:00,567 قمت بها نوع من أربعة أكوام فرزها، و ثم اندمجت بشكل فعال معا. 101 00:05:00,567 --> 00:05:02,650 وهذا هو، نحسب، وآخر تقنية تماما. 102 00:05:02,650 --> 00:05:06,950 كنت لا التعامل معها على أنها كومة واحدة كبيرة، يمكنك تقسيم المشكلة إلى أربعة الكواد، 103 00:05:06,950 --> 00:05:09,820 اذا صح التعبير، ومن ثم بطريقة أو بأخرى دمج لهم في نهاية المطاف. 104 00:05:09,820 --> 00:05:13,410 >> لذلك دعونا النظر، في نهاية المطاف، وإلا كيف يمكننا أن نفعل ذلك. 105 00:05:13,410 --> 00:05:15,860 نحن رسمي فكرة فقاعة من نوع آخر مرة، 106 00:05:15,860 --> 00:05:18,780 وكان استدعاء فقاعة نوع و الخوارزمية أننا تصور 107 00:05:18,780 --> 00:05:22,640 مع ثمانية من زملائك هنا، على ما يبدو تم فرزها بشكل عشوائي في البداية. 108 00:05:22,640 --> 00:05:26,110 ونحن بعد ذلك قررت زوجيا، إذا عنصرين خارج الترتيب، 109 00:05:26,110 --> 00:05:26,950 ببساطة مقايضتهم. 110 00:05:26,950 --> 00:05:28,930 حتى أربعة وهما الواضح من النظام، 111 00:05:28,930 --> 00:05:31,080 حتى أولئك الزملاء اثنين بتبديل موقعه. 112 00:05:31,080 --> 00:05:35,390 ثم كررنا مع أربعة وستة، ثم ستة وثمانية، على كل التكرار، 113 00:05:35,390 --> 00:05:36,980 تتحرك إلى اليمين. 114 00:05:36,980 --> 00:05:42,590 >> بحيث تعطى ثمانية أشخاص، كم من زوجيا لم أفعل المقارنات أثناء المشي من 115 00:05:42,590 --> 00:05:45,220 من اليسار إلى اليمين في أحد هذه التكرار؟ 116 00:05:45,220 --> 00:05:48,410 كم المقارنات؟ 117 00:05:48,410 --> 00:05:49,197 سبعة، أليس كذلك؟ 118 00:05:49,197 --> 00:05:51,405 لأنه إذا كان هناك ثمانية الناس ولكن أن يكون لديك زوج 119 00:05:51,405 --> 00:05:53,880 لهم واصلتم السير واحد قفز إلى اليمين، 120 00:05:53,880 --> 00:05:56,060 كنت لن يكون لها ثمانية مقارنات لأنك لا يمكن مقارنة 121 00:05:56,060 --> 00:05:59,226 عنصر على نفسه، أو أنه سيكون أن يكون مجرد العبث، ولذلك عليك سبعة. 122 00:05:59,226 --> 00:06:01,290 أو أكثر عموما، إذا لدينا ن الناس، ونحن 123 00:06:01,290 --> 00:06:04,300 ن القيام ناقص 1 مقارنات مع فقاعة النوع. 124 00:06:04,300 --> 00:06:08,150 >> لذلك دعونا ننظر الآن كيف جيدة أو فقاعة سيئة كان نوعا الواقع، ومحاولة 125 00:06:08,150 --> 00:06:13,570 لنعطي أنفسنا مع المفردات التي لخوارزميات نقد مثل هذا، 126 00:06:13,570 --> 00:06:14,430 وسرعان منطقتنا. 127 00:06:14,430 --> 00:06:16,970 حتى مرور الأول من خلال فقاعة النوع، وهي المرة الأولى 128 00:06:16,970 --> 00:06:20,909 مشيت من اليسار إلى اليمين عبر المرحلة، أخذني ن ناقص 1 المقارنات. 129 00:06:20,909 --> 00:06:22,950 وهذا ما سوف يكون لي وحدة قياس، أليس كذلك؟ 130 00:06:22,950 --> 00:06:26,170 الأول هو نوع من الحديث والتمشي، إلى حد ما سريع، بطيء إلى حد ما، 131 00:06:26,170 --> 00:06:29,300 حتى عد لي عدد الثواني لا سيما قول، 132 00:06:29,300 --> 00:06:32,260 ولكن عد عدد من العمليات التي فعلت يوم الاثنين، 133 00:06:32,260 --> 00:06:35,900 المقارنة بين اثنين من الناس، أن يشعر مثل وحدة لطيفة من التدبير. 134 00:06:35,900 --> 00:06:40,980 >> حتى ن ناقص 1 الخطوات أول مرة، ولكن ثم ماذا حدث بعد ذلك؟ 135 00:06:40,980 --> 00:06:46,610 ما هو الاتجاه الصعودي واحد من مرور واحد من خلال قائمة لم يتم فرزها خلاف ذلك؟ 136 00:06:46,610 --> 00:06:49,840 ماذا يمكنك ان تقول لي عن عنصر الذي كان على طول الطريق هناك؟ 137 00:06:49,840 --> 00:06:51,300 نعم؟ 138 00:06:51,300 --> 00:06:52,870 وكان هذا أكبر عنصر، أليس كذلك؟ 139 00:06:52,870 --> 00:06:55,710 رقم ثمانية، حتى على الرغم من انها بدأت هنا، في كل مرة 140 00:06:55,710 --> 00:06:57,860 مقارنة لها ضد أحد الجيران، أنها أبقت 141 00:06:57,860 --> 00:07:00,480 محتدما حتى الحق الجانب القائمة. 142 00:07:00,480 --> 00:07:02,710 والواقع، حيث ان الخوارزمية تحصل اسمها. 143 00:07:02,710 --> 00:07:07,630 >> الآن بواسطة هذا المنطق، وكم مقارنات أنا بحاجة إلى جعل يوم للمرة الثانية 144 00:07:07,630 --> 00:07:09,800 أنا جعل هذا تمريرة من اليسار إلى اليمين؟ 145 00:07:09,800 --> 00:07:10,730 ن ناقص 2، أليس كذلك؟ 146 00:07:10,730 --> 00:07:14,297 فإنه يكون مجرد إضاعة وقتي لو تبقي ثمانية مقارنة ضد شخص 147 00:07:14,297 --> 00:07:16,630 آخر لأننا نعرف بالفعل كانت في المكان المناسب. 148 00:07:16,630 --> 00:07:19,760 لذلك أن قليلا من الأمثل، وبالتالي فإن تمرير المقبل 149 00:07:19,760 --> 00:07:23,899 سيكون زائد ناقص ن خطوتين، حيث n هو عدد من الناس. 150 00:07:23,899 --> 00:07:26,940 الآن يمكنك نوع من استقراء، حتى إذا كنت لا عالم الكمبيوتر، 151 00:07:26,940 --> 00:07:27,680 كيف ينتهي. 152 00:07:27,680 --> 00:07:31,259 في نهاية هذه الخوارزمية، ويفترض كنت قد حصلت على واحد فقط مقارنة نقاط. 153 00:07:31,259 --> 00:07:33,800 لديك لنوع من إصلاح بداية القائمة في حالتين 154 00:07:33,800 --> 00:07:36,540 واحدة هي خارج الترتيب وينبغي أن يكون واحد واثنين، 155 00:07:36,540 --> 00:07:40,330 لذلك هذا قيعان بها في زائد 1 مقارنة النهائية. 156 00:07:40,330 --> 00:07:44,500 >> الآن النقطة، نقطة، نقطة نوع من الموجات انها اليدين في بعض التفاصيل عصيرا، 157 00:07:44,500 --> 00:07:46,452 ولكن دعونا فقط على المضي قدما وتبسيط. 158 00:07:46,452 --> 00:07:48,660 إذا كنت تذكر من أعلى المدرسة، بصراحة، الكثير منكم 159 00:07:48,660 --> 00:07:50,340 كان كتب الرياضيات التي كان الغش ورقة صغيرة 160 00:07:50,340 --> 00:07:52,550 على الغطاء الأمامي أو الغطاء الخلفي الذي أظهر لك 161 00:07:52,550 --> 00:07:56,400 ما summations مثل سلسلة هذا وأضاف في نهاية المطاف ما يصل الى. 162 00:07:56,400 --> 00:07:59,600 في حالة العامة، إذا كان لديك متغير مثل ن، بل وهذا واحد، 163 00:07:59,600 --> 00:08:01,634 إذا كنت تتطلع على الخاص كتاب الرياضيات المدرسة القديمة، 164 00:08:01,634 --> 00:08:04,050 كنت أرى أن هذه التسديدة يضاف إلى هذا المبلغ هنا، 165 00:08:04,050 --> 00:08:07,970 ن ن مرات ناقص 1 جميع مقسوما على 2. 166 00:08:07,970 --> 00:08:11,172 حتى الآن اسمحوا لي أن تنص فقط هذا صحيح، وهلم جرا قفزة الإيمان، 167 00:08:11,172 --> 00:08:12,880 هذا ما يلخص هذا حتى، ونحن يمكن أن 168 00:08:12,880 --> 00:08:14,341 إثبات أنه في حالة أكثر عمومية. 169 00:08:14,341 --> 00:08:15,590 ولكن الآن دعونا توسيع ذلك. 170 00:08:15,590 --> 00:08:19,920 لذلك دعونا نضرب من ذلك، ولهذا ن مربع ناقص ن، كل مقسوما على 2. 171 00:08:19,920 --> 00:08:23,200 هذا هو حقا ن تربيع، مقسوما على 2، ناقص ن أكثر من 2، 172 00:08:23,200 --> 00:08:25,010 ذلك أن كل شيء جميل ومثير للاهتمام. 173 00:08:25,010 --> 00:08:27,060 ولكن ماذا يحدث إذا كنا الآن المكونات في قيمة؟ 174 00:08:27,060 --> 00:08:29,724 لنفترض أنني لم يكن لديك ثمانية الناس، ولكن يقول مليون. 175 00:08:29,724 --> 00:08:31,890 ومليون فقط ل انها عدد كبير جدا، 176 00:08:31,890 --> 00:08:34,039 دعونا أن المكونات في ونرى ما سيحدث. 177 00:08:34,039 --> 00:08:39,039 حتى لو كنت سد مليون إلى هذه الصيغة انا ذاهب الى الحصول على مليون مربع، 178 00:08:39,039 --> 00:08:42,868 مقسوما على 2، ناقص مليون، مقسوما على 2. 179 00:08:42,868 --> 00:08:44,159 الآن ما الذي يجري على قدم المساواة؟ 180 00:08:44,159 --> 00:08:47,354 حتى 500 مليار، ناقص 500،000. 181 00:08:47,354 --> 00:08:49,270 وإذا كنت فعلا أن الرياضيات خارج، وهذا يعني 182 00:08:49,270 --> 00:08:53,920 أن فرز مليون الناس مع هذا النوع فقاعة 183 00:08:53,920 --> 00:09:01,800 قد يأخذني 499999500000 الخطوات أو المقارنات في النهاية، 184 00:09:01,800 --> 00:09:02,900 نحن فقط استقراء. 185 00:09:02,900 --> 00:09:06,860 >> أن يشعر بطيئة جدا، ولكن بصراحة قياس المدخلات واحد بعينه 186 00:09:06,860 --> 00:09:09,160 مثل هذا، ليس كل ما نقول. 187 00:09:09,160 --> 00:09:14,050 ولكن الواقع أنها لا تشير إلى أن ما ن يحصل على أكبر وأكبر، هذه الخوارزمية 188 00:09:14,050 --> 00:09:16,280 نوع من يشعر أسوأ و أسوأ من ذلك، أو كنت حقا 189 00:09:16,280 --> 00:09:20,450 تبدأ في الشعور بالألم من ذلك الأسي، أن ن تربيع، 190 00:09:20,450 --> 00:09:21,770 وهو ما يضيف سريعة جدا. 191 00:09:21,770 --> 00:09:25,340 وهذا التفصيل ليس فقدت على الناس، في الواقع 192 00:09:25,340 --> 00:09:29,640 قبل بضع سنوات عضوا في مجلس الشيوخ الذي كان معين الحملات الانتخابية، جلس للمقابلة 193 00:09:29,640 --> 00:09:32,180 مع اريك جوجل شميت، الرئيس التنفيذي في ذلك الوقت، 194 00:09:32,180 --> 00:09:36,380 وتحدى مع سؤال كثيرا كأننا استكشاف اليوم. 195 00:09:36,380 --> 00:09:38,468 دعونا نلقي نظرة. 196 00:09:38,468 --> 00:09:45,280 >> [VIDEO قراءة] 197 00:09:45,280 --> 00:09:48,560 >> -Senator، كنت هنا في جوجل، وأنا أحب 198 00:09:48,560 --> 00:09:53,382 التفكير في الرئاسة كما مقابلة عمل. 199 00:09:53,382 --> 00:09:56,434 الآن، فإنه من الصعب الحصول على وظيفة الرئيس، 200 00:09:56,434 --> 00:09:58,100 وأنت تسير من خلال قسوة الآن. 201 00:09:58,100 --> 00:10:01,860 كما انها من الصعب الحصول على وظيفة في جوجل. 202 00:10:01,860 --> 00:10:05,490 لدينا أسئلة، ونحن نسأل المرشحين أسئلتنا، 203 00:10:05,490 --> 00:10:09,770 وهذا هو واحد من لاري شويمر. 204 00:10:09,770 --> 00:10:14,760 What-- يا رفاق أعتقد أنا تمزح، انها هنا. 205 00:10:14,760 --> 00:10:17,930 ما هي الطريقة الأكثر فعالية ل فرز مليون الأعداد الصحيحة 32 بت؟ 206 00:10:17,930 --> 00:10:21,800 207 00:10:21,800 --> 00:10:24,350 >> -Well-- 208 00:10:24,350 --> 00:10:25,200 >> -I صباحا آسف، maybe-- 209 00:10:25,200 --> 00:10:27,400 >> لا، لا، لا. 210 00:10:27,400 --> 00:10:30,700 أعتقد أن هذا النوع فقاعة سيكون بطريقة خاطئة للذهاب. 211 00:10:30,700 --> 00:10:34,165 212 00:10:34,165 --> 00:10:38,180 >> تعال، الذي قال له هذا؟ 213 00:10:38,180 --> 00:10:40,590 لم أكن أرى الكمبيوتر العلم في الخلفية الخاصة بك. 214 00:10:40,590 --> 00:10:42,130 >> -We've حصلت لدينا جواسيس في هناك. 215 00:10:42,130 --> 00:10:44,930 216 00:10:44,930 --> 00:10:48,444 >> -OK، دعونا نسأل مختلفة سؤال في مقابلة. 217 00:10:48,444 --> 00:10:49,300 >> [END تشغيل الفيديو] 218 00:10:49,300 --> 00:10:52,290 >> المتحدث: حتى نتحدث عن أرقام محددة رغم ذلك، 219 00:10:52,290 --> 00:10:53,890 لا سيكون كل ذلك مفيدا. 220 00:10:53,890 --> 00:10:56,810 فإنه ليس درسا الحياة التي فقاعة الفرز، نظرا مليون المدخلات، 221 00:10:56,810 --> 00:10:58,590 قد يستغرق ما يصل إلى 500 مليار الخطوات. 222 00:10:58,590 --> 00:11:01,120 لا يمكنك التعميم حقا فعال جدا من أن 223 00:11:01,120 --> 00:11:03,560 واتخاذ قرارات التصميم الجيد عند كتابة البرامج. 224 00:11:03,560 --> 00:11:07,070 لذلك دعونا نركز على الرغم من كيف نحن قد تبسيط هذه النتيجة. 225 00:11:07,070 --> 00:11:11,780 >> حتى لقد أبرزت باللون الأصفر هنا نتيجة لن التربيعية مقسوما على 2، 226 00:11:11,780 --> 00:11:14,330 حتى مليون مربع مقسوما على 2، ثم 227 00:11:14,330 --> 00:11:16,710 لقد أبرز ما كان الجواب النهائي 228 00:11:16,710 --> 00:11:20,180 بمجرد أن تطرح خارج مقسمة بنسبة 2 ن. 229 00:11:20,180 --> 00:11:24,850 والمطالبة انا ذاهب الى جعل الآن هي، الذي يهتم هيك إذا طرح من 230 00:11:24,850 --> 00:11:30,060 وn قديم يزيد قليلا عن 2 عند أول جزء من هذه الصيغة هو عظمتها بشكل كبير؟ 231 00:11:30,060 --> 00:11:33,910 يسيطر على الآخر المدى، ن التربيعية مقسوما على 2 232 00:11:33,910 --> 00:11:37,510 غير عظمتها بشكل كبير، بشكل واضح، كما ن يحصل كبير مثل مليون، 233 00:11:37,510 --> 00:11:41,450 أن هناك حقا فرق كبير في في نهاية اليوم بين 500 مليار 234 00:11:41,450 --> 00:11:45,730 و499999500000؟ 235 00:11:45,730 --> 00:11:46,349 ليس حقا. 236 00:11:46,349 --> 00:11:48,640 وذلك ما نحن في طريقنا ل تفعل ما العلماء الكمبيوتر 237 00:11:48,640 --> 00:11:53,270 تجاهل هذه الشروط أمر الدنيا و تأخذ شيئا من هذا القبيل وحقا 238 00:11:53,270 --> 00:11:56,050 فقط تبسيط ذلك ل المصطلح الذي يحدث ليهم. 239 00:11:56,050 --> 00:12:00,315 وأكبر مجموعات البيانات لدينا الحصول على وأكبر الحصول على قواعد بياناتنا، وصفحات الويب أكثر 240 00:12:00,315 --> 00:12:02,690 لدينا للبحث، وأكثر الاصدقاء لديك في الفيسبوك. 241 00:12:02,690 --> 00:12:07,340 >> كما ن يحصل أكبر، نحن حقا سوف نهتم أكبر 242 00:12:07,340 --> 00:12:11,560 المصطلح في أي تحليل من هذا القبيل أداء خوارزميات لدينا. 243 00:12:11,560 --> 00:12:16,230 وانا ذاهب الى القول، وتعلمون ما، فقاعة النوع هو بناء على أمر من يا كبير، 244 00:12:16,230 --> 00:12:18,060 بناء على أمر من ن المربعة. 245 00:12:18,060 --> 00:12:20,090 انها ليست بالضبط N مربع كما رأينا، 246 00:12:20,090 --> 00:12:22,060 ولكن من يهتم حقا حول هذه المصطلحات أصغر، 247 00:12:22,060 --> 00:12:24,390 وبصراحة، الذين حقا يهتم إذا قسمنا بنسبة 2؟ 248 00:12:24,390 --> 00:12:25,870 هذا مجرد عاملا ثابتا. 249 00:12:25,870 --> 00:12:29,480 وهو 500 مليار مقابل 250 مليار حقا أن كبيرة من صفقة؟ 250 00:12:29,480 --> 00:12:32,190 أنا يمكن أن مجرد الانتظار سنة واحدة، ترك جهاز الكمبيوتر المحمول حرفيا 251 00:12:32,190 --> 00:12:34,810 الحصول على أسرع مرتين في الأجهزة، وهذا النوع من الاختلاف 252 00:12:34,810 --> 00:12:36,650 فقط يذهب بعيدا بشكل طبيعي مع مرور الوقت. 253 00:12:36,650 --> 00:12:39,300 >> ما يهمني هو التعبير، الجزء 254 00:12:39,300 --> 00:12:42,489 من التعبير الذي يحدث أن تختلف كما يحصل مساهمتنا أكبر وأكبر. 255 00:12:42,489 --> 00:12:45,280 وبالفعل، في العالم الحقيقي، هذا ما يحدث بشكل متزايد 256 00:12:45,280 --> 00:12:48,330 هي المدخلات لمشاكلنا و الخوارزميات والحصول على اكبر. 257 00:12:48,330 --> 00:12:53,470 لذلك يا كبير ستكون التدوين، التدوين مقارب، وأننا فقط 258 00:12:53,470 --> 00:12:57,160 كما استخدم العلماء جهاز الكمبيوتر لوصف أداء، أو وقت التشغيل، 259 00:12:57,160 --> 00:12:58,130 خوارزمية. 260 00:12:58,130 --> 00:13:00,800 حتى نتمكن من مقارنة خوارزميات على أجهزة كمبيوتر مختلفة مكتوبة 261 00:13:00,800 --> 00:13:04,170 من قبل مختلف الناس، وذلك باستخدام بعض متري مماثلة جوهريا 262 00:13:04,170 --> 00:13:07,557 مثل عدد من المقارنات كنت جعل، أو ربما عدد مقايضة 263 00:13:07,557 --> 00:13:08,140 كنت صنع. 264 00:13:08,140 --> 00:13:11,910 >> ما نحن لن العدد هو مقدار الوقت 265 00:13:11,910 --> 00:13:13,981 الذي يمر على مدار الساعة على الجدار عادة. 266 00:13:13,981 --> 00:13:16,230 ما نحن لن تقلق عنه هو مقدار الذاكرة 267 00:13:16,230 --> 00:13:17,820 كنت تستخدم اليوم في الأقل، على الرغم من أن هذا 268 00:13:17,820 --> 00:13:19,370 مورد آخر أننا قد قياس. 269 00:13:19,370 --> 00:13:23,610 نحن ذاهبون لمحاولة تبني تحليلاتنا فقط على العمليات الأساسية، ومنها، 270 00:13:23,610 --> 00:13:25,930 بصراحة، يمكن أن ترى أكثر بصريا. 271 00:13:25,930 --> 00:13:30,700 حتى مع شيء من هذا القبيل يا كبير من ن مربع، ويدعون أن يا ن تربيع 272 00:13:30,700 --> 00:13:35,820 هو الحد الأعلى على ما يسمى إدارة الوقت من فقاعة النوع. 273 00:13:35,820 --> 00:13:38,820 وبعبارة أخرى، إذا كان ل أراد أن الادعاء بأن هناك 274 00:13:38,820 --> 00:13:41,370 هذا الحد الأعلى على مدى العديد من الخطوات التي قد تتخذ خوارزمية، 275 00:13:41,370 --> 00:13:46,240 انها سوف تكون في يا كبير من ن المربعة في هذه الحالة، وهو الحد الأعلى. 276 00:13:46,240 --> 00:13:49,710 >> ماذا لو كنت بدلا من ذلك تغيير القصة ليكون ليس عن فقاعة نوع، 277 00:13:49,710 --> 00:13:50,910 ولكن عن هذا الحد الأعلى. 278 00:13:50,910 --> 00:13:54,030 يمكنك التفكير في خوارزمية بعد أن قمنا نظرت بالفعل 279 00:13:54,030 --> 00:13:59,530 الذين العلوي، كحد أقصى قياس الوقت أو العمليات، 280 00:13:59,530 --> 00:14:04,300 سوف يقال ان يحدها بواسطة ن، وهي وظيفة الخطية، 281 00:14:04,300 --> 00:14:07,260 لا واحدة من الدرجة الثانية هذا المنحني؟ 282 00:14:07,260 --> 00:14:10,780 ما هو خوارزمية دائما لا تستغرق أكثر 283 00:14:10,780 --> 00:14:12,860 من مثل ن الخطوات، أو خطوات 2N، أو الخطوات 3N؟ 284 00:14:12,860 --> 00:14:13,360 نعم؟ 285 00:14:13,360 --> 00:14:15,030 >> الجمهور: العثور على أكبر رقم في القائمة؟ 286 00:14:15,030 --> 00:14:16,930 >> المتحدث: الكمال، وإيجاد أكبر رقم في القائمة. 287 00:14:16,930 --> 00:14:18,940 إذا أنا أعطيت قائمة الناس على سبيل المثال، 288 00:14:18,940 --> 00:14:21,440 كل الذين تحتجز عددا، ما هو الحد الأقصى للعدد 289 00:14:21,440 --> 00:14:23,770 من الخطوات التي يجب أن تأخذ لي، شخص ذكي إلى حد معقول، 290 00:14:23,770 --> 00:14:27,530 العثور على أكبر شخص في تلك القائمة؟ 291 00:14:27,530 --> 00:14:28,100 ن، أليس كذلك؟ 292 00:14:28,100 --> 00:14:31,320 لأنه في أسوأ الحالات، حيث قد يكون أكبر قيمة؟ 293 00:14:31,320 --> 00:14:32,700 الحق، وصولا في نهاية المطاف. 294 00:14:32,700 --> 00:14:34,575 حتى في أسوأ الحالات الحد الأعلى، وأنا قد 295 00:14:34,575 --> 00:14:36,450 يجب أن يذهب كل في طريقه وهنا يكون مثل، 296 00:14:36,450 --> 00:14:39,170 أوه، وهنا رقم ثمانية، أو أيا كان أن القيمة. 297 00:14:39,170 --> 00:14:41,330 الآن أنه سيكون مجرد غبي إذا ظللت تسير، أليس كذلك؟ 298 00:14:41,330 --> 00:14:43,840 تبحث عن المزيد والمزيد من العناصر إذا كان آخرهم هو هناك؟ 299 00:14:43,840 --> 00:14:45,340 ذلك بالتأكيد، ن هو الحد الأعلى. 300 00:14:45,340 --> 00:14:47,420 ولست بحاجة لاتخاذ المزيد من الخطوات من ذلك. 301 00:14:47,420 --> 00:14:51,580 >> حتى ما إذا كنت قد اقترحت بدلا من ذلك أن هناك خوارزميات في هذا العالم 302 00:14:51,580 --> 00:14:57,750 لديك وقت تشغيل هذا تحدها يا كبير من السجل ن، ن تسجيل؟ 303 00:14:57,750 --> 00:15:00,390 حيث شهدنا هذا من قبل؟ 304 00:15:00,390 --> 00:15:00,890 نعم؟ 305 00:15:00,890 --> 00:15:03,309 >> الجمهور: وفي كتاب مشكلة الهاتف؟ 306 00:15:03,309 --> 00:15:04,850 المتحدث: مثل مشكلة دفتر الهاتف. 307 00:15:04,850 --> 00:15:07,754 ما هو مقياس لمدى الكثير من الوقت أو كم من الدموع عليه 308 00:15:07,754 --> 00:15:10,170 أخذني إلى العثور على شخص مثل مايك سميث في دليل الهاتف؟ 309 00:15:10,170 --> 00:15:13,212 نحن ادعت أنه سجل ن، و حتى لو كان غير مألوف أو أنها انها 310 00:15:13,212 --> 00:15:15,170 قليلا ما ضبابي كان اللوغاريتم أو الأس، 311 00:15:15,170 --> 00:15:17,650 فقط تذكر أن سجل ن تشير بصفة عامة إلى هذه العملية، 312 00:15:17,650 --> 00:15:20,790 في هذه الحالة، تقسيم شيء في النصف مرة أخرى، ومرة ​​أخرى، 313 00:15:20,790 --> 00:15:25,790 ومرة أخرى، ومرة ​​أخرى، بحيث يحصل صغيرة بشكل متزايد كما كنت تفعل ذلك. 314 00:15:25,790 --> 00:15:28,470 >> حتى تسجيل ن يشير، بالتأكيد، على سبيل المثال دليل الهاتف، 315 00:15:28,470 --> 00:15:32,662 إلى البحث الثنائي من الناحية النظرية، عندما كنا كانت الأبواب الظاهرية على متن الطائرة، 316 00:15:32,662 --> 00:15:34,370 أو عندما كان شون تبحث عن شيء. 317 00:15:34,370 --> 00:15:37,374 لو كان قد استخدم البحث الثنائي، تسجيل ن سيكون الحد الأعلى لمدى 318 00:15:37,374 --> 00:15:38,040 الوقت الذي يستغرقه. 319 00:15:38,040 --> 00:15:44,027 ولكن تلك الخوارزميات التي ركض في سجل ن ما يفترض التفاصيل رئيسي؟ 320 00:15:44,027 --> 00:15:45,360 تم فرز القائمة، أليس كذلك؟ 321 00:15:45,360 --> 00:15:47,789 الخوارزمية الخاصة بك هو خطأ إذا لا يتم فرز المدخلات الخاصة بك، 322 00:15:47,789 --> 00:15:49,830 وبعد كنت تستخدم شيء مثل البحث الثنائي 323 00:15:49,830 --> 00:15:51,704 لأنك قد تقفز الحق على العنصر 324 00:15:51,704 --> 00:15:53,600 دون أن يدركوا انها في الواقع هناك. 325 00:15:53,600 --> 00:15:55,600 >> الآن ما قد يعني هذا يا كبير واحد؟ 326 00:15:55,600 --> 00:15:59,117 هذا لا يعني أن الخوارزمية الخاصة بك يأخذ واحدة وخطوة واحدة فقط، 327 00:15:59,117 --> 00:16:01,200 هذا يعني فقط أنه يأخذ عدد ثابت من الخطوات. 328 00:16:01,200 --> 00:16:04,060 ربما حان 1، وربما انها 10، وربما انها 1،000، 329 00:16:04,060 --> 00:16:07,750 لكنه مستقل ل حجم المشكلة. 330 00:16:07,750 --> 00:16:10,850 مهما كانت كبيرة ن هو، خوارزمية الوقت ثابتة 331 00:16:10,850 --> 00:16:12,747 يأخذ دائما نفس العدد من الخطوات. 332 00:16:12,747 --> 00:16:15,080 وذلك ما قد يكون خوارزمية تحدثنا حول أو مجرد 333 00:16:15,080 --> 00:16:20,418 حدسي أن يأتي لك أن يعمل دائما في ما يسمى وقت ثابت؟ 334 00:16:20,418 --> 00:16:20,918 نعم؟ 335 00:16:20,918 --> 00:16:22,001 >> الجمهور: إضافة رقمين. 336 00:16:22,001 --> 00:16:25,320 المتحدث: إضافة رقمين، 2 زائد 2 يساوي 4، وفعلت. 337 00:16:25,320 --> 00:16:27,227 بحيث يمكن أن تعمل، ماذا؟ 338 00:16:27,227 --> 00:16:28,560 كيف حول العالم أكثر واقعية، نعم؟ 339 00:16:28,560 --> 00:16:30,686 >> الجمهور: العثور على أول شيء في القائمة. 340 00:16:30,686 --> 00:16:32,810 المتحدث: العثور على أول عنصر في قائمة، بالتأكيد. 341 00:16:32,810 --> 00:16:34,540 لقد تم بالفعل الحديث حول صفائف بالفعل، 342 00:16:34,540 --> 00:16:36,540 كيف تحصل على العنصر الأول في صفيف، 343 00:16:36,540 --> 00:16:40,465 مهما طال الزمن و الصفيف في التعليمات البرمجية C؟ 344 00:16:40,465 --> 00:16:43,090 كنت مجرد استخدام مثل قوس تدوين صفر، بام، كنت هناك. 345 00:16:43,090 --> 00:16:46,120 والواقع المصفوفات، بوصفها جانبا، دعم ما يعرف عموما 346 00:16:46,120 --> 00:16:49,240 وصول عشوائي، الوصول العشوائي الذاكرة، لأنه يمكنك حرفيا 347 00:16:49,240 --> 00:16:50,284 القفز إلى أي مكان واحد. 348 00:16:50,284 --> 00:16:52,700 يمكننا أن نفعل هذا حتى أكثر ببساطة يمكننا الترجيع إلى أسبوع الصفر 349 00:16:52,700 --> 00:16:53,900 عندما فعلنا خدش. 350 00:16:53,900 --> 00:16:59,707 كم من الوقت لم تأخذ ل يقول كتلة في خدش لتنفيذ؟ 351 00:16:59,707 --> 00:17:00,790 الوقت فقط المستمر، أليس كذلك؟ 352 00:17:00,790 --> 00:17:03,960 أقول شيئا، ويقول شيء، لا يهم 353 00:17:03,960 --> 00:17:07,359 كيف الخدوش الكبيرة العالم، وانها دائما ذاهب الى اتخاذ نفس المقدار من الوقت 354 00:17:07,359 --> 00:17:08,490 ببساطة أقول شيئا. 355 00:17:08,490 --> 00:17:11,089 >> بحيث حان الوقت مستمر، ولكن ما هو الجانب الآخر؟ 356 00:17:11,089 --> 00:17:13,030 إذا كان هذا العلوي ساق، ما إذا كنا نريد 357 00:17:13,030 --> 00:17:17,089 لوصف أقل الحدود خوارزميات لدينا إدارة الوقت؟ 358 00:17:17,089 --> 00:17:19,852 تقريبا أفضل الأحوال يحتمل، إذا صح التعبير، 359 00:17:19,852 --> 00:17:23,060 على الرغم من هذه الشروط يمكن أن ينطبق على أفضل الحالات، أسوأ الحالات، ومتوسط ​​حالات أخرى 360 00:17:23,060 --> 00:17:26,359 عموما، ولكن دعونا نركز فقط على الحدود الدنيا بشكل عام. 361 00:17:26,359 --> 00:17:31,920 ما هو خوارزمية التي لديها لالأدنى من ن الخطوات، 362 00:17:31,920 --> 00:17:33,350 أو خطوات 2N، أو الخطوات 3N؟ 363 00:17:33,350 --> 00:17:36,241 بعض العوامل ن الخطوات، هذا أقل منضم الخاص بها. 364 00:17:36,241 --> 00:17:36,740 نعم؟ 365 00:17:36,740 --> 00:17:37,910 >> الجمهور: فقاعة نوع؟ 366 00:17:37,910 --> 00:17:41,610 >> المتحدث: يأخذ فقاعة نوع لك ن بمستوى الحد الأدنى الخطوات، لماذا؟ 367 00:17:41,610 --> 00:17:42,279 لماذا؟ 368 00:17:42,279 --> 00:17:45,320 لماذا يجب أن البداية وحتى يأتي لك حدسي، حتى لو لم يحدث ذلك فقط 369 00:17:45,320 --> 00:17:46,530 حتى الآن؟ 370 00:17:46,530 --> 00:17:47,030 نعم؟ 371 00:17:47,030 --> 00:17:47,990 >> الجمهور: [غير مسموع]. 372 00:17:47,990 --> 00:17:51,652 373 00:17:51,652 --> 00:17:52,360 المتحدث: بالضبط. 374 00:17:52,360 --> 00:17:55,810 في أفضل سيناريو ممكن لل فقاعة نوع، والكثير من الخوارزميات، 375 00:17:55,810 --> 00:17:58,769 إذا أسلم لك ثمانية أشخاص الذين يتم فرز بالفعل، 376 00:17:58,769 --> 00:18:00,560 سيكون من الحماقة بالنسبة لك، الخوارزمية، 377 00:18:00,560 --> 00:18:02,202 للذهاب ذهابا وإيابا أكثر من مرة، أليس كذلك؟ 378 00:18:02,202 --> 00:18:04,285 لأنه بمجرد المشي من خلال قائمة واحدة، 379 00:18:04,285 --> 00:18:08,090 يجب أن ندرك، أوه، أنا جعلت لا مقايضة، يتم فرز هذه القائمة، خروج. 380 00:18:08,090 --> 00:18:09,700 ولكن هذا سيستغرق كنت ن الخطوات. 381 00:18:09,700 --> 00:18:12,033 >> وعلى العكس، ما هو آخر طريقة التفكير فيه؟ 382 00:18:12,033 --> 00:18:15,240 فقاعة هو نوع أوميغا، إذا جاز التعبير، ن، 383 00:18:15,240 --> 00:18:19,050 لأنه إذا نظرتم ن أقل من العناصر، ما 384 00:18:19,050 --> 00:18:23,009 هي القضية الأساسية هناك؟ 385 00:18:23,009 --> 00:18:24,550 كنت لا تعرف إذا تم فرزها ذلك، أليس كذلك. 386 00:18:24,550 --> 00:18:26,800 نحن البشر القوة نظرة على ثمانية الناس ويكون مثل، أوه، لقد فرز عليه، 387 00:18:26,800 --> 00:18:28,430 لم تأخذ لي ن الخطوات، لكنه لم يفعل. 388 00:18:28,430 --> 00:18:30,810 عينيك، حتى وإن كنت النوع لديك حقل كبير من الرؤية، 389 00:18:30,810 --> 00:18:33,184 بدا لك في ثمانية عناصر، أنت نظرت إلى ثمانية أشخاص، 390 00:18:33,184 --> 00:18:34,610 هذا هو ثماني خطوات نحو فعال. 391 00:18:34,610 --> 00:18:38,612 وإلا إذا كنت من خلال المشي كله قائمة يمكنني تحقيق، نعم، فرزها. 392 00:18:38,612 --> 00:18:41,320 إذا كنت التوقف عن التفكير في منتصف الطريق، كل الحق، لقد تم فرزها حتى الآن أنها جميلة، 393 00:18:41,320 --> 00:18:42,520 ما هي احتمالات انه غير مصنفة ذلك؟ 394 00:18:42,520 --> 00:18:44,186 الخوارزميات التي لن تكون صحيحة. 395 00:18:44,186 --> 00:18:46,250 قد يكون أسرع، ولكن غير صحيحة. 396 00:18:46,250 --> 00:18:48,500 >> حتى الآن لدينا وسيلة ل وصف أقل الحدود، 397 00:18:48,500 --> 00:18:49,710 وماذا عن وقت ثابت؟ 398 00:18:49,710 --> 00:18:54,565 ما هو خوارزمية التي لديها أقل ملزمة في الوقت المحدد تسييرها من واحد؟ 399 00:18:54,565 --> 00:18:58,350 الخطوة 1، 2 خطوات، 10 خطوات، ولكن ثابتة، مستقلة عن ن، 400 00:18:58,350 --> 00:18:59,310 حجم المدخلات؟ 401 00:18:59,310 --> 00:19:03,930 402 00:19:03,930 --> 00:19:04,600 نعم، في الظهر. 403 00:19:04,600 --> 00:19:05,309 >> الجمهور: Printf؟ 404 00:19:05,309 --> 00:19:06,183 المتحدث: ما هذا؟ 405 00:19:06,183 --> 00:19:07,184 الجمهور: Printf؟ 406 00:19:07,184 --> 00:19:07,850 المتحدث: Printf. 407 00:19:07,850 --> 00:19:08,400 حسنا، بالتأكيد. 408 00:19:08,400 --> 00:19:10,720 لذلك يأخذ عدد محدد من الخطوات. 409 00:19:10,720 --> 00:19:13,170 وأود أن now-- الآن أن نحن نتحدث عن رمز C 410 00:19:13,170 --> 00:19:16,040 وليس خدش، شيء مثل القول، مع printf، 411 00:19:16,040 --> 00:19:17,710 نحن يجب أن تبدأ في الحصول على الحذر. 412 00:19:17,710 --> 00:19:21,090 لأن printf لا تأخذ المدخلات، انها سلسلة، 413 00:19:21,090 --> 00:19:23,220 وسلاسل لا لها طول تقنيا. 414 00:19:23,220 --> 00:19:25,530 لذلك إذا كنا نريد الآن أن يلتقط عليك، إذا كنت لا تمانع، 415 00:19:25,530 --> 00:19:29,430 من الناحية الفنية يمكننا القول بأن printf لا تأخذ طول المدخلات متغير، 416 00:19:29,430 --> 00:19:32,270 وبالتأكيد قد يستغرق أكثر الوقت لطباعة سلسلة هذا الوقت الطويل، 417 00:19:32,270 --> 00:19:33,560 من هذا الوقت الطويل. 418 00:19:33,560 --> 00:19:36,570 >> حتى ما إذا اعتبرنا فقط فرز والبحث الأمثلة؟ 419 00:19:36,570 --> 00:19:40,450 ماذا عن مايك سميث في الهاتف الكتاب، أو البحث الثنائي بشكل عام؟ 420 00:19:40,450 --> 00:19:42,220 في أفضل الأحوال، ما يمكن أن يحدث؟ 421 00:19:42,220 --> 00:19:45,577 أنا فتح دفتر الهاتف و، بام، هناك عدد مايك سميث. 422 00:19:45,577 --> 00:19:46,660 يمكن أن أدعو له على الفور. 423 00:19:46,660 --> 00:19:49,390 >> اتخذ خطوة واحدة، ربما خطوتين، ولكن عددا من الخطوات المستمر 424 00:19:49,390 --> 00:19:50,230 إذا كنت محظوظا. 425 00:19:50,230 --> 00:19:52,570 وبصراحة، رأينا على الأثنين زميل الخاص 426 00:19:52,570 --> 00:19:54,710 الحصول على محظوظ جدا مرتين على التوالي. 427 00:19:54,710 --> 00:19:57,050 وكان ذلك حقا ثابتا الوقت في أقل الحدود 428 00:19:57,050 --> 00:20:01,280 على خوارزمية المعنية لإيجاد عدد 50 وراء تلك مغلقة 429 00:20:01,280 --> 00:20:01,830 الأبواب. 430 00:20:01,830 --> 00:20:06,400 >> الآن، بوصفها جانبا، إذا كنت اكتشاف أن كلا يا كبير، والحد الأعلى، 431 00:20:06,400 --> 00:20:09,310 وأوميغا، والأدنى، واحدة في نفسه، أن 432 00:20:09,310 --> 00:20:11,830 هي نفس الصيغة في قوسين، يمكنك أيضا 433 00:20:11,830 --> 00:20:15,170 أقول، لمجرد أن يكون الهوى، ان هناك شيئا في ثيتا 434 00:20:15,170 --> 00:20:18,270 ن ثيتا أو بعض قيمة أخرى. 435 00:20:18,270 --> 00:20:20,661 هذا يعني فقط عندما كبيرة يا وأوميغا هي نفسها. 436 00:20:20,661 --> 00:20:21,910 الآن ماذا عن اختيار نوع؟ 437 00:20:21,910 --> 00:20:23,400 دعونا استخدام هذه المفردات الجديدة. 438 00:20:23,400 --> 00:20:27,407 في اختيار نوع، ما كنا القيام مرة أخرى، ومرة ​​أخرى، ومرة ​​أخرى؟ 439 00:20:27,407 --> 00:20:29,990 كنت ذاهبا ذهابا وإيابا من خلال القائمة، يبحثون عن من؟ 440 00:20:29,990 --> 00:20:33,260 441 00:20:33,260 --> 00:20:34,730 أصغر رقم. 442 00:20:34,730 --> 00:20:37,560 >> فكيف العديد من الخطوات، كيف العديد من المقارنات فعلت أنا 443 00:20:37,560 --> 00:20:43,250 لديك لجعل لمعرفة من كان أصغر عنصر في القائمة؟ 444 00:20:43,250 --> 00:20:44,437 ن ناقص 1، أليس كذلك؟ 445 00:20:44,437 --> 00:20:47,770 لأنه إذا أنا فقط تبدأ مع واحد انا ونظرا أبدأ مقارنة له أو لها، 446 00:20:47,770 --> 00:20:49,519 ثم له أو لها، له أو لها، له أو لها، و 447 00:20:49,519 --> 00:20:52,010 يمكن إقران عناصر فقط معا ن ناقص 1 مرات. 448 00:20:52,010 --> 00:20:55,630 حتى اختيار نوع يأخذ بالمثل ن ناقص 1 الخطوات مرة الأولى. 449 00:20:55,630 --> 00:20:59,540 >> كم عدد الخطوات التي لا يأخذني إلى العثور على ثاني أصغر عنصر؟ 450 00:20:59,540 --> 00:21:02,920 ن ناقص 2، لأنني كونها البكم إذا وأظل أبحث في نفس الناس 451 00:21:02,920 --> 00:21:06,280 مرة أخرى إذا أنا اخترتها بالفعل له أو لها ووضعها في مكانها. 452 00:21:06,280 --> 00:21:09,270 والخطوة الثالثة، ن ناقص 3، ثم ن ناقص 4. 453 00:21:09,270 --> 00:21:11,020 لقد رأينا هذا النمط من قبل، وبالفعل 454 00:21:11,020 --> 00:21:13,460 اختيار نوع بالمثل لديه الحد الأعلى 455 00:21:13,460 --> 00:21:16,210 ن تربيع إذا فعلنا حتى أن الجمع. 456 00:21:16,210 --> 00:21:19,790 ما هي في حدها الأدني، واختيار نوع؟ 457 00:21:19,790 --> 00:21:25,350 الحد الأدنى، وكم يجب اختيار الوقت نوع تتخذ، ونحن تعريفه يوم الاثنين؟ 458 00:21:25,350 --> 00:21:29,370 459 00:21:29,370 --> 00:21:30,490 اقتراح خيارين. 460 00:21:30,490 --> 00:21:32,360 ربما انها ن، كما كان من قبل. 461 00:21:32,360 --> 00:21:35,040 ربما انها ن مربع، كما هو الآن باسم الحد الأعلى. 462 00:21:35,040 --> 00:21:35,874 >> الجمهور: ن المربعة. 463 00:21:35,874 --> 00:21:36,664 المتحدث: ن المربعة. 464 00:21:36,664 --> 00:21:37,368 لماذا؟ 465 00:21:37,368 --> 00:21:40,060 >> الجمهور: لأن لديك لتحديد (غير مسموع). 466 00:21:40,060 --> 00:21:41,510 >> المتحدث: بالضبط. 467 00:21:41,510 --> 00:21:45,077 على الأقل أنا تعريفها اختيار نوع كان ساذجا جدا، والاستمرار، 468 00:21:45,077 --> 00:21:46,160 العثور على أصغر عنصر. 469 00:21:46,160 --> 00:21:47,770 ذهاب مرة أخرى، والعثور على أصغر عنصر. 470 00:21:47,770 --> 00:21:49,490 ذهاب مرة أخرى، والعثور على أصغر عنصر. 471 00:21:49,490 --> 00:21:51,700 لا يوجد أي نوع من الأمثل في أن هناك 472 00:21:51,700 --> 00:21:54,350 قد اسمحوا لي إجهاض بعد ن فقط أو نحو ذلك الخطوات. 473 00:21:54,350 --> 00:21:57,080 ذلك الواقع، واختيار النوع، أوميغا ن تربيع. 474 00:21:57,080 --> 00:22:00,667 >> ماذا عن نوع الإدراج، حيث أخذت الذين أعطيت، وبعد ذلك ساقط له 475 00:22:00,667 --> 00:22:01,750 أو لها في المكان المناسب؟ 476 00:22:01,750 --> 00:22:04,958 ثم مضيت إلى الشخص الثاني، ساقط له أو لها في المكان المناسب. 477 00:22:04,958 --> 00:22:07,910 ثم الشخص التالي، ساقط له أو لها في المكان المناسب. 478 00:22:07,910 --> 00:22:10,537 لاحظ أن هذا هو ذاته الخطية، إذا جاز التعبير. 479 00:22:10,537 --> 00:22:12,620 أنا خط مستقيم، وأنا لن ذهابا وإيابا، 480 00:22:12,620 --> 00:22:16,080 لم يسبق لي ان ننظر الى الوراء حقا، ولكن ماذا يحدث عندما أقوم بإدخال له 481 00:22:16,080 --> 00:22:20,302 أو لها في بداية قائمة كما فعلنا يوم الاثنين؟ 482 00:22:20,302 --> 00:22:21,010 ما الذي يحدث؟ 483 00:22:21,010 --> 00:22:21,510 نعم؟ 484 00:22:21,510 --> 00:22:23,122 الجمهور: [غير مسموع]. 485 00:22:23,122 --> 00:22:24,830 المتحدث: نعم، هذا كان الصيد، أليس كذلك؟ 486 00:22:24,830 --> 00:22:26,746 تذكرون من زملائك، إذا كانت 487 00:22:26,746 --> 00:22:29,670 تم إجراء أي حركة مع أقدامهم، وكان ذلك لعملية جراحية. 488 00:22:29,670 --> 00:22:33,610 حتى إذا كان هناك ثلاثة أشخاص هنا و الشخص الجديد ينتمي على الطريق هناك، 489 00:22:33,610 --> 00:22:37,360 على مرحلة طويلة مثل هذه، بالتأكيد، وقال انه أو أنها يمكن أن مجرد الذهاب الى النهاية. 490 00:22:37,360 --> 00:22:40,074 ولكن إذا نحن نفكر حول كمبيوتر ومجموعة من الذاكرة، 491 00:22:40,074 --> 00:22:41,990 هؤلاء الناس تسير لدينا لخلط ورق اللعب على 492 00:22:41,990 --> 00:22:43,260 لإفساح المجال لهذا الشخص. 493 00:22:43,260 --> 00:22:46,930 وبحيث ن ناقص 1 shufflings، ن ناقص 2 shufflings، ن 494 00:22:46,930 --> 00:22:50,660 ناقص 3 shufflings هي مجرد نوع من يجري ورائي، وليس أمامي 495 00:22:50,660 --> 00:22:52,710 كما كان من قبل، بمعنى ما. 499 00:22:52,557 --> 00:22:54,640 الآن بوصفها جانبا، وكما كنت قد شوهدت أون لاين 500 00:22:54,640 --> 00:22:57,699 إذا كنت تبدأ بدس حول حول أنواع، وهناك الكثير من مختلفة منها 501 00:22:57,699 --> 00:22:59,490 هناك، بعض منهم أفضل من غيرها. 502 00:22:59,490 --> 00:23:02,200 في الواقع، هي واحدة bogosort هذا هو نوع من المرح للبحث. 503 00:23:02,200 --> 00:23:06,650 Bogosort يأخذ مجموعة من أرقام أو القول سطح السفينة من البطاقات، 504 00:23:06,650 --> 00:23:09,870 المراوغات عشوائيا عليهم، و الشيكات لو انهم فرزها. 505 00:23:09,870 --> 00:23:12,130 وإذا لم يكن، يفعل ذلك مرة أخرى. 506 00:23:12,130 --> 00:23:14,140 وإذا لم يكن، يفعل ذلك مرة أخرى. 507 00:23:14,140 --> 00:23:15,440 إن لم يكن، يفعل ذلك مرة أخرى. 508 00:23:15,440 --> 00:23:17,060 غبي بشكل لا يصدق. 509 00:23:17,060 --> 00:23:19,520 >> وفي الواقع، إذا كنت تقرأ مثل هذه المادة ويكيبيديا، 510 00:23:19,520 --> 00:23:21,200 لقبه هو نوع من الغباء. 511 00:23:21,200 --> 00:23:25,180 انها ستعمل في نهاية المطاف، نأمل، بالنظر إلى ما يكفي من الوقت، 512 00:23:25,180 --> 00:23:28,240 ولكن هذا المقدار من الوقت قد يستغرق بعض الوقت. 513 00:23:28,240 --> 00:23:31,650 حتى إذا كان بإمكاني، دعونا الأشياء سرعة حتى من مثال ماري بيث في وقت سابق، 514 00:23:31,650 --> 00:23:35,150 من خلال وجود المزيد من العناصر، ولكن اثنين من أكثر المعالجات. 515 00:23:35,150 --> 00:23:37,100 شخصين، إذا كنت لن تمانع في الانضمام لي. 516 00:23:37,100 --> 00:23:40,972 ماذا عن 1 أكثر من هنا، و دعونا go-- لا أحد هناك؟ 517 00:23:40,972 --> 00:23:41,722 لا أحد هناك؟ 518 00:23:41,722 --> 00:23:42,221 موافق. 519 00:23:42,221 --> 00:23:44,190 كنت مع الأسود قميص، نعم، هيا إلى أسفل. 520 00:23:44,190 --> 00:23:45,000 كل الحق، ما هو اسمك؟ 521 00:23:45,000 --> 00:23:45,720 >> الجمهور: بيتر. 522 00:23:45,720 --> 00:23:46,100 >> المتحدث: ما هذا؟ 523 00:23:46,100 --> 00:23:46,766 >> الجمهور: بيتر. 524 00:23:46,766 --> 00:23:49,450 رئيس مجلس النواب: بطرس، ديفيد، لطيف لمقابلتك. 525 00:23:49,450 --> 00:23:53,670 حسنا، لدينا بيتر هنا، إذا كنت تريد أن تأتي على الطاولة أكثر من هنا. 526 00:23:53,670 --> 00:23:54,550 وما اسمك؟ 527 00:23:54,550 --> 00:23:55,216 >> الجمهور: إيلينا. 528 00:23:55,216 --> 00:23:55,970 المتحدث: إيلينا. 529 00:23:55,970 --> 00:23:57,030 حسنا، لطيف لمقابلتك. 530 00:23:57,030 --> 00:23:58,060 إيلينا تلبية بيتر. 531 00:23:58,060 --> 00:23:59,170 بيتر، إيلينا. 532 00:23:59,170 --> 00:24:02,290 وسنحتاج أندرو هنا كذلك، من فضلك. 533 00:24:02,290 --> 00:24:06,107 والتحدي الخاص بك هو الذهاب أن يكون لفرز أوراق اللعب. 534 00:24:06,107 --> 00:24:08,190 وإذا غير مألوف، على سطح السفينة بطاقات ينبغي في نهاية المطاف 535 00:24:08,190 --> 00:24:11,064 يتم فرز قليلا ما يشبه هذا حيث أننا سوف تفعل الأندية، ثم 536 00:24:11,064 --> 00:24:13,660 والبستوني، ثم قلوب و الماس، من الآس واحد، 537 00:24:13,660 --> 00:24:15,570 كل وسيلة تصل إلى الملك. 538 00:24:15,570 --> 00:24:20,890 >> بطاقات انا ذاهب الى ان نعطيكم ستكون 52 في الكمية. 539 00:24:20,890 --> 00:24:23,160 نحن ذاهبون الى بالمثل مرة كنت في مجرد لحظة. 540 00:24:23,160 --> 00:24:26,410 نحن ذاهبون الى رمي أندرو على الشاشة هنا، 541 00:24:26,410 --> 00:24:28,170 وذلك لمشاهدة كما كنت تفعل هذا. 542 00:24:28,170 --> 00:24:31,070 وذلك أن كل هذا هو كل شيء أكثر وضوحا، 543 00:24:31,070 --> 00:24:33,490 هذه هي بطاقات حصلت على الأمازون. 544 00:24:33,490 --> 00:24:42,861 لذلك هم بالفعل عشوائيا فرزها، ونحن ذاهبون لآخر لك. 545 00:24:42,861 --> 00:24:44,610 ونحن في طريقنا ل يبقيه حقيقية هذه المرة، 546 00:24:44,610 --> 00:24:47,820 لذلك نحن ذاهبون في محاولة للضغط عليك لأن خلاف ذلك سوف تحصل مملة 547 00:24:47,820 --> 00:24:48,460 بسرعة. 548 00:24:48,460 --> 00:24:53,860 إذا كنت قد المضي قدما لفرز 52 العناصر معا عبر بعض وسائل، الآن. 549 00:24:53,860 --> 00:25:04,710 550 00:25:04,710 --> 00:25:07,180 >> ومرة أخرى، كما نشاهد هذه الرجال تفعل ما، في النهاية 551 00:25:07,180 --> 00:25:10,200 يجري لإنتاج وضوحا نتيجة، والتفكير حقا 552 00:25:10,200 --> 00:25:12,962 كيف انهم كل فعل ذلك، كيف يمكن وصف ذلك. 553 00:25:12,962 --> 00:25:15,045 لأنه مرة أخرى، وهذه هي جميع العمليات والخوارزميات 554 00:25:15,045 --> 00:25:17,090 التي نتخذها لمنح كإنسان. 555 00:25:17,090 --> 00:25:22,349 ولكن قد ربما كان لديك فترة طويلة الحدس، منذ فترة طويلة حتى قبل أن 556 00:25:22,349 --> 00:25:24,390 فكرت في أخذ فئة العلوم الكمبيوتر الذي 557 00:25:24,390 --> 00:25:27,223 ربما كان الحدس مع لحل المشاكل التي من هذا القبيل. 558 00:25:27,223 --> 00:25:29,560 ولكن بمجرد الاعتراف أنماط والبدء 559 00:25:29,560 --> 00:25:32,407 إضفاء الطابع الرسمي على الخطوات التي كنت حل هذه المشاكل، 560 00:25:32,407 --> 00:25:35,490 ستجد أن تتمكن من حل الكثير أكثر إثارة للاهتمام وأكثر تعقيدا 561 00:25:35,490 --> 00:25:39,190 المشاكل بسرعة. 562 00:25:39,190 --> 00:25:42,351 حتى شخص من الجمهور، ما هو عنصر واحد على الأقل من الخوارزمية 563 00:25:42,351 --> 00:25:43,350 أن الذي يستخدمونه هنا؟ 564 00:25:43,350 --> 00:25:44,275 >> الجمهور: [غير مسموع] 565 00:25:44,275 --> 00:25:45,150 المتحدث: ما هذا؟ 566 00:25:45,150 --> 00:25:47,062 الجمهور: بواسطة حذوها. 567 00:25:47,062 --> 00:25:47,770 المتحدث: بواسطة حذوها. 568 00:25:47,770 --> 00:25:50,630 ذلك أنهم أولا تجميع كل من الماس معا 569 00:25:50,630 --> 00:25:52,560 على ما يبدو، كل من قلوب معا على ما يبدو، 570 00:25:52,560 --> 00:25:56,520 وهكذا دواليك، دون احترام لهذه الأرقام على بطاقات. 571 00:25:56,520 --> 00:26:00,900 والآن تظهر، على سبيل المثال، ليتم فرزها من حيث العدد. 572 00:26:00,900 --> 00:26:06,870 573 00:26:06,870 --> 00:26:08,910 جيد جدا. 574 00:26:08,910 --> 00:26:12,370 >> كل الحق، لذلك ما يحدث ل تكون الخطوة النهائية ثم هنا؟ 575 00:26:12,370 --> 00:26:16,950 مرة واحدة لدينا أربع دعاوى فرزها، ما نحتاج إلى القيام به لأكوام أربعة 576 00:26:16,950 --> 00:26:20,059 من أجل تحقيق واحد فرزها سطح السفينة، بكل بساطة؟ 577 00:26:20,059 --> 00:26:21,350 لذلك نحن بحاجة إلى دمجها مرة أخرى. 578 00:26:21,350 --> 00:26:25,160 >> لذلك هناك فكرة مثيرة للاهتمام أن مرة أخرى، نحسب، هو بديهية جدا حتى 579 00:26:25,160 --> 00:26:28,140 إذا كنت قد صفع أبدا هذا النوع من التسمية عليه. 580 00:26:28,140 --> 00:26:31,900 هذه الفكرة الأساسية للتقسيم المشكلة ليست في نصف هذا الوقت، 581 00:26:31,900 --> 00:26:33,410 ولكن على الأقل إلى أربع قطع. 582 00:26:33,410 --> 00:26:36,810 حل الى حد كبير مشاكل مماثلة جوهريا 583 00:26:36,810 --> 00:26:40,480 بمعزل عن بعضها البعض، ثم دمج النتائج. 584 00:26:40,480 --> 00:26:46,940 585 00:26:46,940 --> 00:26:50,140 و، ممتازة، وفعلت. 586 00:26:50,140 --> 00:26:52,140 كل الحق، جولة كبيرة من التصفيق، إذا استطعنا. 587 00:26:52,140 --> 00:26:56,480 >> [تصفيق] 588 00:26:56,480 --> 00:26:59,740 >> المتحدث: ليس لدي أي فكرة ما عليك القيام مع هؤلاء، ولكن هنا تذهب. 589 00:26:59,740 --> 00:27:01,690 شكرا جزيلا. 590 00:27:01,690 --> 00:27:04,660 لذلك دعونا نرى، دقيقتين وثماني ثوان، 591 00:27:04,660 --> 00:27:07,490 إذا كنت ترغب في تحدي أصدقائك. 592 00:27:07,490 --> 00:27:12,160 ماذا بعد ذلك يتم الانتقال إلى يكون اتخاذ بعيدا عن هذا 593 00:27:12,160 --> 00:27:13,830 التي يمكننا الاستفادة أكثر عموما؟ 594 00:27:13,830 --> 00:27:16,080 حسنا، أعتقد أن العودة إلى هذه مجموعة من الأرقام، 595 00:27:16,080 --> 00:27:19,060 والتفكير مرة أخرى الآن إلى بعض شبة الكود لدينا كتب في الماضي، 596 00:27:19,060 --> 00:27:22,080 وكان هذا شبة الكود ل حل مشكلة دفتر الهاتف. 597 00:27:22,080 --> 00:27:25,150 حيث في شبة الكود I المذكورة بطريقة أكثر منهجية 598 00:27:25,150 --> 00:27:28,400 من يصف كيف فعلت بديهية جدا الخوارزمية الإنسان تقسيم الهاتف 599 00:27:28,400 --> 00:27:31,650 الكتاب في نصف، كرر، كرر، كرر، حتى أجد شخص مثل مايك سميث، 600 00:27:31,650 --> 00:27:33,790 إذا كان الواقع في دفتر الهاتف. 601 00:27:33,790 --> 00:27:37,610 >> لكن النوع الأول من استخدام ما اسميه نهج متكرر جدا هنا، 602 00:27:37,610 --> 00:27:42,160 في إشعار خاص الخط 8 و 11 خط. 603 00:27:42,160 --> 00:27:46,750 تلك هي أدلة على وجود تكرارية النهج، نهج حلقات، 604 00:27:46,750 --> 00:27:49,040 لأن هذا هو بالضبط سلوك أنها تحفز. 605 00:27:49,040 --> 00:27:52,910 هذه الخطوط كل من يقول اذهب إلى السطر الثالث، ويمكنك النوع من 606 00:27:52,910 --> 00:27:55,140 التفكير في أن في حياتك عين العقل باعتباره حلقة. 607 00:27:55,140 --> 00:27:59,080 انها تخبرك أن أعود تصل إلى الخطوة ثلاثة وأكرر، مرة أخرى، ومرة ​​أخرى، 608 00:27:59,080 --> 00:28:00,010 ومرة أخرى. 609 00:28:00,010 --> 00:28:04,410 >> ولكن ماذا لو أننا الاستفادة فكرة الرئيسية هنا أننا لم آخر مرة، 610 00:28:04,410 --> 00:28:10,280 وتبسيط خط 8 و السطر 11 وجيرانهم 611 00:28:10,280 --> 00:28:12,840 لأن هذا فقط، باللون الأصفر. 612 00:28:12,840 --> 00:28:16,480 انها ليست تقصير جوهري في شبة الكود كثيرا، 613 00:28:16,480 --> 00:28:20,530 لكنه تغير جذريا طبيعة خوارزمية بلدي. 614 00:28:20,530 --> 00:28:24,220 ما أقوله الآن في الخطوة 7، في الخطوة 10، 615 00:28:24,220 --> 00:28:29,140 هو للبحث عن مايك بالطريقة نفسها بالضبط، 616 00:28:29,140 --> 00:28:31,580 ولكن فقط في اليسار نصف أو النصف الأيمن. 617 00:28:31,580 --> 00:28:33,420 >> لذلك وبعبارة أخرى، إذا أبدأ من خطوة واحدة، 618 00:28:33,420 --> 00:28:36,150 التقاط دفتر الهاتف، ومفتوحة للوسط في دليل الهاتف، والنظر في الأسماء، 619 00:28:36,150 --> 00:28:39,010 إذا سميث من بين اسم، وندعو مايك، آخر 620 00:28:39,010 --> 00:28:44,340 إذا سميث في الكتاب السابق، خطوة سبعة البحث عن مايك في النصف الأيسر من الكتاب. 621 00:28:44,340 --> 00:28:47,130 ولكن هذا النوع من يشعر وكأنه انها تركني معلقة، أليس كذلك؟ 622 00:28:47,130 --> 00:28:49,240 باللون الأصفر، هو تعليمات، ولكن كيف يمكنني 623 00:28:49,240 --> 00:28:51,870 البحث عن مايك في اليسار نصف الكتاب الهاتف؟ 624 00:28:51,870 --> 00:28:54,210 أين لدي الخوارزمية التي أنا 625 00:28:54,210 --> 00:28:57,100 يمكنك البحث عن شخص مثل مايك سميث؟ 626 00:28:57,100 --> 00:28:58,980 حسنا، انها يحدق لنا في وجهه. 627 00:28:58,980 --> 00:29:03,090 يمكنني استخدام حرفيا بالضبط نفس برنامج تسير على نحو فعال يصل إلى الأعلى 628 00:29:03,090 --> 00:29:06,490 مرة أخرى وإعادة تشغيل- على نفس المنوال من التعليمات البرمجية. 629 00:29:06,490 --> 00:29:10,610 >> ذلك على الرغم من هذا يجب أن يشعر مثل قليلا من تعريف الدوري 630 00:29:10,610 --> 00:29:13,480 أين أنت الإجابة عن شخص ما سؤال لمجرد نوع من يسأل 631 00:29:13,480 --> 00:29:15,990 نفس السؤال مرة أخرى، مثل ماذا، لماذا، لماذا؟ 632 00:29:15,990 --> 00:29:21,580 الحقيقة هي أننا قد الثابت ترميز بضعة خطوط خاصة، الخطوة 4، 633 00:29:21,580 --> 00:29:25,320 وهو إذا، والخطوة 12، والتي غير فعال فرع آخر، 634 00:29:25,320 --> 00:29:30,120 لأن لدينا هذه التدابير مؤقت، وهذه الخوارزمية إنهاء إذا كنا 635 00:29:30,120 --> 00:29:32,050 تجد مايك، أو إذا لم نفعل ذلك. 636 00:29:32,050 --> 00:29:36,810 لكن في الخطوة 7 و 10 الآن، لدينا ما سنقوم استدعاء خوارزمية العودية. 637 00:29:36,810 --> 00:29:40,420 والعودية هي في الواقع فكرة قوية هذا هو القليل من العقل والانحناء في البداية، 638 00:29:40,420 --> 00:29:42,500 أننا يمكن أن تنطبق الآن على النحو التالي. 639 00:29:42,500 --> 00:29:46,600 >> دمج النوع سيكون نوعا الماضي نحن ننظر، على الأقل في الصف رسميا. 640 00:29:46,600 --> 00:29:50,040 وانها تختلف اختلافا جوهريا من هؤلاء الثلاثة الأخيرة، وبالتأكيد 641 00:29:50,040 --> 00:29:52,140 أربع الماضي إذا كنا تشمل bogosort. 642 00:29:52,140 --> 00:29:54,810 وهنا شبة الكود لدمج النوع. 643 00:29:54,810 --> 00:30:00,170 عندما على المدخلات من العناصر ن، نظرا لذلك مجموعة من حجم ن، إذا كان n هو أقل من 2، 644 00:30:00,170 --> 00:30:01,040 العودة. 645 00:30:01,040 --> 00:30:03,610 فلماذا لا بد لي من أن التعقل تحقق أولا؟ 646 00:30:03,610 --> 00:30:09,477 ما هو المعنى الضمني إذا أسلم لك مجموعة الذي ن طول أقل من 2؟ 647 00:30:09,477 --> 00:30:11,060 لقد تم فرزها بالفعل، من الواضح، أليس كذلك؟ 648 00:30:11,060 --> 00:30:13,640 لأن القائمة لديه إما عنصر واحد، وهو أمر مسلي 649 00:30:13,640 --> 00:30:15,180 فرزها لأنه الشيء الوحيد هناك. 650 00:30:15,180 --> 00:30:18,138 أو، انها من حجم الصفر مما يعني لا يوجد شيء للترتيب، لذلك بطبيعتها 651 00:30:18,138 --> 00:30:18,720 يتم فرز ذلك. 652 00:30:18,720 --> 00:30:20,410 هناك فقط شيئا خطأ هناك. 653 00:30:20,410 --> 00:30:22,310 ذلك أن لدينا ما يسمى حالة الأساس. 654 00:30:22,310 --> 00:30:24,440 >> هذا هو مماثل في روح لما فعلناه مع مايك. 655 00:30:24,440 --> 00:30:26,023 إذا مايك في دليل الهاتف، وندعو له. 656 00:30:26,023 --> 00:30:27,740 اذا لم يكن هناك، تستسلم. 657 00:30:27,740 --> 00:30:31,240 انها ما يسمى حالة قاعدة، للتأكد من هذه الخوارزمية في نهاية اليوم 658 00:30:31,240 --> 00:30:33,540 سوف تتوقف في ظروف معينة. 659 00:30:33,540 --> 00:30:37,890 >> ولكن ها هي قفزة الإيمان الآن، شيء آخر، فرز النصف الأيسر من العناصر، 660 00:30:37,890 --> 00:30:39,740 ثم فرز الحق نصف العناصر، 661 00:30:39,740 --> 00:30:41,189 ثم دمج شطري فرزها. 662 00:30:41,189 --> 00:30:43,230 وهنا حيث تشعر به وكأننا تخليا بها. 663 00:30:43,230 --> 00:30:46,900 لقد طلب منك لفرز ن عناصر، وأنا 664 00:30:46,900 --> 00:30:50,712 وقال: موافق، أن تفعل ذلك عن طريق الفرز اليسار والفرز اليمين. 665 00:30:50,712 --> 00:30:52,420 ولكن أنا أقول واحد الشيء الآخر، وهذا 666 00:30:52,420 --> 00:30:55,530 هو الموضوع الرئيسي على ما يبدو في الحدس حتى الآن، 667 00:30:55,530 --> 00:30:57,380 هناك هذا الخطوة الثالثة دمج. 668 00:30:57,380 --> 00:31:00,430 والتي على الرغم من أنها يبدو البكم حتى في الروح، 669 00:31:00,430 --> 00:31:02,320 وكأنه مجرد دمج الأشياء معا، على ما يبدو 670 00:31:02,320 --> 00:31:05,380 لتكون خطوة رئيسية نحو إعادة التجميع من مشكلتين 671 00:31:05,380 --> 00:31:07,330 قسمت في نصف النهاية. 672 00:31:07,330 --> 00:31:12,090 >> حتى دمج النوع، دعونا نفعل ذلك، إذا كان عليك النكتة لي، مع واحد مظاهرة أكثر، 673 00:31:12,090 --> 00:31:14,730 فقط حتى أن لدينا بعض أرقام للعمل مع. 674 00:31:14,730 --> 00:31:19,470 يمكنني تبادل ثمانية الإجهاد كرات لثمانية أشخاص؟ 675 00:31:19,470 --> 00:31:29,320 كل الحق، كيف عنك ثلاثة، أربعة لك في هذا القسم، خمسة، ستة، ودعونا 676 00:31:29,320 --> 00:31:30,720 لا 7، 8، وتأتي على ما يصل. 677 00:31:30,720 --> 00:31:35,120 678 00:31:35,120 --> 00:31:36,520 حسنا، نعم موافق. 679 00:31:36,520 --> 00:31:38,640 ناقص 8، هناك نذهب، بالإضافة إلى 1. 680 00:31:38,640 --> 00:31:39,150 ممتازة. 681 00:31:39,150 --> 00:31:42,000 كل ذلك يأتي الحق على ما يصل، دعونا بسرعة تعطيك أرقام. 682 00:31:42,000 --> 00:31:50,800 رقم اثنين، رقم ثلاثة، رقم أربعة، رقم خمسة، ستة، سبعة، وثمانية. 683 00:31:50,800 --> 00:31:52,140 فعلت ثمانية بشكل صحيح هذه المرة. 684 00:31:52,140 --> 00:31:56,390 >> موافق، لذلك يذهب إلى الأمام إذا كنت تستطيع، و دعونا فرز بالترتيب الأصلي 685 00:31:56,390 --> 00:31:59,810 أن كان لدينا أمس الذي بدا مثل هذا، إذا كنت لن تمانع. 686 00:31:59,810 --> 00:32:03,620 ودعونا نفعل ذلك أمام الطاولة. 687 00:32:03,620 --> 00:32:06,510 كل الحق، لذلك دمج النوع. 688 00:32:06,510 --> 00:32:08,820 هذا هو المكان الذي يجري للحصول على نوع من اهتمام، 689 00:32:08,820 --> 00:32:12,800 لأنه يبدو لي أن إعطاء نفسي أقل كثيرا من المعلومات اليوم. 690 00:32:12,800 --> 00:32:15,149 >> حتى دمج النوع أولا وقبل كل على المدخلات من العناصر ن، 691 00:32:15,149 --> 00:32:18,440 والواضح أنه ليس أقل من اثنين، انها ثمانية، وذلك لدي بعض المزيد من العمل للقيام به. 692 00:32:18,440 --> 00:32:21,140 حتى عقليا نحن الآن كطبقة الآن في فرع آخر، 693 00:32:21,140 --> 00:32:22,540 وهو ما يعني ثلاث خطوات. 694 00:32:22,540 --> 00:32:25,017 أولا، لا بد لي من فرز النصف الأيسر من العناصر. 695 00:32:25,017 --> 00:32:26,350 فكيف يمكنني التوجه نحو القيام بذلك؟ 696 00:32:26,350 --> 00:32:28,950 حسنا، أنا ذاهب إلى نوع من تقسيم عقليا قائمة هنا، 697 00:32:28,950 --> 00:32:30,700 لم يكن لديك ل التحرك جسديا، وأنا 698 00:32:30,700 --> 00:32:33,180 ذاهب الى التركيز فقط على النصف الأيسر من العناصر هنا. 699 00:32:33,180 --> 00:32:36,770 لذلك كيف أذهب حول فرز قائمة الآن من حجم أربعة؟ 700 00:32:36,770 --> 00:32:38,730 ما هو خوارزمية بلدي؟ 701 00:32:38,730 --> 00:32:42,580 أولا أنا ن تحقق هو أقل من اثنين، لا، لذلك أنا شروع في كتلة آخر مرة أخرى. 702 00:32:42,580 --> 00:32:43,900 ترتيب غادر نصف العناصر. 703 00:32:43,900 --> 00:32:45,608 >> وحتى الآن مرة أخرى، عقليا، وهذا هو حيث 704 00:32:45,608 --> 00:32:49,550 عليك أن تعود الكثير من التاريخ العقلي، اذا صح التعبير. 705 00:32:49,550 --> 00:32:51,940 الآن أنا فرز اليسار نصف النصف الأيسر. 706 00:32:51,940 --> 00:32:57,000 كل الحق، وحتى الآن أدعو لي نفس الدمج الفرز الخوارزمية، وN أقل من اثنين؟ 707 00:32:57,000 --> 00:33:00,590 لا، انها لاثنين، وذلك لدي لفرز النصف الأيسر والنصف الأيمن. 708 00:33:00,590 --> 00:33:02,042 حتى هنا نذهب، فرز نصف نقاط. 709 00:33:02,042 --> 00:33:03,750 لماذا لا تقوم فقط اتخاذ خطوة واحدة إلى الأمام. 710 00:33:03,750 --> 00:33:04,415 ما اسمك؟ 711 00:33:04,415 --> 00:33:04,860 >> الجمهور: دارين. 712 00:33:04,860 --> 00:33:05,260 >> المتحدث: دان. 713 00:33:05,260 --> 00:33:06,040 وصعدت دان الأمام. 714 00:33:06,040 --> 00:33:06,748 >> الجمهور: دارين. 715 00:33:06,748 --> 00:33:09,000 المتحدث: دارين، وفعلت. 716 00:33:09,000 --> 00:33:10,090 قلت دارين أو دان؟ 717 00:33:10,090 --> 00:33:10,550 >> الجمهور: دارين. 718 00:33:10,550 --> 00:33:11,216 >> المتحدث: دارين. 719 00:33:11,216 --> 00:33:14,422 موافق، وصعدت دارين إلى الأمام ويتم فرز انه الآن. 720 00:33:14,422 --> 00:33:16,130 وهذا هو تقريبا ادعاء فارغ، أليس كذلك؟ 721 00:33:16,130 --> 00:33:18,862 أنا لا يبدو حقا أن تحقيق أي شيء، ولكن دعونا المضي قدما. 722 00:33:18,862 --> 00:33:20,820 الآن اسمحوا لي فرز الحق نصف العناصر. 723 00:33:20,820 --> 00:33:21,200 ما اسمك؟ 724 00:33:21,200 --> 00:33:21,690 >> الجمهور: لوقا. 725 00:33:21,690 --> 00:33:22,273 >> المتحدث: لوقا. 726 00:33:22,273 --> 00:33:23,400 هيا، خطوة إلى الأمام. 727 00:33:23,400 --> 00:33:25,640 القيام به، لقد تم فرزها لوقا. 728 00:33:25,640 --> 00:33:28,570 يتم فرز النصف الأيسر الآن و يتم فرز النصف الأيمن الآن، 729 00:33:28,570 --> 00:33:30,770 لكن مرة أخرى، هناك خطوة رئيسية هنا. 730 00:33:30,770 --> 00:33:32,940 ما الذي أحتاجه بجانب تفعل؟ 731 00:33:32,940 --> 00:33:33,941 دمج شطري فرزها. 732 00:33:33,941 --> 00:33:36,648 الآن نحن في طريقنا لديك فقط الجميع جيئة وذهابا في هذا الطريق، 733 00:33:36,648 --> 00:33:38,620 لأنني بحاجة إلى نوع من بعض المساحة الصفر. 734 00:33:38,620 --> 00:33:40,411 انها تقريبا مثل هذه الرجال هم على الطاولة، 735 00:33:40,411 --> 00:33:42,460 وانا بحاجة الى بعض غرفة لنقلها في جميع أنحاء جرا. 736 00:33:42,460 --> 00:33:44,170 لذلك أنا ذاهب لدمج يا رفاق من خلال النظر 737 00:33:44,170 --> 00:33:45,960 في النصف الأيسر والنصف الأيمن. 738 00:33:45,960 --> 00:33:48,740 والواضح الذي يأتي أولا، نصف النصف الأيمن أو الأيسر؟ 739 00:33:48,740 --> 00:33:52,710 حتى النصف الأيمن، لذلك دعنا ننتقل لوقا على هنا لموقف دارين الأصلي. 740 00:33:52,710 --> 00:33:57,640 والآن لدمج لهم النصف الأيسر في، يجري دارين للتحرك هناك. 741 00:33:57,640 --> 00:33:59,750 >> حتى كأنه تقريبا تأثير فقاعة النوع، 742 00:33:59,750 --> 00:34:02,482 ولكن خوارزمية بلدي الأساسية، مختلفة جدا هذه المرة. 743 00:34:02,482 --> 00:34:04,815 ولكن من الآن حيث الامور و مزعج قليلا لأنك 744 00:34:04,815 --> 00:34:06,810 يجب أن الترجيع عقليا حيث لم أترك قبالة. 745 00:34:06,810 --> 00:34:09,893 لقد اندمجت فقط نصفي فرزها، مما يعني أنا حيث في خوارزمية بلدي؟ 746 00:34:09,893 --> 00:34:12,229 747 00:34:12,229 --> 00:34:13,770 لدي لفرز النصف الأيمن، أليس كذلك؟ 748 00:34:13,770 --> 00:34:15,910 >> إذا كنت الترجيع، حرفيا على الفيديو، عليك 749 00:34:15,910 --> 00:34:18,339 نرى أن وصلنا إلى هذا نقطة لوقا ودارين 750 00:34:18,339 --> 00:34:21,370 عن طريق الفرز اليسار نصف النصف الأيسر. 751 00:34:21,370 --> 00:34:23,430 ثم نحن اندمجت تلك نصفين فرزها، والتي 752 00:34:23,430 --> 00:34:27,941 يعني أن الخطوة التالية هي فرز النصف الأيمن من النصف الأيسر. 753 00:34:27,941 --> 00:34:29,649 كل الحق، لذلك دعونا القيام بذلك بسرعة أكبر. 754 00:34:29,649 --> 00:34:33,282 كل الحق، ستة، انا ذاهب الى المطالبة يتم فرز لك الآن، هيا إلى الأمام. 755 00:34:33,282 --> 00:34:33,990 ما اسمك؟ 756 00:34:33,990 --> 00:34:34,589 >> الجمهور: ادريانو. 757 00:34:34,589 --> 00:34:35,200 >> المتحدث: ادريانو. 758 00:34:35,200 --> 00:34:36,010 يتم فرز ادريانو الآن. 759 00:34:36,010 --> 00:34:36,450 وما اسمك؟ 760 00:34:36,450 --> 00:34:37,080 >> الجمهور: أليكس. 761 00:34:37,080 --> 00:34:38,379 >> يتم فرز اليكس الآن: رئيس المجلس. 762 00:34:38,379 --> 00:34:40,750 نصف اليسار، النصف الأيمن، ما هي الخطوة النهائية؟ 763 00:34:40,750 --> 00:34:41,250 دمج. 764 00:34:41,250 --> 00:34:44,310 تافهة جدا، لذلك أنا الذهاب الى دمج في ستة، 765 00:34:44,310 --> 00:34:46,930 اتخاذ خطوة إلى الوراء، ثمانية، واتخاذ خطوة إلى الوراء. 766 00:34:46,930 --> 00:34:49,530 والآن لاحظ هذا هو من الوجبات المفيدة، ما 767 00:34:49,530 --> 00:34:53,930 الآن صحيح عن النصف الأيسر من قائمة، بغض النظر عن كيف بدأنا؟ 768 00:34:53,930 --> 00:34:55,090 يتم فرز ذلك. 769 00:34:55,090 --> 00:34:57,750 >> الآن هو غير مصنفة في المخطط الكبير للأشياء، 770 00:34:57,750 --> 00:35:00,250 ولكن تم فرزها بشكل مستقل من النصف الآخر. 771 00:35:00,250 --> 00:35:04,100 الآن ما هي الخطوة أنا على إذا أظل اللف كيف بدأت القصة؟ 772 00:35:04,100 --> 00:35:05,680 الآن لا بد لي من فرز النصف الأيمن. 773 00:35:05,680 --> 00:35:07,630 حتى الآن نحن في طريق العودة بداية القصة، 774 00:35:07,630 --> 00:35:08,921 ودعونا نفعل ذلك بسرعة أكبر. 775 00:35:08,921 --> 00:35:11,320 لذلك أنا ذاهب لفرز النصف الأيمن من اللائحة بأكملها. 776 00:35:11,320 --> 00:35:13,060 ما هي الخطوة التالية؟ 777 00:35:13,060 --> 00:35:15,840 فرز النصف الأيسر من النصف الأيمن. 778 00:35:15,840 --> 00:35:18,715 فرز النصف الأيسر من النصف الأيسر من النصف الأيمن. 779 00:35:18,715 --> 00:35:19,590 وما اسمك؟ 780 00:35:19,590 --> 00:35:20,230 >> الجمهور: عمر. 781 00:35:20,230 --> 00:35:21,970 >> المتحدث: عمر، خطوة إلى الأمام، وفعلت. 782 00:35:21,970 --> 00:35:22,860 يتم فرز النصف الأيسر. 783 00:35:22,860 --> 00:35:23,330 وما اسمك؟ 784 00:35:23,330 --> 00:35:23,820 >> الجمهور: كريس. 785 00:35:23,820 --> 00:35:25,620 >> المتحدث: كريس، واتخاذ خطوة إلى الأمام، يتم فرز لك الآن. 786 00:35:25,620 --> 00:35:27,010 ما هي الخطوة الرئيسية الآن؟ 787 00:35:27,010 --> 00:35:27,510 دمج. 788 00:35:27,510 --> 00:35:30,509 حتى واحد هو الذهاب الى الاندماج في مكان هنا، إذا كنت قد تأخذ خطوة إلى الوراء، 789 00:35:30,509 --> 00:35:32,930 وثلاثة يتم الانتقال إلى اتخاذ خطوة إلى الوراء، ودمج. 790 00:35:32,930 --> 00:35:38,080 حتى النصف الأيسر من النصف الأيمن، يتم فرز الآن. 791 00:35:38,080 --> 00:35:41,747 بصراحة، هذه الخوارزمية يشعر كأننا يضيعون الطريق وقتا أكثر مما قبل، 792 00:35:41,747 --> 00:35:44,830 ولكن إذا فعلنا هذا في الوقت الحقيقي، وسوف نقوم نرى ما هي الوجبات السريعة ستكون. 793 00:35:44,830 --> 00:35:47,970 الآن أنا هنا، أليس كذلك نصف النصف الأيمن، 794 00:35:47,970 --> 00:35:50,170 اسمحوا لي المضي قدما وفرز النصف الأيسر. 795 00:35:50,170 --> 00:35:51,482 خطوة إلى الأمام، ما هو اسمك؟ 796 00:35:51,482 --> 00:35:52,190 الجمهور: رمزي. 797 00:35:52,190 --> 00:35:53,210 يتم فرز رامسي الآن: رئيس المجلس. 798 00:35:53,210 --> 00:35:53,570 ما اسمك؟ 799 00:35:53,570 --> 00:35:54,200 >> الجمهور: مارينا. 800 00:35:54,200 --> 00:35:57,033 >> يتم فرز مارينا الآن على النحو التالي: SPEAKER حسنا، إذا كنت تأخذ خطوة واحدة إلى الأمام. 801 00:35:57,033 --> 00:36:00,690 خطوة رئيسية هنا هو دمج الآن، وأنا الذهاب إلى نتف من بلدي قائمتين، 802 00:36:00,690 --> 00:36:01,720 اليسار واليمين. 803 00:36:01,720 --> 00:36:05,150 خمسة سوف يأتي أولا، وسبعة سوف يأتي المقبل. 804 00:36:05,150 --> 00:36:06,410 ومرة أخرى، وهذا هو متعمد. 805 00:36:06,410 --> 00:36:08,535 حقيقة أنها تتناولين الخطوات إلى الأمام والخلف 806 00:36:08,535 --> 00:36:12,997 ومن المفترض أن يمثل أننا لا يمكن تفعل هذه الخوارزمية في مكان وبسهولة 807 00:36:12,997 --> 00:36:15,830 كما فقاعة الفرز، واختيار نوع، والإدراج الفرز حيث أننا فقط 808 00:36:15,830 --> 00:36:16,960 أبقى مبادلة الناس. 809 00:36:16,960 --> 00:36:19,940 أنا حرفيا بحاجة إلى نوع الورق الصفر التي 810 00:36:19,940 --> 00:36:21,827 لوضع هؤلاء الناس في حين أن أفعل دمج، 811 00:36:21,827 --> 00:36:23,410 وبعد ذلك يمكن وضعها مرة أخرى في المكان. 812 00:36:23,410 --> 00:36:27,260 وهذا أساسي لأن أنا باستخدام مورد جديد، والفضاء، وليس فقط الوقت. 813 00:36:27,260 --> 00:36:28,270 >> حسنا، هذا هو مدهش. 814 00:36:28,270 --> 00:36:32,050 يتم فرز نصف اليسار، النصف الأيمن هو فرزها، والآن هذا المفتاح دمج خطوة. 815 00:36:32,050 --> 00:36:33,450 كيف أنا ذاهب لدمج هذا؟ 816 00:36:33,450 --> 00:36:35,470 حتى إذا كنت سوف تتبع بلدي اليد اليسرى واليد اليمنى، 817 00:36:35,470 --> 00:36:38,930 انا ذاهب الى نقطة يدي اليسرى في النصف الأيسر، يدي اليمنى 818 00:36:38,930 --> 00:36:42,680 في النصف الأيمن، والآن لا بد لي من تقرر خطوة بخطوة لدمج منهم في. 819 00:36:42,680 --> 00:36:44,650 من الواضح أن الذي يأتي أولا؟ 820 00:36:44,650 --> 00:36:45,150 رقم واحد. 821 00:36:45,150 --> 00:36:47,327 حتى يأتي على أكثر من هنا، هنا لدينا لوحة الصفر. 822 00:36:47,327 --> 00:36:49,910 حتى الآن رقم واحد، وإشعار ماذا سأفعل مع يدي اليمنى، 823 00:36:49,910 --> 00:36:54,152 انا ذاهب الى تحريك اليد اليمنى بلدي واحد خطوة أكثر إلى نقطة رقم ثلاثة، 824 00:36:54,152 --> 00:36:55,860 والآن لا بد لي من تقديم نفس القرار. 825 00:36:55,860 --> 00:36:58,387 والوقوف في الواقع الحق في أمام لوقا هنا إذا كنت تستطيع، 826 00:36:58,387 --> 00:36:59,720 لأن هذا هو لدينا سادة الصفر. 827 00:36:59,720 --> 00:37:00,610 ذلك الذي يأتي بعد ذلك؟ 828 00:37:00,610 --> 00:37:05,000 لدينا لوقا مع عدد اثنين أو كريس مع رقم ثلاثة. 829 00:37:05,000 --> 00:37:07,460 من الواضح أن لوقا، عدد اثنين، لذلك أتيت هنا. 830 00:37:07,460 --> 00:37:11,270 >> ولكن يدي اليسرى الآن سوف يمكن زيادة إلى نقطة في دارين، 831 00:37:11,270 --> 00:37:15,160 وهنا مفتاح يسلب مع دمج، انا ذاهب للحفاظ على القيام بذلك، 832 00:37:15,160 --> 00:37:17,340 من الواضح، إذا كنت النوع من اتبع المنطق. 833 00:37:17,340 --> 00:37:19,670 ولكن يدي أبدا سوف نعود إلى الوراء، 834 00:37:19,670 --> 00:37:23,861 وهو ما يعني انا تتحرك من أي وقت مضى فقط ل اليسار مع عملية دمج بلدي، 835 00:37:23,861 --> 00:37:26,360 والتي ستكون المفتاح ل تحليلنا في مجرد لحظة. 836 00:37:26,360 --> 00:37:27,859 >> حتى الآن دعونا إنهاء هذا بسرعة. 837 00:37:27,859 --> 00:37:31,650 حتى يأتي بعد ثلاثة، ثم يأتي بعد ذلك أربعة، 838 00:37:31,650 --> 00:37:38,750 والآن يأتي بعد خمسة، ثم ستة، وسبعة، ثم أخيرا ثمانية. 839 00:37:38,750 --> 00:37:42,960 كأنه أبطأ خوارزمية بعد، ولكن ليس إذا كنا فعلا 840 00:37:42,960 --> 00:37:45,510 تشغيله في نفس النوع السرعة على مدار الساعة، وذلك ل 841 00:37:45,510 --> 00:37:48,106 الكلام، مع نفسه موقوتة على مدار الساعة كما كان من قبل. 842 00:37:48,106 --> 00:37:48,605 لماذا؟ 843 00:37:48,605 --> 00:37:51,100 حسنا، دعونا نلقي ننظر إلى النتيجة النهائية. 844 00:37:51,100 --> 00:37:56,990 >> دعونا نعود إلى هنا، اسمحوا لي سحب ما يصل مظاهرة بصريا 845 00:37:56,990 --> 00:37:59,030 ما فعلناه للتو. 846 00:37:59,030 --> 00:38:06,110 التكبير هنا، على هذا الصفحة هنا، نقول فايرفوكس 847 00:38:06,110 --> 00:38:08,200 أننا نريد أن قائمة الانتظار حتى في هذا الإطار، دعونا 848 00:38:08,200 --> 00:38:11,260 يقول فقاعة النوع، والتي نحن الآن نعرف جيدا، 849 00:38:11,260 --> 00:38:14,130 نوع الاختيار، وهو آخر إلى حد ما واحدة واضحة، 850 00:38:14,130 --> 00:38:18,250 والآن اليوم دمج النوع الذي ستكون نهاية المناخية لدينا. 851 00:38:18,250 --> 00:38:21,530 السبب أنه استغرق وقتا أطول بكثير هنا مع البشر ولي غير لفظيا، 852 00:38:21,530 --> 00:38:23,480 من الواضح، أنا شرح كل خطوة. 853 00:38:23,480 --> 00:38:26,920 ولكن إذا كنت ببساطة تنفيذ هذا، والكثير كما فعلنا نوع فقاعة واختيار 854 00:38:26,920 --> 00:38:30,890 النوع ليس فقط بصريا، ومشاهدة فقط كم أكثر كفاءة 855 00:38:30,890 --> 00:38:33,330 وهذه التعبئة ل تقسيم وقهر 856 00:38:33,330 --> 00:38:39,150 يمكن عند تطبيقها على مجموعة من البيانات هذا ولا حتى حجم ثمانية، ولكن حتى ذلك بكثير، 857 00:38:39,150 --> 00:38:39,970 أكبر من ذلك بكثير. 858 00:38:39,970 --> 00:38:44,585 أنا أعطيك دمج النوع، جنبا إلى جنب مع هذه الخوارزميات الأخرى. 859 00:38:44,585 --> 00:38:56,364 860 00:38:56,364 --> 00:38:58,530 هذا هو الذهاب الى الحصول مؤلمة بسرعة، وإنهاء 861 00:38:58,530 --> 00:39:00,890 ليس أوجي خاصة، أنها فقط في نهاية المطاف فرزها. 862 00:39:00,890 --> 00:39:05,280 ولكن المفتاح هو أن يسلب انظروا كيف أسرع بكثير دمج النوع 863 00:39:05,280 --> 00:39:08,110 كان، إلا إذا كنت تعتقد أنا مجرد نوع من العبث معك. 864 00:39:08,110 --> 00:39:13,100 إذا فعلنا ذلك مرة واحدة نهائية، دعونا إعادة تحميل هذه، دعونا نعود 865 00:39:13,100 --> 00:39:14,960 واختيار نوع فقاعة، وفقط لركلات، 866 00:39:14,960 --> 00:39:17,330 دعونا اختيار الإدراج نوع، فقط لحسن التدبير. 867 00:39:17,330 --> 00:39:20,020 وهذه المرة مرة أخرى، دعونا اختيار نوع الدمج ودعونا 868 00:39:20,020 --> 00:39:21,595 في الواقع تشغيل هذه جنبا إلى جنب. 869 00:39:21,595 --> 00:39:24,140 870 00:39:24,140 --> 00:39:26,930 >> وانها ليست، في الواقع، مجرد صدفة. 871 00:39:26,930 --> 00:39:31,140 ما قمت به فعليا هو عندي تنقسم المدخلات بلدي في نصف، ومرة ​​أخرى، 872 00:39:31,140 --> 00:39:32,240 ومرة أخرى، ومرة ​​أخرى. 873 00:39:32,240 --> 00:39:35,590 وهناك فقط مرات عديدة يمكنك تقسيم المدخلات الخاصة بك الى نصفين، غادر 874 00:39:35,590 --> 00:39:36,240 والحق. 875 00:39:36,240 --> 00:39:39,425 ما هي الصيغة التي واصلنا رؤية التي تصف تقسيم في نصف 876 00:39:39,425 --> 00:39:41,050 مرة أخرى، ومرة ​​أخرى، ومرة ​​أخرى، ومرة ​​أخرى؟ 877 00:39:41,050 --> 00:39:41,890 >> الجمهور: سجل ن. 878 00:39:41,890 --> 00:39:42,760 >> المتحدث: سجل ن. 879 00:39:42,760 --> 00:39:46,300 ولكن بعد ذلك هناك خطوة رئيسية أخرى، هذه الخوارزمية لا تسجيل ن الخطوات. 880 00:39:46,300 --> 00:39:48,992 إذا تم تسجيل فقط ن الخطوات، سنكون في نفس المشكلة 881 00:39:48,992 --> 00:39:51,200 كما كان من قبل حيث أننا لا يمكن أن تكون من كل شيء لفرزها. 882 00:39:51,200 --> 00:39:54,480 لا بد من النظر في الحد الأدنى من عناصر ن للتأكد من ن يتم فرز العناصر، 883 00:39:54,480 --> 00:39:55,950 إلا انها قفزة الإيمان. 884 00:39:55,950 --> 00:39:59,810 >> لذلك فمن سجل بمستوى الحد الأدنى ن الخطوات، ولكن ماذا عن هذه الخطوة دمج الرئيسية 885 00:39:59,810 --> 00:40:04,370 حيث كنت اندمجت بلدي النصف الأيسر واليمين مشى نصف وعبر المرحلة؟ 886 00:40:04,370 --> 00:40:06,980 عدد الخطوات هو أن دمج؟ 887 00:40:06,980 --> 00:40:10,150 انها ن، ولكن لم أكن فقط دمج مرة الأخيرة. 888 00:40:10,150 --> 00:40:15,089 على كل من تلك المكالمات متداخلة، على كل تلك دمج متداخلة، ما زلت فرزها. 889 00:40:15,089 --> 00:40:18,380 أنا اندمجت هؤلاء الرجال اثنين، ثم هذين الرجال، ثم هؤلاء الرجال اثنين وهكذا دواليك. 890 00:40:18,380 --> 00:40:19,955 >> لذلك لم دمج مرة أخرى، ومرة ​​أخرى. 891 00:40:19,955 --> 00:40:20,580 كم مرة؟ 892 00:40:20,580 --> 00:40:23,510 وذلك في كل مرة كنت قسمت قائمة في النصف، فعلت الدمج. 893 00:40:23,510 --> 00:40:25,460 تقسيم القائمة إلى النصف، والقيام الدمج. 894 00:40:25,460 --> 00:40:28,570 حتى إذا كان تقسيم قائمة يمكن القيام به مرة سجل ن، 895 00:40:28,570 --> 00:40:33,880 ودمج تأخذ في نهاية المطاف ن الخطوات، ما قد يكون الآن العلوية 896 00:40:33,880 --> 00:40:37,000 ملزمة على التوالي وقت أنظمتنا؟ 897 00:40:37,000 --> 00:40:37,980 ن ن تسجيل. 898 00:40:37,980 --> 00:40:40,560 >> وبالفعل، هذا ما حققناه هنا. 899 00:40:40,560 --> 00:40:44,650 لذلك تشعر بأنك ترى بالعين المجردة عندما هذه الأمور الثلاثة تعمل جنبا إلى جنب 900 00:40:44,650 --> 00:40:47,930 ون تربيع ضد ن مربع ضد ن ن السجل. 901 00:40:47,930 --> 00:40:51,010 وهو في الأساس سنرى، ليس اليوم فقط ولكن في المستقبل، 902 00:40:51,010 --> 00:40:52,760 هو أكثر وأسرع بكثير. 903 00:40:52,760 --> 00:40:56,010 جولة من التصفيق لهؤلاء الرجال، وسوف مكافأة لهم كرات الإجهاد. 904 00:40:56,010 --> 00:41:00,260 دعونا تأجيل هنا اليوم، و سوف نرى لك يوم الاثنين. 905 00:41:00,260 --> 00:41:02,255