1 00:00:00,000 --> 00:00:13,300 2 00:00:13,300 --> 00:00:15,010 >> روب Bowden: ہیلو، میں روب ہوں. 3 00:00:15,010 --> 00:00:16,790 ہم کس طرح ایک بائنری تلاش ملازم ہیں؟ 4 00:00:16,790 --> 00:00:18,770 چلو باہر تلاش. 5 00:00:18,770 --> 00:00:23,400 تو، اس تلاش میں ہم جا رہے ہیں یاد رکھیں کہ تکراری طور پر عمل درآمد کرنے. 6 00:00:23,400 --> 00:00:27,470 تم نے بھی بائنری تلاش کو لاگو کر سکتے ہیں iteratively، لہذا آپ کو اس کیا تو، 7 00:00:27,470 --> 00:00:29,280 یہ بالکل ٹھیک ہے. 8 00:00:29,280 --> 00:00:32,820 >> اب سب سے پہلے، کی یاد کیا تلاش پیرامیٹرز کے لئے ہوتی ہیں. 9 00:00:32,820 --> 00:00:36,120 یہاں، ہم ہے جو INT قیمت، دیکھ صارف ہے قیمت ہونا چاہیے 10 00:00:36,120 --> 00:00:37,320 کے لئے تلاش. 11 00:00:37,320 --> 00:00:40,800 ہم int اقدار سرنی، دیکھو، جس ہم جس میں صف ہے 12 00:00:40,800 --> 00:00:42,520 قیمت کے لئے تلاش. 13 00:00:42,520 --> 00:00:45,602 اور ہم ہے جو، int ن کو دیکھ ہمارے صف کی لمبائی. 14 00:00:45,602 --> 00:00:47,410 >> اب، پہلی بات. 15 00:00:47,410 --> 00:00:51,350 ہم (ن) میں، 0 کے برابر ہے تو دیکھنے کے لئے چیک کریں ہم جھوٹے واپس جس صورت. 16 00:00:51,350 --> 00:00:54,770 ہم ایک خالی ہے تو وہ صرف کہہ رہا ہے صف، قیمت ایک میں واضح طور پر نہیں ہے 17 00:00:54,770 --> 00:00:57,860 خالی صف، تو ہم جھوٹے واپس آ سکتے ہیں. 18 00:00:57,860 --> 00:01:01,250 >> اب، ہم اصل بائنری کرنا چاہتے ہیں بائنری تلاش کی تلاش حصہ. 19 00:01:01,250 --> 00:01:04,780 تو، ہم مشرق تلاش کرنا چاہتے ہیں اس صف کے عنصر. 20 00:01:04,780 --> 00:01:09,130 یہاں، ہم مشرق میں تقسیم کیا (ن) کے برابر ہے کا کہنا ہے کہ 2 کی طرف سے، درمیانی عنصر ہے 21 00:01:09,130 --> 00:01:12,240 کی لمبائی جا رہا ہمارے صف 2 کی طرف سے تقسیم کیا گیا. 22 00:01:12,240 --> 00:01:15,040 اب ہم یہ دیکھنے کے لئے چیک کرنے کے لئے جا رہے ہیں درمیانی عنصر ہم قیمت کے برابر ہے 23 00:01:15,040 --> 00:01:16,160 کے لئے تلاش. 24 00:01:16,160 --> 00:01:21,030 اقدار کے درمیانی قیمت کے برابر ہے اگر ایسا ہے تو، ہم ہم نے محسوس کیا کے بعد سچ واپس آ سکتے ہیں 25 00:01:21,030 --> 00:01:22,810 ہمارے صف میں قیمت. 26 00:01:22,810 --> 00:01:26,380 >> لیکن یہ سچ نہیں تھا، اب ہم پنراورتی کرنے کی ضرورت ہے 27 00:01:26,380 --> 00:01:27,840 بائنری تلاش کے قدم. 28 00:01:27,840 --> 00:01:30,450 ہم یا تو تلاش کرنے کی ضرورت صف کے یا چھوڑ دیا 29 00:01:30,450 --> 00:01:32,320 صف کے وسط. 30 00:01:32,320 --> 00:01:39,280 مشرق میں اقدار ہے تو یہاں، ہم کہتے ہیں قیمت سے کم، کہ قیمت کا مطلب 31 00:01:39,280 --> 00:01:41,350 مشرق سے زیادہ تھا صف کی. 32 00:01:41,350 --> 00:01:45,790 تو قیمت کا حق ہونا چاہیے ہم صرف دیکھا اس عنصر. 33 00:01:45,790 --> 00:01:48,090 >> تو یہاں ہم جا رہے ہیں تکراری تلاش. 34 00:01:48,090 --> 00:01:50,320 اور ہم گزر رہے ہیں کیا میں دیکھتا ہوں ایک دوسرے میں اس کے لئے. 35 00:01:50,320 --> 00:01:53,440 لیکن ہم پر تلاش کرنے کے لئے جا رہے ہیں درمیانی عنصر کا حق. 36 00:01:53,440 --> 00:01:57,710 اور دوسری صورت میں، اس کا مطلب ہے کہ قیمت کے وسط سے بھی کم تھا 37 00:01:57,710 --> 00:02:00,660 صف، اور ہم جا رہے ہیں بائیں تلاش کرنے کے لئے. 38 00:02:00,660 --> 00:02:03,520 اب بائیں طرف کی جا رہی ہے تھوڑا سا آسان کو دیکھنے کے لئے. 39 00:02:03,520 --> 00:02:07,770 تو، ہم تکراری ہیں کہ یہاں دیکھ جہاں سب سے پہلے تلاش بلا 40 00:02:07,770 --> 00:02:10,120 دلیل ہے، پھر، قیمت ہے ہم تلاش کر رہے ہیں. 41 00:02:10,120 --> 00:02:14,970 دوسری دلیل ہونے جا رہا ہے ہم تلاش کر رہے تھے اس صف. 42 00:02:14,970 --> 00:02:17,090 اور آخری عنصر اب مشرق ہے. 43 00:02:17,090 --> 00:02:21,650 آخری پیرامیٹر ہمارے int ہے یاد رکھیں ن، کہ ہماری صف کی لمبائی ہے تو. 44 00:02:21,650 --> 00:02:25,310 >> تلاش کرنے کے لئے پنراورتی کال میں، ہم اب کہہ رہے ہیں کہ اس کی لمبائی 45 00:02:25,310 --> 00:02:27,230 صف مشرق ہے. 46 00:02:27,230 --> 00:02:32,900 تو، ہمارے صف سائز 20 اور ہم میں سے تھا مشرق ہے، 10 انڈیکس میں تلاشی 47 00:02:32,900 --> 00:02:36,930 20 2 کی طرف سے تقسیم کیا گیا، کہ ہم ہیں کا مطلب ہے کہ نئے طور پر 10 گزر 48 00:02:36,930 --> 00:02:38,300 ہمارے صف کی لمبائی. 49 00:02:38,300 --> 00:02:41,910 یاد رکھیں کہ آپ کو ایک صف ہے جب لمبائی 10، کہ درست مطلب 50 00:02:41,910 --> 00:02:45,450 عناصر 0 9 کے ذریعے سوچکانکوں میں ہیں. 51 00:02:45,450 --> 00:02:50,120 تو یہ ہم کرنا چاہتے ہیں بالکل وہی جو ہے بائیں - ہماری اپ ڈیٹ صف کی وضاحت 52 00:02:50,120 --> 00:02:53,010 درمیانی عنصر سے صف. 53 00:02:53,010 --> 00:02:55,710 >> تو، صحیح لگ رہا ہے تھوڑا سا زیادہ مشکل. 54 00:02:55,710 --> 00:03:00,170 اب سب سے پہلے، کی لمبائی پر غور کے حق میں صف کے 55 00:03:00,170 --> 00:03:01,240 درمیانی عنصر. 56 00:03:01,240 --> 00:03:08,390 تو، ہمارے صف سائز ن کا تھا، تو نئی صف سائز ن مائنس ہو جائے گا 57 00:03:08,390 --> 00:03:10,140 مشرق مائنس 1. 58 00:03:10,140 --> 00:03:12,530 تو، ن مائنس مشرق کے بارے میں سوچتے ہیں. 59 00:03:12,530 --> 00:03:18,710 >> ایک بار پھر، صف کے سائز 20 کے تھے اور اگر ہم مشرق حاصل کرنے کے لئے 2 کی طرف سے تقسیم، 60 00:03:18,710 --> 00:03:23,540 تو مشرق پھر 10، (ن) مائنس مشرق ہے ہم 10 ہے، تو 10 دینے جا رہا ہے 61 00:03:23,540 --> 00:03:25,330 مشرق کے حق میں عناصر. 62 00:03:25,330 --> 00:03:27,780 لیکن ہم بھی اس منفی ہے 1، ہم نہیں کرنا چاہتے ہیں کے بعد 63 00:03:27,780 --> 00:03:29,700 مشرق خود بھی شامل ہیں. 64 00:03:29,700 --> 00:03:34,190 تو (ن) مائنس مشرق مائنس 1 ہمیں دیتا ہے دائیں عناصر کی کل تعداد 65 00:03:34,190 --> 00:03:36,800 صف میں مشرق انڈیکس کے. 66 00:03:36,800 --> 00:03:41,870 >> اب یہاں، یاد ہے کہ مشرق پیرامیٹر اقدار صف ہے. 67 00:03:41,870 --> 00:03:46,180 تو یہاں ہم ایک گزر رہے ہیں اپ ڈیٹ اقدار سرنی. 68 00:03:46,180 --> 00:03:50,930 یہ اقدار کے علاوہ مشرق کے علاوہ 1 ہے اصل میں تکراری طور پر کال کرتے ہوئے کہا کہ 69 00:03:50,930 --> 00:03:56,460 تلاش، ایک نئی صف میں گزر، جہاں کہ نئی صف کے وسط میں شروع ہوتا ہے 70 00:03:56,460 --> 00:03:59,370 اس کے علاوہ ہماری اصل اقدار سرنی میں سے ایک. 71 00:03:59,370 --> 00:04:05,400 >> اس کے لئے ایک متبادل نحو، اب اس آپ سے ہے، اشارہ کو دیکھنے کے لئے شروع کر دیا ہے 72 00:04:05,400 --> 00:04:10,170 ایمپرسینڈ اقدار مشرق کے علاوہ 1. 73 00:04:10,170 --> 00:04:17,149 تو، مشرق کا پتہ قبضہ اقدار کے علاوہ ایک عنصر. 74 00:04:17,149 --> 00:04:23,690 >> اب، آپ کو آرام دہ اور پرسکون نہیں تھے آپ، اس طرح ایک صف میں تبدیلی 75 00:04:23,690 --> 00:04:28,900 بھی استعمال کرتے ہوئے اس پر عمل درآمد کیا جا سکتا ہے ایک پنراورتی مددگار تقریب، جہاں 76 00:04:28,900 --> 00:04:31,680 کہ مدد گار تقریب لیتا ہے مزید دلائل. 77 00:04:31,680 --> 00:04:36,610 تو بجائے صرف قیمت لینے کے، صف، اور صف کے سائز، 78 00:04:36,610 --> 00:04:42,315 مددگار کی تقریب میں زیادہ وقت لگ سکتا ہے کم انڈیکس سمیت دلائل، 79 00:04:42,315 --> 00:04:45,280 آپ صف میں پرواہ ہے کہ اور آپ کو پرواہ ہے اوپری انڈیکس 80 00:04:45,280 --> 00:04:46,300 صف کے بارے میں. 81 00:04:46,300 --> 00:04:49,770 >> اور اس طرح دونوں کم کا ٹریک رکھنے انڈیکس اور اوپری انڈیکس، آپ ایسا نہیں کرتے 82 00:04:49,770 --> 00:04:52,780 کبھی نظر ثانی کرنے کی ضرورت ہے اصل اقدار سرنی. 83 00:04:52,780 --> 00:04:56,390 آپ کو صرف کرنے کے لئے جاری کر سکتے ہیں اقدار سرنی کا استعمال کرتے ہیں. 84 00:04:56,390 --> 00:04:59,540 لیکن یہاں، ہم ایک مددگار کی ضرورت نہیں ہے کو نوٹس جب تک ہم ہیں کے طور پر کام 85 00:04:59,540 --> 00:05:01,760 اصل پر نظر ثانی کرنے کے لئے تیار اقدار سرنی. 86 00:05:01,760 --> 00:05:05,020 ہم میں منتقل کرنے کے لئے تیار ہیں ایک اپ ڈیٹ اقدار. 87 00:05:05,020 --> 00:05:09,140 >> اب، ہم بائنری تلاش نہیں کر سکتے ہیں ناچھانٹا ہوا ہے کہ ایک صف. 88 00:05:09,140 --> 00:05:12,220 تو، اس کے مطابق حاصل کرتے ہیں. 89 00:05:12,220 --> 00:05:17,650 اب، اس طرح ماضی ہے نوٹس دو پیرامیٹرز ہے جو، اقدار int میں 90 00:05:17,650 --> 00:05:21,110 ہم چھانٹ رہا ہے کر رہے ہیں، اس صف، اور int ن، صف کی لمبائی ہے جو 91 00:05:21,110 --> 00:05:22,250 ہم چھانٹ رہا ہے کر رہے ہیں. 92 00:05:22,250 --> 00:05:24,840 تو، ہم یہاں پر عملدرآمد چاہتے ہیں ایک چھانٹ رہا ہے الگورتھم 93 00:05:24,840 --> 00:05:26,690 کہ مربع ن کے O ہے. 94 00:05:26,690 --> 00:05:30,560 آپ بلبلا طرح، انتخاب کے منتخب کر سکتے ہیں ترتیب، یا اندراج کی طرح، یا 95 00:05:30,560 --> 00:05:32,670 ہم نہ کچھ دیگر ترتیب کلاس میں دیکھا. 96 00:05:32,670 --> 00:05:36,380 لیکن یہاں، ہم جا رہے ہیں انتخاب کی طرح استعمال کرتے ہیں. 97 00:05:36,380 --> 00:05:40,030 >> تو، ہم iterate کرنے جا رہے ہیں پوری صف پر. 98 00:05:40,030 --> 00:05:44,360 ٹھیک ہے، یہاں ہم iterating کر رہے دیکھتے ہیں کہ 0 سے ن مائنس 1. 99 00:05:44,360 --> 00:05:45,990 کیوں نہیں تمام طریقہ ن ہے؟ 100 00:05:45,990 --> 00:05:49,320 ٹھیک ہے، ہم پہلے ہی کے مطابق ہے تو سب سے پہلے تو ن مائنس 1 عناصر، 101 00:05:49,320 --> 00:05:54,420 پہلے سے ہی ہونا چاہیے کیا آخری عنصر صحیح جگہ میں، تو پر چھانٹ رہا ہے 102 00:05:54,420 --> 00:05:56,520 پوری صف. 103 00:05:56,520 --> 00:05:58,770 >> اب، یاد کس طرح انتخاب ترتیب کام کرتا ہے. 104 00:05:58,770 --> 00:06:01,950 ہم پوری صف پر جانے کے لئے جا رہے ہیں میں کم از کم قیمت کے لئے تلاش 105 00:06:01,950 --> 00:06:04,480 صف اور چھڑی ہے کہ شروع میں. 106 00:06:04,480 --> 00:06:07,610 اس کے بعد ہم پورے پر جانے کے لئے جا رہے ہیں صف پھر دوسرے کے لئے تلاش 107 00:06:07,610 --> 00:06:10,410 سب سے چھوٹی عنصر، اور چھڑی ہے کہ میں دوسری پوزیشن میں 108 00:06:10,410 --> 00:06:12,100 صف، اور اسی طرح کی. 109 00:06:12,100 --> 00:06:14,330 تو، کہ اس کر رہا ہے. 110 00:06:14,330 --> 00:06:17,290 >> یہاں، ہم ہیں دیکھ رہے ہیں موجودہ کم از کم کی ترتیب 111 00:06:17,290 --> 00:06:20,030 میں ویں انڈیکس کی قدر. 112 00:06:20,030 --> 00:06:23,160 تو سب سے پہلے iteration پر، ہم جا رہے ہیں کم از کم قیمت پر غور کرنے کے لئے 113 00:06:23,160 --> 00:06:25,030 ہمارے صف کے آغاز. 114 00:06:25,030 --> 00:06:28,500 اس کے بعد، ہم پر iterate کرنے جا رہے ہیں کرنے کے لئے صف کی جانچ پڑتال، کے باقی 115 00:06:28,500 --> 00:06:31,870 سے وہاں کسی بھی عناصر کے چھوٹے تو دیکھ ہم اس وقت کر رہے ہیں کہ ایک 116 00:06:31,870 --> 00:06:33,900 کم از کم غور. 117 00:06:33,900 --> 00:06:38,840 >> تو یہاں، J علاوہ ایک قدریں - ہے ہم اس وقت کیا ہیں سے بھی کم 118 00:06:38,840 --> 00:06:40,380 کم از کم غور. 119 00:06:40,380 --> 00:06:42,940 اس کے بعد ہم کو اپ ڈیٹ کرنے جا رہے ہیں ہم کم از کم کرنے کے لئے ہے 120 00:06:42,940 --> 00:06:44,640 انڈیکس J علاوہ 1. 121 00:06:44,640 --> 00:06:48,540 لہذا، پوری صف میں ایسا، اور اس کے بعد لوپ، کم از کم کے لئے 122 00:06:48,540 --> 00:06:53,160 کی طرف سے کم از کم عنصر ہونا چاہئے صف میں ویں پوزیشن. 123 00:06:53,160 --> 00:06:57,350 >> ہم نے اس کے بعد، ہم تبادلہ کر سکتے ہیں میں ویں پوزیشن میں کم از کم قیمت 124 00:06:57,350 --> 00:06:58,230 صف میں. 125 00:06:58,230 --> 00:07:00,130 تو یہ صرف ایک معیاری سویپ ہے. 126 00:07:00,130 --> 00:07:03,940 ہم نے ایک عارضی کی قیمت میں سٹور - صف میں ویں قیمت - 127 00:07:03,940 --> 00:07:08,460 صف میں ویں قیمت میں ڈال دیا وہاں سے تعلق رکھتا ہے کہ کم از کم قیمت، 128 00:07:08,460 --> 00:07:13,580 اور پھر جہاں میں واپس سٹور استعمال کیا جاتا ہے موجودہ کم از کم قیمت 129 00:07:13,580 --> 00:07:16,460 صف میں ویں قیمت، تو ہم اس سے محروم نہیں کیا ہے. 130 00:07:16,460 --> 00:07:20,510 >> تو، اس پر جاری ہے اگلے iteration. 131 00:07:20,510 --> 00:07:23,480 ہم دوسرے کے لئے تلاش شروع کر دیں گے کم از کم قیمت اور میں اس داخل 132 00:07:23,480 --> 00:07:24,590 دوسری پوزیشن. 133 00:07:24,590 --> 00:07:27,440 تیسرے iteration پر، ہم نے کے لئے نظر کروں گا تیسرے کم از کم قیمت اور ڈالیں 134 00:07:27,440 --> 00:07:31,550 کہ تیسری پوزیشن میں، اور تو ہم نے ایک کے مطابق صف ہے جب تک. 135 00:07:31,550 --> 00:07:33,820 میرا نام روب ہے، اور اس انتخاب کی طرح تھا. 136 00:07:33,820 --> 00:07:39,456