1 00:00:07,720 --> 00:00:10,950 [Powered by Google Translate] شما احتمالا شنیده مردم صحبت در مورد یک الگوریتم سریع و کارآمد 2 00:00:10,950 --> 00:00:13,090 برای اجرای وظیفه خاص خود را، 3 00:00:13,090 --> 00:00:16,110 اما آنچه که دقیقا می کند آن را برای یک الگوریتم سریع و کارآمد چیست؟ 4 00:00:16,110 --> 00:00:18,580 خوب، آن را در مورد اندازه گیری را در زمان واقعی صحبت نمی کنم، 5 00:00:18,580 --> 00:00:20,500 مثل ثانیه یا دقیقه. 6 00:00:20,500 --> 00:00:22,220 دلیل این است که سخت افزار کامپیوتر 7 00:00:22,220 --> 00:00:24,260 و نرم افزار به شدت متفاوت است. 8 00:00:24,260 --> 00:00:26,020 برنامه ممکن است اجرای آهسته تر از مال شما، 9 00:00:26,020 --> 00:00:28,000 چون من آن را در حال اجرا بر روی یک کامپیوتر قدیمی تر 10 00:00:28,000 --> 00:00:30,110 و یا به خاطر اینکه من اتفاق می افتد به بازی بازی های ویدئویی آنلاین 11 00:00:30,110 --> 00:00:32,670 در همان زمان، که خمیدگی تمام حافظه من، 12 00:00:32,670 --> 00:00:35,400 و یا ممکن است در حال اجرا برنامه از طریق نرم افزار های مختلف 13 00:00:35,400 --> 00:00:37,550 که ارتباط با دستگاه در سطح پایین متفاوت است. 14 00:00:37,550 --> 00:00:39,650 این مثل مقایسه سیب و پرتقال است. 15 00:00:39,650 --> 00:00:41,940 فقط به خاطر کندتر کامپیوتر من طول می کشد 16 00:00:41,940 --> 00:00:43,410 از مال شما را به جواب 17 00:00:43,410 --> 00:00:45,510 به این معنا نیست که شما باید الگوریتم کارآمد تر. 18 00:00:45,510 --> 00:00:48,830 >> بنابراین، از آنجایی که ما به طور مستقیم نمی تواند مقایسه زمان های اجرا از برنامه ها 19 00:00:48,830 --> 00:00:50,140 در عرض چند ثانیه یا چند دقیقه، 20 00:00:50,140 --> 00:00:52,310 چگونه 2 الگوریتم های مختلف را با هم مقایسه کرد 21 00:00:52,310 --> 00:00:55,030 صرف نظر از سخت افزار خود و یا محیط نرم افزاری؟ 22 00:00:55,030 --> 00:00:58,000 برای ایجاد یک راه یکنواخت تر از اندازه گیری بهره وری الگوریتم، 23 00:00:58,000 --> 00:01:00,360 دانشمندان کامپیوتر و ریاضی ابداع کرده اند 24 00:01:00,360 --> 00:01:03,830 مفاهیم برای اندازه گیری پیچیدگی یک الگوریتم 25 00:01:03,830 --> 00:01:06,110 و نماد به نام 'بزرگ Ohnotation' 26 00:01:06,110 --> 00:01:08,320 برای توصیف این. 27 00:01:08,320 --> 00:01:10,820 تعریف رسمی این است که یک تابع f (x) 28 00:01:10,820 --> 00:01:13,390 قابل اجرا بر روی منظور از G (X) 29 00:01:13,390 --> 00:01:15,140 اگر وجود دارد برخی از ارزش (x) وجود دارد، X ₀ و 30 00:01:15,140 --> 00:01:17,630 برخی از ثابت، C، که 31 00:01:17,630 --> 00:01:19,340 F (x) کمتر از یا مساوی با 32 00:01:19,340 --> 00:01:21,230 که بار ثابت G (x) 33 00:01:21,230 --> 00:01:23,190 برای تمام x های بزرگتر از X ₀. 34 00:01:23,190 --> 00:01:25,290 >> اما نمی شود تعریف رسمی دور می ترسم. 35 00:01:25,290 --> 00:01:28,020 چه این در واقع در کمتر قوانین و مقررات نظری چیست؟ 36 00:01:28,020 --> 00:01:30,580 خوب، آن را اساسا یک روش تجزیه و تحلیل 37 00:01:30,580 --> 00:01:33,580 با چه سرعتی در زمان اجرا یک برنامه مجانبی رشد می کند. 38 00:01:33,580 --> 00:01:37,170 این است که، به عنوان اندازه از ورودی های خود را به سمت بی نهایت افزایش می یابد، 39 00:01:37,170 --> 00:01:41,390 می گویند، شما در حال مرتب سازی یک آرایه از اندازه 1000 در مقایسه به آرایه ای از اندازه 10. 40 00:01:41,390 --> 00:01:44,950 زمان اجرای برنامه خود را چگونه رشد می کنند؟ 41 00:01:44,950 --> 00:01:47,390 به عنوان مثال، تصور کنید که شمارش تعدادی از شخصیت های 42 00:01:47,390 --> 00:01:49,350 در یک رشته ساده ترین راه 43 00:01:49,350 --> 00:01:51,620  با راه رفتن را از طریق تمام رشته 44 00:01:51,620 --> 00:01:54,790 نامه های نامه و اضافه کردن 1 به یک شمارنده برای هر یک از شخصیت. 45 00:01:55,700 --> 00:01:58,420 گفته شده است که این الگوریتم را در زمان خطی اجرا 46 00:01:58,420 --> 00:02:00,460 با توجه به تعدادی از شخصیت های، 47 00:02:00,460 --> 00:02:02,670 'N' در رشته. 48 00:02:02,670 --> 00:02:04,910 به طور خلاصه، آن را در O (N) را اجرا می کند. 49 00:02:05,570 --> 00:02:07,290 چرا این است که است؟ 50 00:02:07,290 --> 00:02:09,539 خوب، با استفاده از این روش، زمان مورد نیاز 51 00:02:09,539 --> 00:02:11,300 برای گذشتن از تمام رشته 52 00:02:11,300 --> 00:02:13,920 متناسب با تعداد حروف است. 53 00:02:13,920 --> 00:02:16,480 شمارش تعداد کاراکتر در یک رشته 20 کاراکتری 54 00:02:16,480 --> 00:02:18,580 رفتن را به دو برابر زمانی که آن را طول می کشد 55 00:02:18,580 --> 00:02:20,330 به تعداد کاراکتر در یک رشته 10 کاراکتری، 56 00:02:20,330 --> 00:02:23,000 دلیل این که شما را در تمام شخصیت های 57 00:02:23,000 --> 00:02:25,740 و هر یک از شخصیت طول می کشد همان مقدار از وقت را به نگاه در. 58 00:02:25,740 --> 00:02:28,050 همانطور که تعدادی از کاراکتر ها افزایش می یابد، 59 00:02:28,050 --> 00:02:30,950 در زمان اجرا به صورت خطی با افزایش طول ورودی. 60 00:02:30,950 --> 00:02:33,500 >> در حال حاضر، تصور کنید اگر شما تصمیم می گیرید که زمان خطی، 61 00:02:33,500 --> 00:02:36,390 O (N)، فقط به اندازه کافی سریع برای شما نیست؟ 62 00:02:36,390 --> 00:02:38,750 شاید شما ذخیره سازی رشته های بزرگ، 63 00:02:38,750 --> 00:02:40,450 و شما می توانید زمان بیشتری آن را انجام دهید را ندارند 64 00:02:40,450 --> 00:02:44,000 برای گذشتن از همه از شخصیت های خود را شمارش یک و یک. 65 00:02:44,000 --> 00:02:46,650 بنابراین، شما تصمیم می گیرید سعی کنید چیزی متفاوت است. 66 00:02:46,650 --> 00:02:49,270 چه می شود اگر شما اتفاق می افتد را به تعدادی از شخصیت های در حال حاضر ذخیره 67 00:02:49,270 --> 00:02:52,690 در رشته، می گویند، در یک متغیر به نام «لن، 68 00:02:52,690 --> 00:02:54,210 در اوایل برنامه، 69 00:02:54,210 --> 00:02:57,800 قبل از اینکه شما حتی شخصیت بسیار برای اولین بار در رشته خود را ذخیره می شود؟ 70 00:02:57,800 --> 00:02:59,980 سپس، همه شما می خواهم که برای انجام این کار در حال حاضر برای پیدا کردن طول رشته در 71 00:02:59,980 --> 00:03:02,570 است بررسی کنید چه مقدار متغیر است. 72 00:03:02,570 --> 00:03:05,530 شما نمی خواهد که به رشته خود را در تمام نگاه، 73 00:03:05,530 --> 00:03:08,160 و دسترسی به مقدار یک متغیر مانند لن در نظر گرفته شده است 74 00:03:08,160 --> 00:03:11,100 زمان عمل مجانبی ثابت، 75 00:03:11,100 --> 00:03:13,070 O (1) است. 76 00:03:13,070 --> 00:03:17,110 چرا این است که است؟ خب، به یاد داشته باشید آنچه که پیچیدگی مجانبی به این معنی است. 77 00:03:17,110 --> 00:03:19,100 چگونه تغییر می کند در زمان اجرا به عنوان اندازه 78 00:03:19,100 --> 00:03:21,400 ورودی شما رشد می کند؟ 79 00:03:21,400 --> 00:03:24,630 >> می گویند شما که در تلاش برای بدست آوردن تعداد کاراکتر در یک رشته بزرگتر است. 80 00:03:24,630 --> 00:03:26,960 خوب، آن را نمی خواهد مهم نیست چقدر بزرگ شما را به رشته، 81 00:03:26,960 --> 00:03:28,690 حتی یک میلیون کاراکتر، 82 00:03:28,690 --> 00:03:31,150 همه شما می خواهم که برای انجام این کار برای پیدا کردن طول رشته را با این رویکرد، 83 00:03:31,150 --> 00:03:33,790 برای خواندن مقدار متغیر لن، 84 00:03:33,790 --> 00:03:35,440 که شما در حال حاضر ساخته شده است. 85 00:03:35,440 --> 00:03:38,200 طول ورودی است، که، طول رشته شما در حال تلاش برای پیدا کردن، 86 00:03:38,200 --> 00:03:41,510 چگونه سریع برنامه خود را اجرا می کند تاثیر نمی گذارد. 87 00:03:41,510 --> 00:03:44,550 این بخشی از برنامه های خود را اجرا کنید به همان اندازه سرعت بر روی یک رشته از یک شخصیت 88 00:03:44,550 --> 00:03:46,170 و یک هزار کاراکتر رشته، 89 00:03:46,170 --> 00:03:49,140 و به همین دلیل این برنامه را می توان به عنوان در حال اجرا در زمان ثابت می گویند 90 00:03:49,140 --> 00:03:51,520 با توجه به اندازه ورودی است. 91 00:03:51,520 --> 00:03:53,920 >> البته، یک نقطه ضعف وجود دارد. 92 00:03:53,920 --> 00:03:55,710 شما صرف فضای حافظه اضافی بر روی کامپیوتر شما 93 00:03:55,710 --> 00:03:57,380 ذخیره سازی متغیر 94 00:03:57,380 --> 00:03:59,270 و زمان اضافی آن را به شما قرار می گیرد 95 00:03:59,270 --> 00:04:01,490 برای انجام ذخیره سازی واقعی متغیر، 96 00:04:01,490 --> 00:04:03,390 اما نکته هنوز هم می ایستد، 97 00:04:03,390 --> 00:04:05,060 پیدا کردن چه مدت طول رشته شما 98 00:04:05,060 --> 00:04:07,600 در طول رشته در همه بستگی ندارد. 99 00:04:07,600 --> 00:04:10,720 بنابراین، آن را در O (1) و یا زمان ثابت اجرا می شود. 100 00:04:10,720 --> 00:04:13,070 این قطعا به این معنا نیست 101 00:04:13,070 --> 00:04:15,610 که کد شما را اجرا می کند در 1 مرحله، 102 00:04:15,610 --> 00:04:17,470 اما مهم نیست که چگونه بسیاری از مراحل آن است، 103 00:04:17,470 --> 00:04:20,019 اگر آن را با اندازه ورودی را تغییر دهید، 104 00:04:20,019 --> 00:04:23,420 آن هنوز مجانبی ثابت است که ما به عنوان O (1) نشان دهنده. 105 00:04:23,420 --> 00:04:25,120 >> همانطور که شما احتمالا می توانید حدس بزنید، 106 00:04:25,120 --> 00:04:27,940 های مختلف از زمان های اجرا O بزرگ برای اندازه گیری الگوریتم با وجود دارد. 107 00:04:27,940 --> 00:04:32,980 O (n) ² الگوریتم های مجانبی کندتر از O (n) الگوریتم است. 108 00:04:32,980 --> 00:04:35,910 این است که، به عنوان تعدادی از عناصر (N) رشد می کند، 109 00:04:35,910 --> 00:04:39,280 در نهایت O (N) ² الگوریتم های زمان بیشتری را 110 00:04:39,280 --> 00:04:41,000 از الگوریتم O (n) را اجرا کنند. 111 00:04:41,000 --> 00:04:43,960 این به این معنا نیست که الگوریتم O (n) همیشه اجرای سریع تر 112 00:04:43,960 --> 00:04:46,410 از O (n) ² الگوریتم، حتی در همان محیط، 113 00:04:46,410 --> 00:04:48,080 در همان سخت افزار است. 114 00:04:48,080 --> 00:04:50,180 شاید برای اندازه ورودی کوچک، 115 00:04:50,180 --> 00:04:52,900  O (n) ² الگوریتم در واقع ممکن است سریعتر کار می کنند، 116 00:04:52,900 --> 00:04:55,450 اما، در نهایت، به عنوان اندازه ورودی را افزایش می دهد 117 00:04:55,450 --> 00:04:58,760 به سمت بی نهایت، زمان اجرا O (N) الگوریتم ² 118 00:04:58,760 --> 00:05:02,000 در نهایت در زمان اجرا از الگوریتم O (N) را تحت الشعاع قرار. 119 00:05:02,000 --> 00:05:04,230 درست مانند هر تابع درجه دوم ریاضی 120 00:05:04,230 --> 00:05:06,510  سرانجام سبقت گرفتن هر تابع خطی، 121 00:05:06,510 --> 00:05:09,200 هیچ مهم نیست که چه مقدار از سر شروع تابع خطی شروع می شود. 122 00:05:10,010 --> 00:05:12,000 اگر شما در حال کار با مقادیر زیادی از داده ها، 123 00:05:12,000 --> 00:05:15,510 الگوریتم که در O (N) زمان ² واقعا می تواند تا پایان کاستن از سرعت برنامه های خود را، 124 00:05:15,510 --> 00:05:17,770 اما برای اندازه ورودی کوچک، 125 00:05:17,770 --> 00:05:19,420 شما احتمالا حتی توجه نکردین. 126 00:05:19,420 --> 00:05:21,280 >> یکی دیگر از پیچیدگی مجانبی است، 127 00:05:21,280 --> 00:05:24,420 لگاریتمی زمان، O (log n است). 128 00:05:24,420 --> 00:05:26,340 نمونه ای از یک الگوریتم اجرا می شود که این سرعت 129 00:05:26,340 --> 00:05:29,060 کلاسیک الگوریتم جستجوی دودویی، 130 00:05:29,060 --> 00:05:31,850 برای پیدا کردن یک عنصر در یک لیست در حال حاضر مرتب شده از عناصر. 131 00:05:31,850 --> 00:05:33,400 >> اگر شما نمی دانید که چه دودویی جستجو می کند، 132 00:05:33,400 --> 00:05:35,170 من آن را برای شما توضیح داده واقعا به سرعت. 133 00:05:35,170 --> 00:05:37,020 بیایید می گویند شما دنبال آن هستید را برای شماره 3 134 00:05:37,020 --> 00:05:40,200 در این آرایه ای از اعداد صحیح است. 135 00:05:40,200 --> 00:05:42,140 آن را در عنصر وسط آرایه به نظر می رسد 136 00:05:42,140 --> 00:05:46,830 و می پرسد، "آیا عنصر من می خواهم بیشتر از، برابر، و یا کمتر از این است؟" 137 00:05:46,830 --> 00:05:49,150 اگر آن برابر است، پس از آن بزرگ است. شما را در بر داشت این عنصر، و شما انجام می شود. 138 00:05:49,150 --> 00:05:51,300 اگر آن را بیشتر، و سپس شما می دانید این عنصر 139 00:05:51,300 --> 00:05:53,440 در سمت راست از آرایه باشد، 140 00:05:53,440 --> 00:05:55,200 و شما فقط می توانید در آن در آینده نگاه کنید، 141 00:05:55,200 --> 00:05:57,690 و اگر آن را کوچکتر، و سپس شما می دانید آن را به در سمت چپ باشد. 142 00:05:57,690 --> 00:06:00,980 این فرایند پس از آن با آرایه های کوچکتر به اندازه تکرار 143 00:06:00,980 --> 00:06:02,870 تا زمانی که این عنصر درست می شود. 144 00:06:08,080 --> 00:06:11,670 >> این الگوریتم قدرتمند کاهش اندازه آرایه در نصف با هر عمل است. 145 00:06:11,670 --> 00:06:14,080 بنابراین، برای پیدا کردن یک عنصر در یک آرایه مرتب از اندازه 8، 146 00:06:14,080 --> 00:06:16,170 در اکثر (ورود ₂ 8) 147 00:06:16,170 --> 00:06:18,450 یا 3 از این عملیات، 148 00:06:18,450 --> 00:06:22,260 بررسی عنصر میانی، و سپس برش آرایه در نصف خواهد شد. 149 00:06:22,260 --> 00:06:25,670 در حالی که یک آرایه از اندازه 16 طول می کشد (ورود ₂ 16) 150 00:06:25,670 --> 00:06:27,480 یا 4 عملیات. 151 00:06:27,480 --> 00:06:30,570 که فقط 1 عمل بیشتر برای یک آرایه دو برابر اندازه. 152 00:06:30,570 --> 00:06:32,220 دو برابر اندازه آرایه 153 00:06:32,220 --> 00:06:35,160 زمان اجرا را افزایش می دهد توسط تنها 1 تکه از این کد. 154 00:06:35,160 --> 00:06:37,770 دوباره، چک کردن عنصر وسط لیست، پس از آن تقسیم است. 155 00:06:37,770 --> 00:06:40,440 بنابراین، این گفت: در زمان لگاریتمی عمل، 156 00:06:40,440 --> 00:06:42,440 O (ورود N). 157 00:06:42,440 --> 00:06:44,270 اما صبر کنید، به شما می گویند، 158 00:06:44,270 --> 00:06:47,510 آیا این بستگی دارد که در لیست این عنصر است که شما به دنبال آن هستید؟ 159 00:06:47,510 --> 00:06:50,090 اگر اولین عنصر در نگاه اتفاق می افتد که یکی از سمت راست است؟ 160 00:06:50,090 --> 00:06:52,040 سپس، آن را تنها طول می کشد 1 عملیات، 161 00:06:52,040 --> 00:06:54,310 مهم نیست چقدر بزرگ لیست می باشد. 162 00:06:54,310 --> 00:06:56,310 >> خب، به همین دلیل است که دانشمندان کامپیوتر قوانین و مقررات 163 00:06:56,310 --> 00:06:58,770 پیچیدگی مجانبی است که منعکس کننده بهترین حالت 164 00:06:58,770 --> 00:07:01,050 و بدترین حالت اجرای الگوریتم. 165 00:07:01,050 --> 00:07:03,320 به درستی، از مرزهای بالایی و پایینی 166 00:07:03,320 --> 00:07:05,090 در زمان اجرا است. 167 00:07:05,090 --> 00:07:07,660 در بهترین حالت برای جستجوی دودویی عنصر ما 168 00:07:07,660 --> 00:07:09,330 درست در وسط وجود دارد، 169 00:07:09,330 --> 00:07:11,770 و شما آن را در زمان ثابت، 170 00:07:11,770 --> 00:07:14,240 مهم نیست چقدر بزرگ بقیه از آرایه است. 171 00:07:15,360 --> 00:07:17,650 نماد مورد استفاده برای این Ω است. 172 00:07:17,650 --> 00:07:19,930 بنابراین، این الگوریتم گفته شده است به اجرا در Ω (1). 173 00:07:19,930 --> 00:07:21,990 در بهترین حالت آن را پیدا کرد، این عنصر به سرعت، 174 00:07:21,990 --> 00:07:24,200 مهم نیست چقدر بزرگ آرایه، 175 00:07:24,200 --> 00:07:26,050 اما در بدترین حالت، 176 00:07:26,050 --> 00:07:28,690 آن را به انجام (ورود N) تقسیم چک 177 00:07:28,690 --> 00:07:31,030 از آرایه به پیدا کردن عنصر سمت راست است. 178 00:07:31,030 --> 00:07:34,270 بدترین حالت بالای مرزهای بزرگ "O" است که شما در حال حاضر می دانیم نامیده می شود. 179 00:07:34,270 --> 00:07:38,080 بنابراین، آن O (log n است)، اما Ω (1) است. 180 00:07:38,080 --> 00:07:40,680 >> جستجو خطی در مقابل، 181 00:07:40,680 --> 00:07:43,220 که در آن شما را از طریق هر عنصر از آرایه به راه رفتن 182 00:07:43,220 --> 00:07:45,170 برای پیدا کردن یکی از شما می خواهم، 183 00:07:45,170 --> 00:07:47,420 در بهترین حالت Ω (1). 184 00:07:47,420 --> 00:07:49,430 باز هم، اولین عنصری است که شما می خواهید. 185 00:07:49,430 --> 00:07:51,930 بنابراین، مهم نیست که چقدر بزرگ آرایه است. 186 00:07:51,930 --> 00:07:54,840 در بدترین حالت، آن است که آخرین عنصر در آرایه. 187 00:07:54,840 --> 00:07:58,560 بنابراین، شما باید راه رفتن را از طریق تمام عناصر ازت در آرایه به آن را پیدا کنید، 188 00:07:58,560 --> 00:08:02,170 دوست دارم اگر از 3 به دنبال شد. 189 00:08:04,320 --> 00:08:06,030 بنابراین، آن را در O (n) مدت زمان اجرا می شود 190 00:08:06,030 --> 00:08:09,330 به دلیل آن متناسب با تعداد عناصر موجود در آرایه. 191 00:08:10,800 --> 00:08:12,830 >> یکی دیگر از نماد استفاده شده است Θ. 192 00:08:12,830 --> 00:08:15,820 این را می توان مورد استفاده قرار گیرد برای توصیف الگوریتم های که در آن بهترین و بدترین موارد 193 00:08:15,820 --> 00:08:17,440 یکسان هستند. 194 00:08:17,440 --> 00:08:20,390 این در مورد الگوریتم طول رشته ما صحبت در مورد قبل از آن است. 195 00:08:20,390 --> 00:08:22,780 به این معنا که اگر ما آن را در یک متغیر ذخیره قبل از 196 00:08:22,780 --> 00:08:25,160 ما این رشته و بعد از آن در زمان ثابت به آن دسترسی داشته باشید. 197 00:08:25,160 --> 00:08:27,920 مهم نیست که چه تعداد 198 00:08:27,920 --> 00:08:30,130 ما در حال ذخیره سازی در آن متغیر، ما باید به آن نگاه کنید. 199 00:08:33,110 --> 00:08:35,110 بهترین حالت این است که ما به آن نگاه کنید 200 00:08:35,110 --> 00:08:37,120 پیدا کردن طول رشته است. 201 00:08:37,120 --> 00:08:39,799 پس Ω (1) و یا در مورد بهترین زمان ثابت است. 202 00:08:39,799 --> 00:08:41,059 بدترین حالت این است، 203 00:08:41,059 --> 00:08:43,400 ما به آن نگاه کنید و پیدا کردن طول رشته. 204 00:08:43,400 --> 00:08:47,300 بنابراین، O (1) و یا ثابت زمانی در بدترین حالت است. 205 00:08:47,300 --> 00:08:49,180 بنابراین، از آنجا که بهترین حالت و بدترین موارد هستند، 206 00:08:49,180 --> 00:08:52,520 این را می توان گفت که در Θ (1) زمان اجرا شود. 207 00:08:54,550 --> 00:08:57,010 >> به طور خلاصه، ما باید راه های خوب به همین دلیل در مورد بهره وری کدهای 208 00:08:57,010 --> 00:09:00,110 بدون نیاز به دانستن هر چیزی در مورد زمان در دنیای واقعی آنها را برای اجرا، 209 00:09:00,110 --> 00:09:02,270 است که بسیاری از عوامل خارجی تحت تاثیر قرار، 210 00:09:02,270 --> 00:09:04,190 از جمله متفاوت سخت افزار، نرم افزار، 211 00:09:04,190 --> 00:09:06,040 یا ویژگی های کد شما. 212 00:09:06,040 --> 00:09:08,380 همچنین، این به ما اجازه می دهد به همین دلیل به خوبی در مورد آنچه اتفاق خواهد افتاد 213 00:09:08,380 --> 00:09:10,180 وقتی اندازه ورودی را افزایش می دهد. 214 00:09:10,180 --> 00:09:12,490 >> اگر شما در حال اجرا در O (N) ² الگوریتم، 215 00:09:12,490 --> 00:09:15,240 و یا بدتر از آن، O (2 ⁿ) الگوریتم، 216 00:09:15,240 --> 00:09:17,170 یکی از سریع ترین انواع رو به رشد، 217 00:09:17,170 --> 00:09:19,140 شما واقعا می خواهید رکود به اطلاع 218 00:09:19,140 --> 00:09:21,220 هنگامی که شما شروع به کار با مقادیر بیشتری از داده ها است. 219 00:09:21,220 --> 00:09:23,590 >> این پیچیدگی مجانبی است. با تشکر.