1 00:00:00,000 --> 00:00:03,381 >> [عزف الموسيقى] 2 00:00:03,381 --> 00:00:04,604 3 00:00:04,604 --> 00:00:05,520 DOUG لويد: حسنا. 4 00:00:05,520 --> 00:00:07,860 لذلك إذا كنت انتهيت للتو من أن الفيديو على القوائم المرتبطة منفردة آسف 5 00:00:07,860 --> 00:00:09,568 تركت لك الخروج على قليلا من التشويق. 6 00:00:09,568 --> 00:00:12,790 ولكن أنا سعيد لأنك هنا لإنهاء قصة القوائم المرتبطة على نحو مضاعف. 7 00:00:12,790 --> 00:00:15,250 >> لذلك إذا كنت أذكر من هذا الفيديو، تحدثنا 8 00:00:15,250 --> 00:00:18,500 حول كيفية ربط منفردة، قوائم تفعل حضور قدرتنا 9 00:00:18,500 --> 00:00:22,090 للتعامل مع المعلومات حيث بلغ عدد العناصر 10 00:00:22,090 --> 00:00:24,442 أو عدد العناصر في قائمة يمكن أن تنمو أو تنكمش. 11 00:00:24,442 --> 00:00:26,400 يمكننا الآن التعامل مع شيء من هذا القبيل، حيث 12 00:00:26,400 --> 00:00:28,310 لم نتمكن من التعامل معها مع المصفوفات. 13 00:00:28,310 --> 00:00:30,560 >> لكنهم يعانون من واحد الحد الحرج الذي 14 00:00:30,560 --> 00:00:33,790 وذلك مع ربط منفردة، القائمة، ونحن يمكن ان تتحرك من أي وقت مضى فقط 15 00:00:33,790 --> 00:00:36,200 في اتجاه واحد من خلال القائمة. 16 00:00:36,200 --> 00:00:39,010 والوضع الحقيقي الوحيد حيث يمكن أن تصبح مشكلة 17 00:00:39,010 --> 00:00:41,250 وعندما كنا نحاول حذف عنصر واحد. 18 00:00:41,250 --> 00:00:46,000 ونحن حتى لم مناقشة كيفية القيام بذلك في قائمة مرتبطة منفردة في شبة الكود. 19 00:00:46,000 --> 00:00:48,797 فمن قابلة للتنفيذ بالتأكيد، ولكن يمكن أن يكون قليلا من المتاعب. 20 00:00:48,797 --> 00:00:50,630 حتى إذا وجدت نفسك في الحالة التي تكون فيها 21 00:00:50,630 --> 00:00:53,175 كنت تحاول حذف عناصر واحدة من القائمة 22 00:00:53,175 --> 00:00:55,430 أو انها سوف تكون هناك حاجة أن عليك أن تكون حذف 23 00:00:55,430 --> 00:00:57,970 عناصر واحدة من القائمة، قد ترغب 24 00:00:57,970 --> 00:01:02,090 في النظر في استخدام مرتبطة مضاعف قائمة بدلا من قائمة مرتبطة منفردة. 25 00:01:02,090 --> 00:01:06,320 لأن القوائم المرتبطة مضاعف تسمح لك لنقل كل الأمام وإلى الوراء 26 00:01:06,320 --> 00:01:09,340 من خلال القائمة بدلا من فقط إلى الأمام من خلال list-- 27 00:01:09,340 --> 00:01:13,950 فقط عن طريق إضافة عنصر إضافي واحد لتعريف بنيتنا 28 00:01:13,950 --> 00:01:16,690 للعقدة قائمة مرتبطة على نحو مضاعف. 29 00:01:16,690 --> 00:01:19,770 >> مرة أخرى، إذا كنت لن سيتم حذف العناصر واحدة 30 00:01:19,770 --> 00:01:24,810 من list-- لأننا سنضيف حقل إضافي لبنيتنا 31 00:01:24,810 --> 00:01:28,340 التعريف، فإن العقد أنفسهم لالقوائم المرتبطة مضاعف 32 00:01:28,340 --> 00:01:29,550 ذاهبون إلى أن تكون أكبر. 33 00:01:29,550 --> 00:01:31,600 انهم ذاهبون الى اتخاذ حتى أكثر بايت من الذاكرة. 34 00:01:31,600 --> 00:01:34,160 وحتى إذا كان هذا ليس شيئا كنت بحاجة الى الذهاب الى القيام به، 35 00:01:34,160 --> 00:01:36,300 كنت قد تقرر انها لا يستحق المفاضلة 36 00:01:36,300 --> 00:01:39,360 لديك لقضاء اضافية بايت من الذاكرة المطلوبة 37 00:01:39,360 --> 00:01:43,940 للحصول على قائمة مرتبطة مضاعف إذا كنت لا ستكون حذف العناصر واحدة. 38 00:01:43,940 --> 00:01:46,760 ولكنهم أيضا بارد لأشياء أخرى أيضا. 39 00:01:46,760 --> 00:01:51,260 >> لذلك كما قلت، علينا فقط أن أضيف حقل واحد واحد لبنيتنا 40 00:01:51,260 --> 00:01:55,360 definition-- هذه الفكرة من مؤشر السابق. 41 00:01:55,360 --> 00:01:58,620 حتى مع قائمة مرتبطة منفردة، ونحن لدينا قيمة والمؤشر التالي، 42 00:01:58,620 --> 00:02:02,850 وبالتالي فإن قائمة مرتبطة مضاعف للتو وسيلة للانتقال إلى الخلف أيضا. 43 00:02:02,850 --> 00:02:04,960 >> الآن في ربط منفردة، قائمة الفيديو، تحدثنا 44 00:02:04,960 --> 00:02:07,210 حول هذه خمسة من الأشياء الرئيسية التي تحتاج إلى أن تكون 45 00:02:07,210 --> 00:02:09,449 قادرة على القيام بالعمل مع القوائم المرتبطة. 46 00:02:09,449 --> 00:02:12,880 وبالنسبة لمعظم هذه، حقيقة انه من قائمة مرتبطة مضاعف 47 00:02:12,880 --> 00:02:14,130 ليس حقا قفزة كبيرة. 48 00:02:14,130 --> 00:02:17,936 لا يزال بوسعنا البحث من خلال فقط عن طريق المضي قدما من البداية إلى النهاية. 49 00:02:17,936 --> 00:02:20,810 لا يزال بوسعنا أن إنشاء عقدة من العدم، الى حد كبير بنفس الطريقة. 50 00:02:20,810 --> 00:02:23,591 يمكننا حذف قوائم جميلة بنفس الطريقة أيضا. 51 00:02:23,591 --> 00:02:25,340 الأشياء الوحيدة التي تختلف بمهارة، 52 00:02:25,340 --> 00:02:28,970 حقا، تقوم بإدراج عقد جديدة إلى القائمة، 53 00:02:28,970 --> 00:02:33,722 وسوف نتحدث أخيرا عن حذف عنصر واحد من القائمة كذلك. 54 00:02:33,722 --> 00:02:35,430 مرة أخرى، الى حد كبير الثلاثة الأخرى، ونحن 55 00:02:35,430 --> 00:02:37,888 لن نتحدث عنهم الآن لأنهم فقط 56 00:02:37,888 --> 00:02:43,920 تعديلات صغيرة جدا على الأفكار التي نوقشت في القائمة مقطع الفيديو المرتبط منفردة. 57 00:02:43,920 --> 00:02:46,292 >> لذلك دعونا إدراج عقدة جديدة في قائمة مرتبطة على نحو مضاعف. 58 00:02:46,292 --> 00:02:48,750 تحدثنا عن القيام بذلك ل قوائم منفردة مرتبط ايضا، 59 00:02:48,750 --> 00:02:52,020 ولكن هناك بضعة اضافية أدرك مع القوائم المرتبطة على نحو مضاعف. 60 00:02:52,020 --> 00:02:55,280 كان [؟ يمر؟] في الرأس من قائمة هنا وبعض القيمة التعسفية، 61 00:02:55,280 --> 00:02:58,600 ونريد أن نحصل على رئيس جديد قائمة من هذه الوظيفة. 62 00:02:58,600 --> 00:03:01,414 هذا هو السبب في ذلك يعود نجم dllnode. 63 00:03:01,414 --> 00:03:02,330 فما هي الخطوات؟ 64 00:03:02,330 --> 00:03:04,496 هم، مرة أخرى، على غرار جدا إلى القوائم المرتبطة منفردة، 65 00:03:04,496 --> 00:03:05,670 مع واحد بالإضافة اضافية. 66 00:03:05,670 --> 00:03:08,900 نريد أن يخصص مساحة جديدة العقدة وتحقق للتأكد من انها صحيحة. 67 00:03:08,900 --> 00:03:11,510 نحن نريد لملء تلك العقدة يصل مع كل ما المعلومات التي 68 00:03:11,510 --> 00:03:12,564 نريد أن نضع في ذلك. 69 00:03:12,564 --> 00:03:15,480 آخر شيء نحتاج إلى do-- لل شيء إضافي يتعين علينا القيام به، rather-- 70 00:03:15,480 --> 00:03:19,435 هو لإصلاح المؤشر السابق من الرأس القديم من القائمة. 71 00:03:19,435 --> 00:03:21,310 تذكر أن ل قوائم مرتبطة على نحو مضاعف، 72 00:03:21,310 --> 00:03:23,110 يمكننا المضي قدما وbackwards-- التي 73 00:03:23,110 --> 00:03:27,080 يعني أن كل عقدة يشير الواقع إلى عقدتين أخرى بدلا من واحد فقط. 74 00:03:27,080 --> 00:03:29,110 ولذا فإننا بحاجة إلى إصلاح رئيس القديم من القائمة 75 00:03:29,110 --> 00:03:32,151 أن نشير إلى الوراء إلى الرئيس الجديد ل القائمة المرتبطة، والتي كان شيئا 76 00:03:32,151 --> 00:03:33,990 لم يكن لدينا لتفعل من قبل. 77 00:03:33,990 --> 00:03:37,420 وكما كان من قبل، ونحن فقط إرجاع المؤشر إلى الرئيس الجديد للقائمة. 78 00:03:37,420 --> 00:03:38,220 >> وحتى هنا قائمة. 79 00:03:38,220 --> 00:03:40,144 نحن نريد لادخال 12 الى هذه القائمة. 80 00:03:40,144 --> 00:03:42,060 لاحظ أن الرسم البياني يختلف قليلا. 81 00:03:42,060 --> 00:03:47,710 تحتوي كل عقدة ثلاثة fields-- البيانات، ومؤشر التالي باللون الأحمر، 82 00:03:47,710 --> 00:03:50,170 والمؤشر السابق في الزرقاء. 83 00:03:50,170 --> 00:03:54,059 لا شيء يأتي قبل العقدة 15، لذلك المؤشر في السابق لاغيا. 84 00:03:54,059 --> 00:03:55,350 انها بداية القائمة. 85 00:03:55,350 --> 00:03:56,560 لا يوجد شيء قبل ذلك. 86 00:03:56,560 --> 00:04:03,350 ولا شيء يأتي بعد عقدة 10، و لذلك فمن المؤشر التالي باطل أيضا. 87 00:04:03,350 --> 00:04:05,616 >> لذلك دعونا نضيف 12 إلى هذه القائمة. 88 00:04:05,616 --> 00:04:08,070 نحتاج [غير مسموع] مساحة للعقدة. 89 00:04:08,070 --> 00:04:11,480 وضعنا 12 داخل منه. 90 00:04:11,480 --> 00:04:14,840 ثم مرة أخرى، ونحن بحاجة إلى أن نكون حقا الحرص على عدم كسر السلسلة. 91 00:04:14,840 --> 00:04:17,144 نحن نريد لإعادة ترتيب مؤشرات بالترتيب الصحيح. 92 00:04:17,144 --> 00:04:19,519 وأحيانا قد يعني- كما سنرى لا سيما 93 00:04:19,519 --> 00:04:24,120 مع delete-- أن لدينا بعض مؤشرات زائدة عن الحاجة، ولكن هذا موافق. 94 00:04:24,120 --> 00:04:25,750 >> وذلك ما نريد أن نقوم به أولا؟ 95 00:04:25,750 --> 00:04:28,290 أود أن أوصي الأشياء التي ينبغي على الارجح 96 00:04:28,290 --> 00:04:35,350 تفعل هي لملء مؤشرات من أصل 12 العقدة قبل لمس أي شخص آخر. 97 00:04:35,350 --> 00:04:38,640 فما هو 12 الذهاب للإشارة إلى الخطوة التالية؟ 98 00:04:38,640 --> 00:04:39,860 15. 99 00:04:39,860 --> 00:04:42,430 ما يأتي قبل 12؟ 100 00:04:42,430 --> 00:04:43,640 لا شى. 101 00:04:43,640 --> 00:04:46,280 الآن لقد ملأت معلومات إضافية في 12 102 00:04:46,280 --> 00:04:49,320 لذلك فقد السابق، التالي، وقيمة. 103 00:04:49,320 --> 00:04:53,505 >> ونحن الآن يمكن أن يكون 15-- هذا اضافية خطوة كنا نتحدث about-- نحن 104 00:04:53,505 --> 00:04:56,590 يمكن أن يكون 15 نقطة إلى 12. 105 00:04:56,590 --> 00:04:59,634 والآن يمكننا نقل رئيس قائمة مرتبطة يكون أيضا 12. 106 00:04:59,634 --> 00:05:02,550 لذلك فمن مشابهة جدا لما نحن كانوا يفعلون مع القوائم المرتبطة منفردة، 107 00:05:02,550 --> 00:05:06,940 باستثناء خطوة اضافية من ربط رئيس القديم من القائمة 108 00:05:06,940 --> 00:05:09,810 إلى الرئيس الجديد للقائمة. 109 00:05:09,810 --> 00:05:12,170 >> الآن دعونا حذف أخيرا عقدة من قائمة مرتبطة. 110 00:05:12,170 --> 00:05:14,350 لذلك دعونا نقول لدينا بعض الوظائف الأخرى التي 111 00:05:14,350 --> 00:05:18,080 تم العثور على عقدة نريد أن حذف وأعطانا مؤشر بالضبط 112 00:05:18,080 --> 00:05:19,710 العقدة التي نريد حذفها. 113 00:05:19,710 --> 00:05:22,360 نحن حتى لا need-- يقول لا يزال أعلن رئيس عالميا. 114 00:05:22,360 --> 00:05:23,590 نحن لسنا بحاجة الرأس هنا. 115 00:05:23,590 --> 00:05:26,830 كل هذه الوظيفة تقوم به هو أننا قمت وجدت مؤشر بالضبط نحن العقدة 116 00:05:26,830 --> 00:05:28,090 يريدون التخلص من. 117 00:05:28,090 --> 00:05:28,940 دعونا نتخلص منه. 118 00:05:28,940 --> 00:05:31,859 انها أسهل كثيرا مع قوائم مضاعف مرتبطة. 119 00:05:31,859 --> 00:05:33,650 First-- انها فعلا فقط بضعة أشياء. 120 00:05:33,650 --> 00:05:38,760 نحن بحاجة فقط لإصلاح المحيطة مؤشرات العقد 'بحيث تجاوز 121 00:05:38,760 --> 00:05:40,240 عقدة نريد حذفه. 122 00:05:40,240 --> 00:05:43,484 ومن ثم يمكننا حذف هذه العقدة. 123 00:05:43,484 --> 00:05:45,150 ذلك مرة أخرى، ونحن مجرد الذهاب من هنا. 124 00:05:45,150 --> 00:05:49,625 لقد قررت على ما يبدو أن نحن نريد لحذف X. العقدة 125 00:05:49,625 --> 00:05:51,500 ومرة أخرى، ما أنا القيام here-- من قبل way-- 126 00:05:51,500 --> 00:05:54,580 هو الحالة العامة ل العقدة التي هي في الوسط. 127 00:05:54,580 --> 00:05:56,547 هناك بضع المحاذير الإضافية التي 128 00:05:56,547 --> 00:05:59,380 تحتاج إلى النظر عندما كنت حذف البداية من القائمة 129 00:05:59,380 --> 00:06:01,040 أو النهاية من القائمة. 130 00:06:01,040 --> 00:06:03,730 هناك بضعة الخاصة الحالات الزاوية للتعامل مع وجود. 131 00:06:03,730 --> 00:06:07,960 >> لذلك هذا يعمل لحذف أي عقدة في وسط واحد list-- أن 132 00:06:07,960 --> 00:06:11,550 لديه مؤشر الشرعي إلى الأمام ومؤشر الشرعي الخلف، 133 00:06:11,550 --> 00:06:14,460 الشرعي السابق والتالي المؤشر. 134 00:06:14,460 --> 00:06:16,530 مرة أخرى، إذا كنت تعمل مع نهايات، ل 135 00:06:16,530 --> 00:06:18,500 تحتاج إلى معالجة تلك بشكل مختلف قليلا، 136 00:06:18,500 --> 00:06:19,570 ونحن لن الحديث عن ذلك الآن. 137 00:06:19,570 --> 00:06:21,319 ولكن يمكنك على الأرجح معرفة ما يحتاج 138 00:06:21,319 --> 00:06:24,610 إلى أن يتم فقط من خلال مشاهدة هذا الفيديو. 139 00:06:24,610 --> 00:06:28,910 >> لذلك قمنا معزولة اكس X هو العقدة نريد أن حذف من القائمة. 140 00:06:28,910 --> 00:06:30,140 ماذا نفعل؟ 141 00:06:30,140 --> 00:06:32,800 أولا، نحن بحاجة إلى إعادة ترتيب المؤشرات الخارجية. 142 00:06:32,800 --> 00:06:35,815 نحن بحاجة إلى إعادة ترتيب بجوار 9 لتخطي 13 143 00:06:35,815 --> 00:06:38,030 وأشر إلى 10-- التي ما فعلناه للتو. 144 00:06:38,030 --> 00:06:41,180 ونحن بحاجة إلى أيضا إعادة ترتيب السابق 10 ل 145 00:06:41,180 --> 00:06:44,610 للإشارة إلى 9 بدلا من الإشارة إلى 13. 146 00:06:44,610 --> 00:06:46,490 >> ذلك مرة أخرى، وكان هذا الرسم البياني لتبدأ. 147 00:06:46,490 --> 00:06:47,730 كانت هذه السلسلة لدينا. 148 00:06:47,730 --> 00:06:51,027 نحن بحاجة إلى تخطي أكثر من 13، ولكن يتعين علينا أن نحافظ أيضا 149 00:06:51,027 --> 00:06:52,110 سلامة القائمة. 150 00:06:52,110 --> 00:06:54,680 نحن لا نريد أن نخسر أي المعلومات الواردة في أي من الاتجاهين. 151 00:06:54,680 --> 00:06:59,620 لذلك نحن بحاجة إلى إعادة ترتيب مؤشرات بعناية 152 00:06:59,620 --> 00:07:02,240 لذلك نحن لا كسر سلسلة على الإطلاق. 153 00:07:02,240 --> 00:07:05,710 >> لذا يمكننا القول 9 في المؤشر التالي يشير إلى نفس المكان 154 00:07:05,710 --> 00:07:08,040 أن ثلاثة عشر من التالي يشير مؤشر في الوقت الحالي. 155 00:07:08,040 --> 00:07:10,331 لأننا في نهاية المطاف تريد الذهاب الى تخطي أكثر من 13. 156 00:07:10,331 --> 00:07:13,750 لذلك أينما 13 نقطة المقبل، كنت أريد أن أشير تسعة هناك بدلا من ذلك. 157 00:07:13,750 --> 00:07:15,200 حتى أن ذلك. 158 00:07:15,200 --> 00:07:20,370 ثم أينما 13 نقطة العودة ل، كل ما يأتي قبل 13، 159 00:07:20,370 --> 00:07:24,800 نريد أن نشير 10 لأنه بدلا من 13. 160 00:07:24,800 --> 00:07:29,290 لاحظ الآن، إذا كنت تتبع الأسهم، يمكننا إسقاط 13 161 00:07:29,290 --> 00:07:32,380 دون أن تفقد في الواقع أي معلومات. 162 00:07:32,380 --> 00:07:36,002 لقد حافظت على سلامة القائمة، تتحرك إلى الأمام وإلى الخلف. 163 00:07:36,002 --> 00:07:38,210 ومن ثم يمكننا مجرد نوع من تنظيفه قليلا 164 00:07:38,210 --> 00:07:40,930 عن طريق سحب القائمة معا. 165 00:07:40,930 --> 00:07:43,270 لذلك نحن ترتيبها مؤشرات على أي من الجانبين. 166 00:07:43,270 --> 00:07:46,231 وبعد ذلك سراح X ل العقدة التي تحتوي على 13، 167 00:07:46,231 --> 00:07:47,480 ونحن لم يكسر السلسلة. 168 00:07:47,480 --> 00:07:50,980 وهكذا فعلنا جيدة. 169 00:07:50,980 --> 00:07:53,000 >> ملاحظة أخيرة هنا على القوائم المرتبطة. 170 00:07:53,000 --> 00:07:55,990 لذلك كل من singly- وربطها مضاعف القوائم، كما رأينا، 171 00:07:55,990 --> 00:07:58,959 دعم الإدراج فعال حقا وحذف العناصر. 172 00:07:58,959 --> 00:08:00,750 يمكنك القيام الى حد كبير في وقت ثابت. 173 00:08:00,750 --> 00:08:03,333 ماذا علينا أن نفعل لحذف عنصر ثانية فقط قبل؟ 174 00:08:03,333 --> 00:08:04,440 انتقلنا مؤشر واحد. 175 00:08:04,440 --> 00:08:05,920 انتقلنا مؤشر آخر. 176 00:08:05,920 --> 00:08:07,915 نحن اطلاق سراح تولى X-- ثلاث عمليات. 177 00:08:07,915 --> 00:08:14,500 أنه يأخذ دائما ثلاث عمليات ل حذف هذا node-- لتحرير عقدة. 178 00:08:14,500 --> 00:08:15,280 >> كيف يمكننا إدراج؟ 179 00:08:15,280 --> 00:08:17,280 حسنا، نحن فقط دائما تغير اتجاهها على بداية 180 00:08:17,280 --> 00:08:19,400 إذا نحن إدخال بكفاءة. 181 00:08:19,400 --> 00:08:21,964 لذلك نحن بحاجة إلى rearrange-- اعتمادا على ما اذا كان 182 00:08:21,964 --> 00:08:24,380 وsingly- أو مرتبطة مضاعف القائمة، ونحن قد تحتاج إلى القيام بثلاثة 183 00:08:24,380 --> 00:08:26,824 أو كحد أقصى أربع عمليات. 184 00:08:26,824 --> 00:08:28,365 ولكن مرة أخرى، وانها دائما ثلاثة أو أربعة. 185 00:08:28,365 --> 00:08:30,531 لا يهم كم عدد العناصر هي في قائمتنا، 186 00:08:30,531 --> 00:08:33,549 انها دائما ثلاثة أو أربعة operations-- تماما مثل الحذف دائما 187 00:08:33,549 --> 00:08:35,320 ثلاث أو أربع عمليات. 188 00:08:35,320 --> 00:08:36,919 حان الوقت المستمر. 189 00:08:36,919 --> 00:08:38,169 لذلك هذا أمر عظيم حقا. 190 00:08:38,169 --> 00:08:40,620 >> مع المصفوفات، كنا نفعل شيء من هذا القبيل الإدراج النوع. 191 00:08:40,620 --> 00:08:44,739 وربما كنت أذكر أن الإدراج النوع ليس خوارزمية الوقت ثابتة. 192 00:08:44,739 --> 00:08:46,030 انها في الواقع مكلفة جدا. 193 00:08:46,030 --> 00:08:48,840 لذلك هذا هو أفضل كثيرا لإدراج. 194 00:08:48,840 --> 00:08:51,840 ولكن كما ذكرت في قائمة الفيديو المرتبطة منفردة، 195 00:08:51,840 --> 00:08:54,030 لقد حصلت على الجانب السلبي هنا أيضا، أليس كذلك؟ 196 00:08:54,030 --> 00:08:57,580 لقد فقدنا القدرة على الوصول بشكل عشوائي العناصر. 197 00:08:57,580 --> 00:09:02,310 لا نستطيع أن نقول، أريد العنصر رقم أربعة أو العنصر رقم 10 من قائمة مرتبطة 198 00:09:02,310 --> 00:09:04,990 بنفس الطريقة ما في وسعنا تفعل ذلك مع مجموعة 199 00:09:04,990 --> 00:09:08,630 أو نستطيع مجرد مؤشر مباشرة في العنصر لدينا المصفوفة. 200 00:09:08,630 --> 00:09:10,930 >> وذلك في محاولة للعثور على عنصر في list-- مرتبطة 201 00:09:10,930 --> 00:09:15,880 إذا كان البحث هو important-- قد يستغرق وقتا طويلا الآن الخطي. 202 00:09:15,880 --> 00:09:18,330 كما يحصل قائمة لفترة أطول، فإنه قد يستغرق خطوة إضافية واحدة 203 00:09:18,330 --> 00:09:22,644 لكل عنصر واحد في القائمة في أجل العثور على ما نبحث عنه. 204 00:09:22,644 --> 00:09:23,560 ولذلك لا يوجد المفاضلة. 205 00:09:23,560 --> 00:09:25,780 هناك قليلا من مؤيد والعنصر يخدع هنا. 206 00:09:25,780 --> 00:09:29,110 >> والقوائم المرتبطة على نحو مضاعف ليست هي النوع الأخير من مزيج بنية البيانات 207 00:09:29,110 --> 00:09:32,840 التي سنتحدث عنها، اتخاذ جميع المبنى الأساسي 208 00:09:32,840 --> 00:09:34,865 كتل من C إلى وضع معا. 209 00:09:34,865 --> 00:09:37,900 لأنه في الحقيقة، يمكننا حتى نفعل ما هو أفضل من هذا 210 00:09:37,900 --> 00:09:41,970 لإنشاء بنية البيانات التي كنت قد تكون قادرة على البحث عن طريق 211 00:09:41,970 --> 00:09:43,360 في وقت ثابت للغاية. 212 00:09:43,360 --> 00:09:46,080 ولكن أكثر على ذلك في شريط فيديو اخر. 213 00:09:46,080 --> 00:09:47,150 >> أنا دوغ ويد. 214 00:09:47,150 --> 00:09:49,050 هذا هو CS50. 215 00:09:49,050 --> 00:09:50,877