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 უფრო ერთგვაროვან გზა საზომი ალგორითმული ეფექტურობის, 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 ეშვება ბრძანებით გ (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 რომ მუდმივი ჯერ გ (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 რამდენად სწრაფად პროგრამის Runtime იზრდება asymptotically. 38 00:01:33,580 --> 00:01:37,170 ანუ, როგორც ზომა თქვენი საშუალებებით ზრდის მიმართ Infinity, 39 00:01:37,170 --> 00:01:41,390 აცხადებენ, თქვენ დახარისხება მასივი ზომა 1000 წელთან შედარებით მასივი ზომა 10. 40 00:01:41,390 --> 00:01:44,950 როგორ ამჯამად Runtime თქვენი პროგრამის იზრდება? 41 00:01:44,950 --> 00:01:47,390 მაგალითად, წარმოიდგინეთ დათვლის რაოდენობის სიმბოლოებს 42 00:01:47,390 --> 00:01:49,350 in string უმარტივესი გზა 43 00:01:49,350 --> 00:01:51,620  ფეხით მთელ string 44 00:01:51,620 --> 00:01:54,790 წერილში-ს წერილი და დასძინა, რომ 1 Counter თითოეული ხასიათი. 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' in string. 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 to traverse მთელი სიმებიანი 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 Runtime გაიზრდება ხაზოვანი ერთად შეყვანის სიგრძე. 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 to traverse ყველა მათი გმირები დათვლის-ს ერთი. 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 in string, თქმით, იმ ცვლადში 'Len,' 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 და წვდომის ღირებულება ცვლადი, როგორიცაა len ითვლება 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 როგორ Runtime ენის, როგორც ზომა 78 00:03:19,100 --> 00:03:21,400 თქვენი საშუალებებით იზრდება? 79 00:03:21,400 --> 00:03:24,630 >> Say You ცდილობდნენ ხმების სიმბოლოების უფრო დიდი სიმებიანი. 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 არის წაიკითხა ღირებულება ცვლადი Len, 84 00:03:33,790 --> 00:03:35,440 რაც თქვენ უკვე გააკეთა. 85 00:03:35,440 --> 00:03:38,200 შეყვანის სიგრძე, რომ არის, სიგრძით string თქვენ ცდილობს იპოვოს, 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 მოძიებაში out რამდენ ხანს თქვენი სიმებიანი იყო 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 (N) ² ალგორითმები asymptotically ნელია ვიდრე O (N) ალგორითმები. 108 00:04:32,980 --> 00:04:35,910 ანუ, როგორც რაოდენობის ელემენტები (ო) იზრდება, 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 მიმართ Infinity, O (N) ² ალგორითმი ს runtime 118 00:04:58,760 --> 00:05:02,000 საბოლოოდ Eclipse Runtime of O (N) ალგორითმი. 119 00:05:02,000 --> 00:05:04,230 ისევე როგორც კვადრატული მათემატიკური ფუნქცია 120 00:05:04,230 --> 00:05:06,510  საბოლოოდ overtake ნებისმიერი წრფივი ფუნქცია, 121 00:05:06,510 --> 00:05:09,200 არ აქვს მნიშვნელობა რამდენად ხელმძღვანელი დაიწყოს ხაზოვანი ფუნქცია იწყება off ერთად. 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 >> კიდევ ერთი asymptotic სირთულის არის, 127 00:05:21,280 --> 00:05:24,420 ლოგარითმული დრო, O (შესვლა 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 ზრდის Runtime მხოლოდ 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 ამისთვის 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 on runtime. 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 უარესი ზედა საზღვრები არის მოხსენიებული, ერთად დიდი "ო", რომ თქვენ უკვე იცით. 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 ასე რომ, თქვენ უნდა გავლა ყველა N ელემენტების მასივი მის საპოვნელად, 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 ეს არის საქმე string-სიგრძე ალგორითმები ჩვენ ვისაუბრეთ ადრე. 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 >> სწორედ asymptotic სირთულის. მადლობა.