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 ایک ہی وقت میں، جس میں میرے تمام میموری hogging ہے، 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 >> تو، ہم براہ راست پروگراموں کے runtimes نہیں کا آپس میں موازنہ کر سکتے ہیں 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 algorithmic کی کارکردگی کی پیمائش کا ایک وردی طرح تخلیق کرنے کے لئے، 23 00:00:58,000 --> 00:01:00,360 کمپیوٹر کے سائنسدانوں اور ریاضی وضع ہے 24 00:01:00,360 --> 00:01:03,830 ایک پروگرام کے asymptotic پیچیدگی کی پیمائش کرنے کے لئے تصورات 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 (X) F سے کم یا برابر ہے 32 00:01:19,340 --> 00:01:21,230 کہ مسلسل اوقات (X) G 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 روزہ کس طرح ایک پروگرام رن ٹائم asymptotically اگتا ہے. 38 00:01:33,580 --> 00:01:37,170 یہ ہے کہ، کے طور پر آپ کے آدانوں کی سائز انفنٹی کی طرف بڑھ جاتی ہے، 39 00:01:37,170 --> 00:01:41,390 کہو، تم 10 سائز کے ایک صف کے مقابلے میں 1000 سائز کے ایک صف چھںٹائی کر رہے ہیں. 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 سٹرنگ میں 'این'. 48 00:02:02,670 --> 00:02:04,910 مختصر میں، یہ O (ن) میں چلتا ہے. 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 رن ٹائم ان پٹ کی حد کے ساتھ linearly اضافہ ہو جائے گا. 60 00:02:30,950 --> 00:02:33,500 >> اب یہ تصور کریں اگر آپ کے پاس ہے کہ لکیری وقت فیصلہ، 61 00:02:33,500 --> 00:02:36,390 اے (ن)، صرف تیزی سے آپ کے لئے کافی نہیں تھی؟ 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 وقت کی ایک asymptotically مسلسل آپریشن، 75 00:03:11,100 --> 00:03:13,070 یا O (1). 76 00:03:13,070 --> 00:03:17,110 یہ کیوں ہے؟ اچھی طرح یاد ہے، کیا asymptotic پیچیدگی کا مطلب ہے کہ. 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 یہ اب بھی مسلسل asymptotically ہے جو ہم O (1) کے طور پر کی نمائندگی کرتے ہیں. 105 00:04:23,420 --> 00:04:25,120 >> جیسا کہ آپ شاید اندازہ لگا سکتے ہیں، 106 00:04:25,120 --> 00:04:27,940 مختلف کے ساتھ یلگوردمز کی پیمائش کے لئے بڑا O runtimes ہیں. 107 00:04:27,940 --> 00:04:32,980 اے (ن) الگورتھم ² O (ن) الگورتھم سے asymptotically سست ہیں. 108 00:04:32,980 --> 00:04:35,910 یہ ہے کہ، کے طور پر عناصر کی تعداد (ن) کے اگنے 109 00:04:35,910 --> 00:04:39,280 بالآخر O الگورتھم (ن) ² زیادہ وقت لگے گا 110 00:04:39,280 --> 00:04:41,000 اے (ن) الگورتھم سے چلانے کے لئے. 111 00:04:41,000 --> 00:04:43,960 اس کا مطلب یہ نہیں ہے O (ن) الگورتھم ہمیشہ تیز چلانے 112 00:04:43,960 --> 00:04:46,410 O الگورتھم (ن) ² سے، اسی ماحول میں بھی، 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  اے (ن) ² الگورتھم اصل میں تیزی سے کام ہو سکتا ہے، 116 00:04:52,900 --> 00:04:55,450 لیکن آخر میں ان پٹ سائز کے طور پر بڑھ جاتی ہے 117 00:04:55,450 --> 00:04:58,760 انفنٹی کی طرف، اے (ن) ² الگورتھم رن ٹائم 118 00:04:58,760 --> 00:05:02,000 O الگورتھم (ن) کے رن ٹائم بالآخر چاند اور سورج گرہن ہو گا. 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 میں چلاتے ہیں (ن) ² وقت واقعی میں آپ کے پروگرام کو سست ختم کر سکتے ہیں، 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 >> ایک اور asymptotic پیچیدگی ہے، 127 00:05:21,280 --> 00:05:24,420 لوگارتمی وقت، O (لاگ ان ن). 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 integers کے اس صف میں. 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 (لاگ ان ن). 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 asymptotic پیچیدگی جو بہترین صورت کی عکاسی کے لئے 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 (لاگ ان ن) تقسیم چیک انجام ہے 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 (لاگ ان ن)، لیکن Ω (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 تو، اے (ن) کے وقت میں چلتا ہے 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 تو، اے (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 الگورتھم (ن) ² میں چلا رہے ہیں، 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 >> یہ asymptotic پیچیدگی ہے. شکریہ.