1 00:00:00,000 --> 00:00:11,270 2 00:00:11,270 --> 00:00:14,910 >> 스피커 : 좋아,이 CS50이다. 3 00:00:14,910 --> 00:00:19,020 이것은 주일의 단부이며, 만약 당신은 이미 이점을 촬영하지 않은 4 00:00:19,020 --> 00:00:21,790 점심이있을 것을 알고 여기서 평소와 같이이 금요일 5 00:00:21,790 --> 00:00:25,430 당신은 좋은 대화를 즐길 수 있습니다 불과 얼음의 음식 6 00:00:25,430 --> 00:00:27,980 CS50의 일부와 직원과 친구들. 7 00:00:27,980 --> 00:00:30,170 여기에이 URL로 향한다. 8 00:00:30,170 --> 00:00:33,420 >> 지금 당신은 기억하거나, 수 곧 알게 될 수있다, 9 00:00:33,420 --> 00:00:35,970 여기에 이​​런 것들을 어느 끝에서 밖으로 주어진다 10 00:00:35,970 --> 00:00:37,850 많은 클래스의 학기. 11 00:00:37,850 --> 00:00:40,870 소위 블루 시험 서적되는 당신은 시험의 답을 작성합니다. 12 00:00:40,870 --> 00:00:44,240 지금은 여기가 26 예 각각 파란색 책, 13 00:00:44,240 --> 00:00:47,580 Z까지 이름을 기록 그리고 실제로 이름은 단순하고 있다는 아르 14 00:00:47,580 --> 00:00:50,490 Z를 통해 하나의 손 오늘의 목표 15 00:00:50,490 --> 00:00:53,910 무엇을 계속 될 것입니다 우리가하지 않은, 월요일에 시작 16 00:00:53,910 --> 00:00:57,830 너무 많은 코드를 찾는 게 아니라, 아이디어와 문제 해결을 찾고. 17 00:00:57,830 --> 00:01:00,170 목표 중 하나와 이 과정의 약속 18 00:01:00,170 --> 00:01:02,985 더 생각하도록 가르치는 것입니다 주의 깊게, 더 질서, 19 00:01:02,985 --> 00:01:05,400 보다 효율적으로 문제를 해결한다. 20 00:01:05,400 --> 00:01:09,526 그리고 실제로, 우리는 정말 그렇게 할 수 심지어 코드의 라인을 건드리지 않고. 21 00:01:09,526 --> 00:01:12,150 그래서 코끼리의 몇 가지있다 여기까지 오늘, 오렌지와 블루, 22 00:01:12,150 --> 00:01:15,780 우리가 하나의 자원 봉사를 얻을 수 있다면, 어쩌면 더 뒤로 평소보다에서. 23 00:01:15,780 --> 00:01:18,070 어떻게 거기에 대해, 아래에 제공됩니다. 24 00:01:18,070 --> 00:01:24,180 의 목표로 될 것입니다 도움이 플러스 여기에이 시험을 관리 할 수​​ 있습니다. 25 00:01:24,180 --> 00:01:24,935 당신의 이름은 무엇입니까? 26 00:01:24,935 --> 00:01:25,768 >> 청중 : 메리 베스. 27 00:01:25,768 --> 00:01:27,560 스피커 : 메리 베스는 최대 어서. 28 00:01:27,560 --> 00:01:29,560 내가 당신을 위해 여기에 마이크를하자. 29 00:01:29,560 --> 00:01:32,172 30 00:01:32,172 --> 00:01:32,880 만나서 반가워요. 31 00:01:32,880 --> 00:01:34,005 >> 청중 : 만나서 반가워요. 32 00:01:34,005 --> 00:01:36,790 스피커 : 좋아, 그래서 난이 여기에 푸른 책 Z를 통해, 33 00:01:36,790 --> 00:01:41,680 나는 그 척거야 나는 학생 중 하나가 34 00:01:41,680 --> 00:01:45,770 그들은 다소 무작위로오고있어 3 시간의 시험 블록의 끝에서, 35 00:01:45,770 --> 00:01:49,400 그래서 그들은 일부에서 끝나는거야 같은 반 임의의 순서. 36 00:01:49,400 --> 00:01:54,510 지금은 단지 순간에 당신의 작업은 것입니다 이 그들이 얼마나 실제로 나중에 ...하는 37 00:01:54,510 --> 00:01:56,820 의 끝에서 턴 클래스 가능성이 높습니다. 38 00:01:56,820 --> 00:02:01,120 당신의 임무는 이제 꽤 될 것입니다 단순히 우리를 위해이 파란색 책을 정렬하려면 39 00:02:01,120 --> 00:02:05,220 부터 Z까지 40 00:02:05,220 --> 00:02:08,400 >> 청중 : 아, 이것이다 영원히 걸릴 것. 41 00:02:08,400 --> 00:02:13,747 >> 스피커 : 그리고 우리는 볼 것이다 당신이이 일을 할 때, 어떤 압력 없습니다. 42 00:02:13,747 --> 00:02:15,330 청중 : 아니, 아니 압력 또는 아무것도. 43 00:02:15,330 --> 00:02:19,230 44 00:02:19,230 --> 00:02:23,570 >> 스피커 : 그리고 재미를 위해, 의는 타이머를 만들어 보자. 45 00:02:23,570 --> 00:02:26,680 46 00:02:26,680 --> 00:02:28,700 >> 관객 : 너무 재미, 너무 재미. 47 00:02:28,700 --> 00:02:36,741 48 00:02:36,741 --> 00:02:38,574 >> 스피커 : 나는 당신을 위해 마이크를 보유 할 수 있습니다. 49 00:02:38,574 --> 00:02:40,240 좋아, 우리는 우리의 속도를 두 배로했습니다. 50 00:02:40,240 --> 00:02:44,190 51 00:02:44,190 --> 00:02:49,060 그 동안 그래서, 내가 무슨 포즈를 취하게 메리 베스에 대한 질문이 될 것 52 00:02:49,060 --> 00:02:51,540 그녀가 무엇을하고있다, 방법은 그녀는이 문제를 해결하는 것에 대해가요? 53 00:02:51,540 --> 00:02:54,040 그리고 사실, 당신은 없을 수도 있습니다 지금까지 뭔가에 대해 생각 54 00:02:54,040 --> 00:02:57,440 당신이 선택할 때와 너무 간단 이 같은 26 책까지, 55 00:02:57,440 --> 00:02:59,350 자연이 않는 그들에게 주문. 56 00:02:59,350 --> 00:03:01,335 절차는 어떻게 것을 당신은 실제로 사용할 수 있습니까? 57 00:03:01,335 --> 00:03:03,770 그것은 상당히 랜덤 단지 당신이 볼 첫 번째 따기 58 00:03:03,770 --> 00:03:05,250 그 자리에 넣고? 59 00:03:05,250 --> 00:03:09,680 먼저 주위에 당신의 손을 이동 마십시오 다음 B를 찾고 찾고? 60 00:03:09,680 --> 00:03:11,722 당신은 살펴 마십시오 옆에 그 쪽 쌍 61 00:03:11,722 --> 00:03:14,680 다만, 잠깐만,이 말을 오른쪽 아니며, 다음 순서를 바꿔? 62 00:03:14,680 --> 00:03:16,960 우리는 월요일에 이미 보았다 다수의 방식이 있다는 것을 63 00:03:16,960 --> 00:03:22,140 있는 우리는이 작업을 수행 할 수 있습니다 참으로 우리는 여기에서 끝 부분으로, 64 00:03:22,140 --> 00:03:26,360 나는 아마 주 걸릴 것 무엇 메리 베스하고있다. 65 00:03:26,360 --> 00:03:30,040 우리는 보인다 몇 더미가, 세 개의 작은 것 하나 더. 66 00:03:30,040 --> 00:03:33,790 67 00:03:33,790 --> 00:03:36,415 >> 청중 : 나는 그들을 주문 해요 나는이 편지를 발견 할 때 68 00:03:36,415 --> 00:03:39,540 내가 아는 시퀀스에서 함께 것을, 그렇게하지 ​​않도록 나는 둘을 합친 69 00:03:39,540 --> 00:03:42,915 유지에 대해 걱정할 필요가 책의 전체 행의 트랙. 70 00:03:42,915 --> 00:03:45,706 그것은 처음입니다, 오, 그냥 여기이 스택을 가지고있다. 71 00:03:45,706 --> 00:03:47,580 거의 같은 : SPEAKER 퍼즐 조각이 72 00:03:47,580 --> 00:03:49,860 오른쪽 모양이 서로 일치. 73 00:03:49,860 --> 00:03:51,026 청중 : 꽤 많이, 그래. 74 00:03:51,026 --> 00:03:55,320 스피커 : OK, 훌륭한. 75 00:03:55,320 --> 00:03:59,850 그리고 지금이 각각 더미는 아마도 정렬? 76 00:03:59,850 --> 00:04:00,990 >> 청중 : 그래. 77 00:04:00,990 --> 00:04:09,900 >> Z. 모든 통해 좋아, A : SPEAKER 오른쪽 축하합니다, 당신은 그것을했다. 78 00:04:09,900 --> 00:04:11,461 당신은 선택할 수 있습니다. 79 00:04:11,461 --> 00:04:11,960 블루? 80 00:04:11,960 --> 00:04:13,530 좋아, 감사합니다. 81 00:04:13,530 --> 00:04:16,679 그래서 메리 베스 제안 않았다 무엇을 그녀의 접근 방식은이었다, 82 00:04:16,679 --> 00:04:19,720 하지만 또 다른 방법 것입니다 방법을 이런 일을 정렬에 대해 갈 수 있습니까? 83 00:04:19,720 --> 00:04:21,130 당신이 뭘 할 수 있었 겠어요? 84 00:04:21,130 --> 00:04:24,060 이길 기록했을 것이다 일분 50 정도의 초, 85 00:04:24,060 --> 00:04:26,039 플러스 잊었 것들 계산합니다. 86 00:04:26,039 --> 00:04:27,080 당신이 뭘 할 수 있었 겠어요? 87 00:04:27,080 --> 00:04:27,579 그래? 88 00:04:27,579 --> 00:04:28,735 청중 : 스택을 가져 가라. 89 00:04:28,735 --> 00:04:29,776 처음부터 시작합니다. 90 00:04:29,776 --> 00:04:32,284 서류를 확인합니다. 91 00:04:32,284 --> 00:04:36,586 그리고 상위 하나 높으면 이상은, 어쩌면, 그들은 아르 92 00:04:36,586 --> 00:04:38,980 아래는 하나의 높은, 다음을 전환합니다. 93 00:04:38,980 --> 00:04:41,300 >> 스피커 : 좋아, 그럼 시작 상단과 하단에, 94 00:04:41,300 --> 00:04:43,716 다음의 방식으로 작동합니다 안쪽으로 그런 그들을 스와핑? 95 00:04:43,716 --> 00:04:46,580 비슷한 OK, 그래서 조금 거품 정렬, 정신, 96 00:04:46,580 --> 00:04:49,160 하지만 극단적 인 선택 하지 인접 쌍. 97 00:04:49,160 --> 00:04:52,080 그러나 그것의 짧은 거기에 있다는 것입니다 다양한 방법으로 확실하게 무리 98 00:04:52,080 --> 00:04:54,210 우리는이 작업을 수행하고, 수 솔직히, 나는 가지를 생각 99 00:04:54,210 --> 00:04:55,700 바로 몇 접근 방식을 채택? 100 00:04:55,700 --> 00:05:00,567 당신은 네 개의 정렬 된 더미의 종류를했고, 다음 효과적으로 그들을 함께 병합. 101 00:05:00,567 --> 00:05:02,650 그리고는 또 다른, daresay,이다 모두 기술. 102 00:05:02,650 --> 00:05:06,950 당신은 하나의 큰 더미로 취급하지 않았다 당신은 네 개의 쿼드로 문제를 분할 103 00:05:06,950 --> 00:05:09,820 당신이 의지하고 어떻게 든 경우 결국 그들을 병합. 104 00:05:09,820 --> 00:05:13,410 >> 그럼 궁극적으로 살펴 보자, 우리는이 작업을 수행하는 방법을 다른. 105 00:05:13,410 --> 00:05:15,860 우리는 개념을 공식화 거품 정렬 마지막 시간, 106 00:05:15,860 --> 00:05:18,780 거품 정렬 리콜했다 우리가 가시화 알고리즘 107 00:05:18,780 --> 00:05:22,640 여기까지 반 친구들의 팔과, 겉으로는 무작위로 처음 분류. 108 00:05:22,640 --> 00:05:26,110 그리고 우리는 다음 경우 페어를 결정 이 요소는, 순서를 벗어난 109 00:05:26,110 --> 00:05:26,950 간단하게 교환합니다. 110 00:05:26,950 --> 00:05:28,930 그래서 네와 두 아르 분명히 순서가, 111 00:05:28,930 --> 00:05:31,080 그래서 그 두 친구들 위치를 전환했다. 112 00:05:31,080 --> 00:05:35,390 그리고 우리는 4-6 반복 다음 6 및 8, 각각의 반복에, 113 00:05:35,390 --> 00:05:36,980 오른쪽으로 이동. 114 00:05:36,980 --> 00:05:42,590 >> 그래서, 얼마나 많은 페어 8 명이 부여 에서 걷는 동안 비교 난 어땠냐 115 00:05:42,590 --> 00:05:45,220 하나의 반복에서 왼쪽에서 오른쪽으로? 116 00:05:45,220 --> 00:05:48,410 얼마나 많은 비교? 117 00:05:48,410 --> 00:05:49,197 세븐, 오른쪽? 118 00:05:49,197 --> 00:05:51,405 팔이 있다면 때문에 사람들은 그러나 당신은 한 쌍을 119 00:05:51,405 --> 00:05:53,880 그들과 당신은 계속 이동 하나는, 우측 홉 120 00:05:53,880 --> 00:05:56,060 당신은 팔을하지 않을거야 비교 비교할 수 없기 때문에 121 00:05:56,060 --> 00:05:59,226 요소 자체에 대하여, 또는 것 그냥 무의미, 그래서 당신은 칠 수 있습니다. 122 00:05:59,226 --> 00:06:01,290 또는보다 일반적으로, 만약 우리는 N 명을, 우리 123 00:06:01,290 --> 00:06:04,300 n은 마이너스 1 비교를 할 거품 정렬과 함께. 124 00:06:04,300 --> 00:06:08,150 >> 어떻게 좋은의 지금 생각해 보자 나 나쁜 거품 정렬 사실, 그리고 시도 125 00:06:08,150 --> 00:06:13,570 우리 자신에게 어휘를 제공합니다 이 같은 비판 알고리즘에있는 126 00:06:13,570 --> 00:06:14,430 곧 우리 자신의. 127 00:06:14,430 --> 00:06:16,970 통한 첫 번째 패스 그래서 버블 정렬, 처음 128 00:06:16,970 --> 00:06:20,909 나는에서 왼쪽에서 오른쪽으로 걸어 단, 나 N에서 1을 뺀 비교했다. 129 00:06:20,909 --> 00:06:22,950 그리고이 될 것 내 측정 단위, 오른쪽? 130 00:06:22,950 --> 00:06:26,170 나는 가지 이야기하고 산책하고, 다소 다소 느린, 빠른, 131 00:06:26,170 --> 00:06:29,300 그래서 초 내 수를 계산 특히 말하고 있지 않습니다, 132 00:06:29,300 --> 00:06:32,260 그러나 수를 카운트 내가 월요일에했던 작업, 133 00:06:32,260 --> 00:06:35,900 이명을 비교, 그 느낌 측정의 좋은 장치 등을들 수있다. 134 00:06:35,900 --> 00:06:40,980 >> 따라서 n은 마이너스 일 처음 단계, 하지만 무슨 일이 그 후 일이? 135 00:06:40,980 --> 00:06:46,610 한 패스의 하나 상승 여력은 무엇입니까 달리 분류되지 않은 목록을? 136 00:06:46,610 --> 00:06:49,840 당신은 요소에 대해 말해 무엇 저기 모든 방법은 누구인가? 137 00:06:49,840 --> 00:06:51,300 그래? 138 00:06:51,300 --> 00:06:52,870 그건 바로, 가장 큰 요소인가? 139 00:06:52,870 --> 00:06:55,710 수 팔, 심지어 그녀는 비록 여기 시작마다 I 140 00:06:55,710 --> 00:06:57,860 에 그녀를 비교 이웃, 그녀는 계속 141 00:06:57,860 --> 00:07:00,480 오른쪽까지 버블 링 목록의 편. 142 00:07:00,480 --> 00:07:02,710 그리고 사실, 그게 어디 있죠 알고리즘 이름을 가져옵니다. 143 00:07:02,710 --> 00:07:07,630 >> 이제 논리에 의해 얼마나 많은 비교 나는 두 번째 시간에 확인해야 144 00:07:07,630 --> 00:07:09,800 왼쪽에서 오른쪽으로 난 그 패스를 만들어? 145 00:07:09,800 --> 00:07:10,730 n은 음이, 오른쪽? 146 00:07:10,730 --> 00:07:14,297 난 경우 그냥 내 시간을 낭비 할 것 사람에 대해 팔을 비교 계속 147 00:07:14,297 --> 00:07:16,630 다른 우리가 이미 알고 있기 때문에 그녀는 바로 이곳에 있었다. 148 00:07:16,630 --> 00:07:19,760 그래서 조금이다 최적화, 다음 패스가 너무 149 00:07:19,760 --> 00:07:23,899 플러스 N 마이너스 두 단계가 될 것입니다, 여기서 n은 사람의 수이다. 150 00:07:23,899 --> 00:07:26,940 이제 가지도, 추정 수 당신은 컴퓨터 과학자하지 않으면, 151 00:07:26,940 --> 00:07:27,680 방법이 끝납니다. 152 00:07:27,680 --> 00:07:31,259 이 알고리즘의 끝에서, 아마도 당신은 단지 하나의 비교 왼쪽 있어요. 153 00:07:31,259 --> 00:07:33,800 당신은 가지를 해결해야 이 경우에 목록의 시작 154 00:07:33,800 --> 00:07:36,540 하나는 순서를 벗어난 그리고 하나, 둘이어야한다 155 00:07:36,540 --> 00:07:40,330 그래서 이것은 밖으로 바닥에 닿을 플러스 일 최종 비교. 156 00:07:40,330 --> 00:07:44,500 >> 이제 점, 점, 파도의 점 종류가 있어요 수분이 몇 가지 세부 사항에서 손, 157 00:07:44,500 --> 00:07:46,452 하지만 그냥 가서 간단하게 할 수 있습니다. 158 00:07:46,452 --> 00:07:48,660 당신은 높은에서 호출하는 경우 당신의 학교, 솔직히 많이 159 00:07:48,660 --> 00:07:50,340 했습니다 수학 책 약간의 컨닝 페이퍼 160 00:07:50,340 --> 00:07:52,550 전면 커버 나에 을 보여 주었다 뒷 표지 161 00:07:52,550 --> 00:07:56,400 무엇처럼 시리즈 합산 이것은 궁극적으로까지 추가했다. 162 00:07:56,400 --> 00:07:59,600 일반적인 경우에, 당신은이 있다면 N 등의 변수, 그리고 실제로이 하나, 163 00:07:59,600 --> 00:08:01,634 당신이 바라 보았다 경우 오래된 학교 수학 책, 164 00:08:01,634 --> 00:08:04,050 당신이 실제로 볼 것 여기에이 금액까지 추가 165 00:08:04,050 --> 00:08:07,970 n 번 N에서 1을 뺀 모든 2로 나눈. 166 00:08:07,970 --> 00:08:11,172 이제 나를 그냥 규정하자 이 때문에 믿음의 도약에 해당하는 167 00:08:11,172 --> 00:08:12,880 즉,이 요약 무엇 까지, 우리는 할 수 168 00:08:12,880 --> 00:08:14,341 보다 일반적인 경우에 그것을 증명한다. 169 00:08:14,341 --> 00:08:15,590 하지만 지금의이을 확장 할 수 있습니다. 170 00:08:15,590 --> 00:08:19,920 그래서이를 곱하자, 그래서 그건 N 제곱 마이너스 N, 모두 2로 나눈. 171 00:08:19,920 --> 00:08:23,200 즉, 정말 N 제곱입니다 마이너스 n은 2 이상, 2로 나눈 172 00:08:23,200 --> 00:08:25,010 그래서 모든 친절하고 흥미로운. 173 00:08:25,010 --> 00:08:27,060 하지만 우리 경우 어떻게 지금 플러그 - 인 가치인가? 174 00:08:27,060 --> 00:08:29,724 나는 팔이 없었한다고 가정 사람들은, 그러나 백만을 말한다. 175 00:08:29,724 --> 00:08:31,890 그리고 백만 때문 만 그것은 꽤 큰 숫자이다 176 00:08:31,890 --> 00:08:34,039 의는 점에서 연결하고 어떻게되는지 보자. 177 00:08:34,039 --> 00:08:39,039 나는 그 공식에 만 연결하면 그래서 나는 백만 제곱 줄게 178 00:08:39,039 --> 00:08:42,868 2로 나눈 값을 뺀 백만, 2로 나눈. 179 00:08:42,868 --> 00:08:44,159 지금 무슨 일이 있음은 동일하게거야? 180 00:08:44,159 --> 00:08:47,354 그래서 500,000,000,000, 마이너스 50. 181 00:08:47,354 --> 00:08:49,270 그리고 나는 실제로 할 경우 그 수학 밖으로, 그 수단 182 00:08:49,270 --> 00:08:53,920 그 백만 정렬 버블 정렬을 가진 사람 183 00:08:53,920 --> 00:09:01,800 나에게 499,999,500,000 걸릴 수 있습니다 결국 단계 또는 비교, 184 00:09:01,800 --> 00:09:02,900 우리는 단지 추정하는 것입니다. 185 00:09:02,900 --> 00:09:06,860 >> 즉, 아주 느린 느낌이 있지만, 솔직히 하나의 특정 입력을 측정 186 00:09:06,860 --> 00:09:09,160 이처럼 모든 것을 이야기하지 않습니다. 187 00:09:09,160 --> 00:09:14,050 그러나 실제로는 N 등이 제안 않습니다 크고 큰,이 알고리즘을 가져옵니다 188 00:09:14,050 --> 00:09:16,280 가지 느낌이 더와 더 나쁜, 또는 당신이 정말로 189 00:09:16,280 --> 00:09:20,450 그 고통을 느끼기 시작 지수, 즉, n은 제곱 190 00:09:20,450 --> 00:09:21,770 이는 꽤 빨리 추가합니다. 191 00:09:21,770 --> 00:09:25,340 그리고이 내용은 아니다 사실, 사람들에 손실 192 00:09:25,340 --> 00:09:29,640 몇 년 전 어느 상원 의원 누구 운동, 인터뷰를 위해 앉아 193 00:09:29,640 --> 00:09:32,180 구글의 에릭 슈미트, 당시 CEO, 194 00:09:32,180 --> 00:09:36,380 하고 질문에 도전했다 많은 오늘날 우리가 탐구하고있다. 195 00:09:36,380 --> 00:09:38,468 이제 살펴 보자. 196 00:09:38,468 --> 00:09:45,280 >> [동영상 재생] 197 00:09:45,280 --> 00:09:48,560 >> 상원 의원님, 당신은 여기 구글, 그리고 내가 좋아하는 198 00:09:48,560 --> 00:09:53,382 대통령의 생각하는 면접 등. 199 00:09:53,382 --> 00:09:56,434 지금은 구하기 힘든 거지? 대통령으로 작업, 200 00:09:56,434 --> 00:09:58,100 당신은 지금 혹독한 통해 것입니다. 201 00:09:58,100 --> 00:10:01,860 그것은 구글에 취업을하는 것도 어렵다. 202 00:10:01,860 --> 00:10:05,490 우리는 질문이, 우리 우리의 후보의 질문을, 203 00:10:05,490 --> 00:10:09,770 이 한 래리 Schwimmer에서입니다. 204 00:10:09,770 --> 00:10:14,760 뭐 ... 너희들은 내가 생각 해요 농담이 바로 여기입니다. 205 00:10:14,760 --> 00:10:17,930 가장 효율적인 방법으로는 무엇입니까 만 32 비트 정수를 정렬? 206 00:10:17,930 --> 00:10:21,800 207 00:10:21,800 --> 00:10:24,350 >> 그게 ... 208 00:10:24,350 --> 00:10:25,200 >> 미안 해요, 만약 ... 209 00:10:25,200 --> 00:10:27,400 >> - 아니, 아니, 아니. 210 00:10:27,400 --> 00:10:30,700 나는 거품 정렬을 생각 갈 수있는 잘못된 방법이 될 것입니다. 211 00:10:30,700 --> 00:10:34,165 212 00:10:34,165 --> 00:10:38,180 >> 제발, 누가 그에게 이런 말 했어요? 213 00:10:38,180 --> 00:10:40,590 나는 컴퓨터를 보지 않았다 당신의 배경에서 과학입니다. 214 00:10:40,590 --> 00:10:42,130 >> 귀신 잡는 거기에 우리의 스파이를 얻었다. 215 00:10:42,130 --> 00:10:44,930 216 00:10:44,930 --> 00:10:48,444 >> - 좋아,하자 다른 물어 보자 면접 질문입니다. 217 00:10:48,444 --> 00:10:49,300 >> [END VIDEO 재생] 218 00:10:49,300 --> 00:10:52,290 >> 스피커 : 그래서 이야기 하지만 특정 숫자, 219 00:10:52,290 --> 00:10:53,890 모두 도움이 될 수 없습니다. 220 00:10:53,890 --> 00:10:56,810 그것은 삶의 교훈 버블 아니다 정렬 만 입력을 제공, 221 00:10:56,810 --> 00:10:58,590 많은 500,000,000,000 등의 조치를 취할 수 있습니다. 222 00:10:58,590 --> 00:11:01,120 당신은 정말 일반화 할 수 없습니다 너무 효과적으로 것과 223 00:11:01,120 --> 00:11:03,560 좋은 디자인 결정을 내릴 프로그램을 작성할 때. 224 00:11:03,560 --> 00:11:07,070 그럼 방법에 불구하고 집중하자 우리는이 결과를 단순화 할 수 있습니다. 225 00:11:07,070 --> 00:11:11,780 >> 그래서 여기에 노란색으로 강조했습니다 N의 결과는 2의 제곱으로 나눈 226 00:11:11,780 --> 00:11:14,330 그렇게 만 제곱 2로 나눈 다음 227 00:11:14,330 --> 00:11:16,710 내가 강조했는지 궁극적 인 대답했다 228 00:11:16,710 --> 00:11:20,180 우리가 떨어져 차감 후 N 2로 나눈. 229 00:11:20,180 --> 00:11:24,850 그리고 지금 만들려고 해요 주장이며, 오프 빼면 누가 도대체​​ 무슨 상관이야 230 00:11:24,850 --> 00:11:30,060 이 조금 넘는 오래된 N 때 첫번째 이 공식의 일부가 너무 크다? 231 00:11:30,060 --> 00:11:33,910 그것은 다른 사람을 지배한다 이 용어는, n은 2로 나눈 제곱 232 00:11:33,910 --> 00:11:37,510 로, 명확하게, 훨씬 더 큰 N은 백만처럼 커진다 233 00:11:37,510 --> 00:11:41,450 그건 정말에서 큰 차이가 있습니다 500000000000 사이에 하루의 끝 234 00:11:41,450 --> 00:11:45,730 및 499,999,500,000? 235 00:11:45,730 --> 00:11:46,349 정말. 236 00:11:46,349 --> 00:11:48,640 그리고 지금 우리가 갈거야 컴퓨터 과학자가 같이 237 00:11:48,640 --> 00:11:53,270 그 낮은 차항을 무시하고 이 정말 같은 것을 가지고 238 00:11:53,270 --> 00:11:56,050 다만로 단순화 중요거야 용어입니다. 239 00:11:56,050 --> 00:12:00,315 더 큰 우리의 데이터 세트는 더 커 우리의 데이터베이스는, 더 많은 웹 페이지를 얻을 240 00:12:00,315 --> 00:12:02,690 우리는 더 많은 검색해야 친구가 페이스 북에있다. 241 00:12:02,690 --> 00:12:07,340 >> n이 커질수록, 우리가 정말이야 가장 큰 관심 예정 242 00:12:07,340 --> 00:12:11,560 의 이러한 분석 용어 우리의 알고리즘 성능을 제공합니다. 243 00:12:11,560 --> 00:12:16,230 그리고 당신이 무엇을 알고, 말할거야, 버블 정렬은 큰 O의 순서에, 244 00:12:16,230 --> 00:12:18,060 N의 주문에 제곱. 245 00:12:18,060 --> 00:12:20,090 그것은 정확히 n은 아니다 우리가 본 것처럼 제곱, 246 00:12:20,090 --> 00:12:22,060 하지만 누가 정말 걱정 그 작은 용어에 대한, 247 00:12:22,060 --> 00:12:24,390 솔직히 누가 정말 우리가 2로 나눈다면 상관이야? 248 00:12:24,390 --> 00:12:25,870 그건 그냥 상수 요소입니다. 249 00:12:25,870 --> 00:12:29,480 그리고 250 대 500,000,000,000입니다 억 거래의 정말 큰? 250 00:12:29,480 --> 00:12:32,190 난 그냥 일년 기다릴 수, 말 그대로 내 노트북​​을하자 251 00:12:32,190 --> 00:12:34,810 하드웨어에서 두 배 빠르게 얻을 와 차이의 종류 252 00:12:34,810 --> 00:12:36,650 단지 시간이 지남에 따라 자연적으로 사라집니다. 253 00:12:36,650 --> 00:12:39,300 >> 우리가 걱정하는 것은 식, 부분 254 00:12:39,300 --> 00:12:42,489 다를 것 식의 우리의 입력이 커지고수록. 255 00:12:42,489 --> 00:12:45,280 그리고 사실, 현실 세계에서, 즉, 점점 일어나고있는 일이지 256 00:12:45,280 --> 00:12:48,330 우리의 문제에 대한 입력과 알고리즘은 더 커지고있다. 257 00:12:48,330 --> 00:12:53,470 그래서 큰 O가 표기 될 것입니다, 점근 표기법, 우리가 단지 258 00:12:53,470 --> 00:12:57,160 컴퓨터 과학자가 설명하기로 사용 성능 또는 실행 시간 259 00:12:57,160 --> 00:12:58,130 알고리즘의. 260 00:12:58,130 --> 00:13:00,800 우리는 알고리즘을 비교할 수 있도록 서면 다른 컴퓨터에 261 00:13:00,800 --> 00:13:04,170 다른 사람들에 의해 사용함으로써 일부 근본적으로 유사한 메트릭 262 00:13:04,170 --> 00:13:07,557 비교의 수처럼 당신이있어 어쩌면 스왑의 수를 결정하거나, 263 00:13:07,557 --> 00:13:08,140 당신은하고 있어요. 264 00:13:08,140 --> 00:13:11,910 >> 우리가하지 않을거야 카운트 시간이며 265 00:13:11,910 --> 00:13:13,981 그 시계에 전달 일반적으로 벽에. 266 00:13:13,981 --> 00:13:16,230 우리가 걱정하지 않을거야 에 대해 얼마나 많은 메모리입니다 267 00:13:16,230 --> 00:13:17,820 당신은 오늘을 사용하는 즉 비록, 이상 268 00:13:17,820 --> 00:13:19,370 우리가 측정 할 수있는 다른 자원. 269 00:13:19,370 --> 00:13:23,610 우리는 우리의 분석의 기준으로 볼거야 그냥 기본 작업에, 사람, 270 00:13:23,610 --> 00:13:25,930 솔직히, 당신은 시각적으로 볼 수 있습니다. 271 00:13:25,930 --> 00:13:30,700 N의 큰 O와 같은 뭔가 그래서 제곱, 나는 N의 O 제곱 주장 272 00:13:30,700 --> 00:13:35,820 위 소위에 바인딩 버블 정렬의 실행 시간. 273 00:13:35,820 --> 00:13:38,820 즉, 당신이 경우 가 있음을 주장하고 싶어 274 00:13:38,820 --> 00:13:41,370 얼마나 많은에이 상한 알고리즘이 걸릴 수 있습니다 단계, 275 00:13:41,370 --> 00:13:46,240 그것은 N의 큰 O에있을 것 이 경우 제곱, 상한. 276 00:13:46,240 --> 00:13:49,710 >> 내가 대신을 변경하는 경우 이야기는하지 버블 정렬에 대해 할 수 277 00:13:49,710 --> 00:13:50,910 그러나이 상한에 대한 정보가 포함되어 있습니다. 278 00:13:50,910 --> 00:13:54,030 당신은 알고리즘을 생각할 수 우리는 이미 검토 한 것을 279 00:13:54,030 --> 00:13:59,530 그 상한, 최대 시간이나 작업의 측정, 280 00:13:59,530 --> 00:14:04,300 경계라고 할 것이다 N에 의하여, 선형 함수, 281 00:14:04,300 --> 00:14:07,260 하지 곡선이다 차 한? 282 00:14:07,260 --> 00:14:10,780 알고리즘이 그 남자들 항상 더 이상 수행되지 않습니다 283 00:14:10,780 --> 00:14:12,860 N 단계, 또는 같은보다 2N 단계 또는 3N 단계? 284 00:14:12,860 --> 00:14:13,360 그래? 285 00:14:13,360 --> 00:14:15,030 >> 청중 : 찾기 목록에서 가장 큰 수? 286 00:14:15,030 --> 00:14:16,930 >> 스피커 : 완벽한 찾는 목록에서 가장 큰 수입니다. 287 00:14:16,930 --> 00:14:18,940 나는 목록을 제공하고있어 경우 예를 들어 사람, 288 00:14:18,940 --> 00:14:21,440 사람들 각각은 숫자를 잡고 최대 수는 무엇인가 289 00:14:21,440 --> 00:14:23,770 단계는 저를 취해야한다, 합리적으로 스마트 사람, 290 00:14:23,770 --> 00:14:27,530 이 목록에서 가장 큰 사람을 찾는 방법은? 291 00:14:27,530 --> 00:14:28,100 N, 오른쪽? 292 00:14:28,100 --> 00:14:31,320 최악의 경우, 여기서 인해 가장 큰 값이 될 수 있을까요? 293 00:14:31,320 --> 00:14:32,700 오른쪽 끝에있는 모든 방법. 294 00:14:32,700 --> 00:14:34,575 최악의 경우에 따라서 상단 구속, 나는 수도 295 00:14:34,575 --> 00:14:36,450 모든 길을 가야 여기와처럼, 296 00:14:36,450 --> 00:14:39,170 아, 여기 여덟이다, 또는 값이 무엇이든. 297 00:14:39,170 --> 00:14:41,330 지금은 그냥 바보 같은 것 나는 오른쪽으로 갈 유지하는 경우? 298 00:14:41,330 --> 00:14:43,840 점점 더 많은 요소를 찾고 그 중 마지막이 넘으면? 299 00:14:43,840 --> 00:14:45,340 그래서 확실하게, n은 상한이다. 300 00:14:45,340 --> 00:14:47,420 나는 취할 필요가 없습니다 보다 더 많은 단계. 301 00:14:47,420 --> 00:14:51,580 >> 그래서 그 대신하면 내가 제안 무엇을 이 세상에서 알고리즘이있다 그 302 00:14:51,580 --> 00:14:57,750 야 실행 시간이 로그 n의 큰 O에 묶여, n은 로그인? 303 00:14:57,750 --> 00:15:00,390 우리는 어디에서 이것을 전에 본 적 있어요? 304 00:15:00,390 --> 00:15:00,890 그래? 305 00:15:00,890 --> 00:15:03,309 >> 청중 : 전화 번호부에 문제점을? 306 00:15:03,309 --> 00:15:04,850 스피커 : 전화 번호부 문제처럼. 307 00:15:04,850 --> 00:15:07,754 방법의 측정 무엇 많은 시간 또는 얼마나 많은 눈물을 308 00:15:07,754 --> 00:15:10,170 나 같은 사람을 찾기 위해 걸렸다 전화 번호부에서 마이크 스미스? 309 00:15:10,170 --> 00:15:13,212 우리는 로그 N을 요구했다, 그리고 심지어 익숙하지 않은 경우 또는 그것입니다 310 00:15:13,212 --> 00:15:15,170 무엇을 조금 헷갈리는 로그 또는 지수이었다, 311 00:15:15,170 --> 00:15:17,650 그냥 로그 N 기억 일반적으로 프로세스를 지칭 312 00:15:17,650 --> 00:15:20,790 이 경우, 분할 다시, 다시 반으로 뭔가 313 00:15:20,790 --> 00:15:25,790 다시, 다시, 등이 그 당신이 그렇게하는 것처럼 점점 더 작은 가져옵니다. 314 00:15:25,790 --> 00:15:28,470 >> n은 물론, 의미의 그래서 로그 전화 번호부 예, 315 00:15:28,470 --> 00:15:32,662 이론 이진 검색에, 때 칠판에 가상 문을했다 316 00:15:32,662 --> 00:15:34,370 또는 숀 때 무언가를 찾고. 317 00:15:34,370 --> 00:15:37,374 그는 이진 검색을 사용했다면, N 로그 얼마에 상한 것 318 00:15:37,374 --> 00:15:38,040 걸리는 시간. 319 00:15:38,040 --> 00:15:44,027 그러나에서 실행하는 알고리즘 n은 어떤 키 세부 사항을 가정셨습니까? 320 00:15:44,027 --> 00:15:45,360 목록이 오른쪽으로 정렬되었는지? 321 00:15:45,360 --> 00:15:47,789 당신의 알고리즘은 경우 잘못 입력은 정렬되지 않습니다 322 00:15:47,789 --> 00:15:49,830 아직 당신이 사용하는 이진 검색과 같은 323 00:15:49,830 --> 00:15:51,704 당신이 이동할 수 있기 때문에 바로 요소를 통해 324 00:15:51,704 --> 00:15:53,600 실현하지 않고는 참으로있다. 325 00:15:53,600 --> 00:15:55,600 >> 지금 이것은 하나의 큰 O를 무엇을 의미하는 것인가? 326 00:15:55,600 --> 00:15:59,117 이 알고리즘 것을 의미하지 않는다 , 오직 하나의 단계 소요 327 00:15:59,117 --> 00:16:01,200 그냥이 소요 의미 단계의 상수. 328 00:16:01,200 --> 00:16:04,060 어쩌면 그것은 아마도 그건, 1이다 10, 어쩌면 1000입니다, 329 00:16:04,060 --> 00:16:07,750 그러나 독립적 야 문제의 크기. 330 00:16:07,750 --> 00:16:10,850 아무리 큰 n은, 일정 시간 알고리즘 331 00:16:10,850 --> 00:16:12,747 항상 동일한 단계 번호 걸린다. 332 00:16:12,747 --> 00:16:15,080 그렇다면 알고리즘 수 있습니다 우리는에 대해 아니면 그냥 얘기했습니다 333 00:16:15,080 --> 00:16:20,418 직관적으로 그 것을 당신에게 온다 항상 소위 일정 시간에 실행? 334 00:16:20,418 --> 00:16:20,918 그래? 335 00:16:20,918 --> 00:16:22,001 >> 관객 : 두 숫자를 추가합니다. 336 00:16:22,001 --> 00:16:25,320 스피커는 : 두 숫자를 추가 2 더하기 2는 완료, 4에 해당합니다. 337 00:16:25,320 --> 00:16:27,227 그래서 작동 할 수 있습니다, 그 밖의 무엇? 338 00:16:27,227 --> 00:16:28,560 어떻게 더 현실 세계에 대한, 그래? 339 00:16:28,560 --> 00:16:30,686 >> 청중 : 찾기 목록에 제일 먼저. 340 00:16:30,686 --> 00:16:32,810 SPEAKER : 제 찾기 목록에있는 요소 확인합니다. 341 00:16:32,810 --> 00:16:34,540 우리는 실제로 얘기했습니다 이미 배열에 대한, 342 00:16:34,540 --> 00:16:36,540 에서 당신 얻는 방법 배열의 첫 번째 요소 343 00:16:36,540 --> 00:16:40,465 아무리 긴 배열은 C 코드에? 344 00:16:40,465 --> 00:16:43,090 당신은 브래킷처럼 사용 제로 표기는, 빵, 거기있어. 345 00:16:43,090 --> 00:16:46,120 그리고 옆으로 참으로 배열, 지원 뭔가 일반적으로 공지 346 00:16:46,120 --> 00:16:49,240 랜덤 액세스와 같은, 랜덤 액세스 메모리, 말 그대로 수 있기 때문에 347 00:16:49,240 --> 00:16:50,284 어느 한 장소로 이동합니다. 348 00:16:50,284 --> 00:16:52,700 우리는 단순히이 더 많은 작업을 수행 할 수 있습니다 우리는 주 제로로 되감기 할 수 있습니다 349 00:16:52,700 --> 00:16:53,900 때 우리는 스크래치를했다. 350 00:16:53,900 --> 00:16:59,707 그것은 걸릴 않았다 얼마나 많은 시간을 스크래치에서 블록이 실행하는 말? 351 00:16:59,707 --> 00:17:00,790 그냥 일정 시간, 오른쪽? 352 00:17:00,790 --> 00:17:03,960 , 뭔가 말 말 뭔가, 그것은 중요하지 않습니다 353 00:17:03,960 --> 00:17:07,359 큰 상처 세계가 얼마나, 그것은 항상 동일한 시간이 걸릴 것 354 00:17:07,359 --> 00:17:08,490 단순히 무언가를 말할 수 있습니다. 355 00:17:08,490 --> 00:17:11,089 >> 그래서 일정 시간이있어, 하지만 플립 측면은 무엇인가? 356 00:17:11,089 --> 00:17:13,030 그 상위 인 경우 경계, 우리는 무엇을하려는 경우 357 00:17:13,030 --> 00:17:17,089 하한을 설명하기 위해 우리의 알고리즘의 실행 시간을? 358 00:17:17,089 --> 00:17:19,852 거의 최상의 경우 잠재적으로, 만약에 당신, 359 00:17:19,852 --> 00:17:23,060 이 용어는 최선을 적용 할 수 있지만 의 경우, 최악의 경우, 평균의 경우 더 360 00:17:23,060 --> 00:17:26,359 일반적으로,하지만 그냥 집중하자 하한에 더 일반적으로. 361 00:17:26,359 --> 00:17:31,920 무슨 일이있는 알고리즘이다 하부는, N 단계의 경계 362 00:17:31,920 --> 00:17:33,350 또는 2N 단계 또는 3N 단계? 363 00:17:33,350 --> 00:17:36,241 n 개의 단계 중 일부 인자 즉, 그 하한입니다. 364 00:17:36,241 --> 00:17:36,740 그래? 365 00:17:36,740 --> 00:17:37,910 >> 대상 : 거품 정렬? 366 00:17:37,910 --> 00:17:41,610 >> 스피커는 : 버블 정렬이됩니다 당신이 최소한 n 개의 단계, 왜? 367 00:17:41,610 --> 00:17:42,279 그 이유는 무엇입니까? 368 00:17:42,279 --> 00:17:45,320 왜 그 시작은 당신에게 와서해야 직관적으로,이 경우에도 단지 369 00:17:45,320 --> 00:17:46,530 아직? 370 00:17:46,530 --> 00:17:47,030 그래? 371 00:17:47,030 --> 00:17:47,990 >> 청중 : [들리지]. 372 00:17:47,990 --> 00:17:51,652 373 00:17:51,652 --> 00:17:52,360 스피커 : 그렇지. 374 00:17:52,360 --> 00:17:55,810 의 최상의 시나리오 거품 정렬 알고리즘을 많이 375 00:17:55,810 --> 00:17:58,769 나는 당신에게 8 명이 손 경우 누가 이미 분류되어, 376 00:17:58,769 --> 00:18:00,560 그것은 어리석은 것 당신을 위해, 알고리즘, 377 00:18:00,560 --> 00:18:02,202 앞뒤로 이동합니다 두 번 이상, 오른쪽? 378 00:18:02,202 --> 00:18:04,285 즉시로 인해 한 번 목록을 도보 379 00:18:04,285 --> 00:18:08,090 당신이 실현 오해야, 내가 만든 없음 스왑이 목록은 종료 정렬됩니다. 380 00:18:08,090 --> 00:18:09,700 그러나 그것은 당신이 N 조치를 취할 것입니다. 381 00:18:09,700 --> 00:18:12,033 >> 그리고 반대로, 어떻게 다른거야 그것에 대해 생각의 방법은? 382 00:18:12,033 --> 00:18:15,240 버블 정렬은 오메가입니다, 그래서 N의, 말하자면, 383 00:18:15,240 --> 00:18:19,050 당신이 보면 때문에 n보다 적은 요소, 무엇을 384 00:18:19,050 --> 00:18:23,009 근본적인 문제는 무엇입니까? 385 00:18:23,009 --> 00:18:24,550 이 분류 있다면 당신이 바로 모른다. 386 00:18:24,550 --> 00:18:26,800 우리는 팔에 힘 눈을 인간 사람과는 같이 오, 정렬 할 수있어 387 00:18:26,800 --> 00:18:28,430 그 날 N 단계를 수행하지 못했지만, 그것은했다. 388 00:18:28,430 --> 00:18:30,810 당신의 눈에도 종류의 생각 의 비전의 큰 필드가 389 00:18:30,810 --> 00:18:33,184 당신은 팔 요소 보았다, 당신은 팔명 보았다 390 00:18:33,184 --> 00:18:34,610 그 효과적으로 여덟 단계를합니다. 391 00:18:34,610 --> 00:18:38,612 그리고 나는 전체를 통해 도보 경우에만 목록 내가 예, 분류, 실현 않습니다. 392 00:18:38,612 --> 00:18:41,320 나는 중지하면 중간의 모든 생각 오른쪽이 꽤 지금까지 분류되어있어, 393 00:18:41,320 --> 00:18:42,520 이 분류 아니에요 확률은 무엇입니까? 394 00:18:42,520 --> 00:18:44,186 즉, 정확하지 않을 알고리즘. 395 00:18:44,186 --> 00:18:46,250 더 빨리,하지만 잘못 될 수 있습니다. 396 00:18:46,250 --> 00:18:48,500 >> 그래서 지금 우리는 방법을 하한을 기술 397 00:18:48,500 --> 00:18:49,710 일정한 시간에 대한 무엇? 398 00:18:49,710 --> 00:18:54,565 무엇 낮은이있는 알고리즘이다 하나는 실행 시간에 구속? 399 00:18:54,565 --> 00:18:58,350 1 단계, 2 단계, 10 단계, 그러나 상수 N 독립적 400 00:18:58,350 --> 00:18:59,310 입력의 크기? 401 00:18:59,310 --> 00:19:03,930 402 00:19:03,930 --> 00:19:04,600 그래, 다시. 403 00:19:04,600 --> 00:19:05,309 >> 청중 : PRINTF? 404 00:19:05,309 --> 00:19:06,183 스피커 : 무엇입니까? 405 00:19:06,183 --> 00:19:07,184 청중 : PRINTF? 406 00:19:07,184 --> 00:19:07,850 스피커 : PRINTF. 407 00:19:07,850 --> 00:19:08,400 확인, 확인을 클릭합니다. 408 00:19:08,400 --> 00:19:10,720 그래서 단계의 고정 번호를합니다. 409 00:19:10,720 --> 00:19:13,170 그리고 지금은 그 아니예요한다 우리는 C 코드에 대해 얘기하고 410 00:19:13,170 --> 00:19:16,040 하지 스크래치, 뭔가 말처럼, printf와 함께, 411 00:19:16,040 --> 00:19:17,710 우리는 조심 얻을 시작해야합니다. 412 00:19:17,710 --> 00:19:21,090 printf의 걸릴 않기 때문에 입력은 문자열입니다, 413 00:19:21,090 --> 00:19:23,220 문자열은 기술적으로 길이가 않습니다. 414 00:19:23,220 --> 00:19:25,530 우리가 지금 선택 싶다면 당신, 당신이 괜찮다면, 415 00:19:25,530 --> 00:19:29,430 기술적으로 우리는 printf의를 주장 할 수 가변 길이의 입력을 받아 않습니다, 416 00:19:29,430 --> 00:19:32,270 확실히 그것은 이상이 소요될 수 있습니다 시간이 긴 문자열을 인쇄합니다 417 00:19:32,270 --> 00:19:33,560 이 길이보다. 418 00:19:33,560 --> 00:19:36,570 >> 그래서 우리는 무엇을 고려하는 경우 정렬 및 예제를 찾고? 419 00:19:36,570 --> 00:19:40,450 휴대 전화의 마이크 스미스는 요 책, 또는 더 일반적으로 이진 검색? 420 00:19:40,450 --> 00:19:42,220 최선의 경우, 어떤 일이 일어날 수 있습니까? 421 00:19:42,220 --> 00:19:45,577 I는, BAM, 전화 번호부를 열고 마이크 스미스의 수는있다. 422 00:19:45,577 --> 00:19:46,660 지금 당장 그를 호출 할 수 있습니다. 423 00:19:46,660 --> 00:19:49,390 >> 어쩌면 두 단계 한 단계를 갔다, 그러나 단계 상수 424 00:19:49,390 --> 00:19:50,230 운이 좋았어 경우. 425 00:19:50,230 --> 00:19:52,570 그리고 솔직히 말해서, 우리는에보고 월요일 동기생 426 00:19:52,570 --> 00:19:54,710 두 번 연속 꽤 운. 427 00:19:54,710 --> 00:19:57,050 그리고 참으로 일정 하였다 하한 시간 428 00:19:57,050 --> 00:20:01,280 문제의 알고리즘을 찾기위한 그 닫힌 뒤에 번호 50 429 00:20:01,280 --> 00:20:01,830 문. 430 00:20:01,830 --> 00:20:06,400 >> 자, 옆으로, 당신은 발견 할 경우로 모두 큰 O, 상한이 431 00:20:06,400 --> 00:20:09,310 오메가, 낮은 바인딩 즉 동일한 하나의 432 00:20:09,310 --> 00:20:11,830 같은 식이다 괄호, 당신도 할 수 있습니다 433 00:20:11,830 --> 00:20:15,170 그냥 멋진 될 말 뭔가 세타에 434 00:20:15,170 --> 00:20:18,270 n 또는 다른 값의 세타. 435 00:20:18,270 --> 00:20:20,661 그건 그냥 때 큰 의미 O와 오메가는 동일합니다. 436 00:20:20,661 --> 00:20:21,910 이제 선택의 종류는? 437 00:20:21,910 --> 00:20:23,400 의이 새로운 어휘를 사용하자. 438 00:20:23,400 --> 00:20:27,407 선택 정렬에서는 어떤 일이 우리를했다 다시하고 다시하고 다시? 439 00:20:27,407 --> 00:20:29,990 나는 앞뒤로가는 목록, 누구를 찾고? 440 00:20:29,990 --> 00:20:33,260 441 00:20:33,260 --> 00:20:34,730 가장 작은 수입니다. 442 00:20:34,730 --> 00:20:37,560 >> 그래서 얼마나 많은 단계 방법 많은 비교는 I를했다 443 00:20:37,560 --> 00:20:43,250 파악하기 위해 확인해야하는 사람들 리스트에서 가장 작은 요소였다? 444 00:20:43,250 --> 00:20:44,437 n은 마이너스 1, 오른쪽? 445 00:20:44,437 --> 00:20:47,770 난 그냥 난 일을 시작하는 경우 때문에 주어진 내가 그 사람이나 그 여자를 비교하기 시작, 446 00:20:47,770 --> 00:20:49,519 그 사람이나 그 여자, 그 후 그녀, 그 사람이나 그 여자, I 또는 447 00:20:49,519 --> 00:20:52,010 요소 만 페어링 할 수 있습니다 함께 N 마이너스 1 번. 448 00:20:52,010 --> 00:20:55,630 그래서 선택은 일종의 유사합니다 N 1을 뺀 처음 단계를 반복합니다. 449 00:20:55,630 --> 00:20:59,540 >> 그것은에 데려다 않는 몇 단계 둘째 작은 요소를 찾을? 450 00:20:59,540 --> 00:21:02,920 N 마이너스 2, 난 때문에 바보 인 나는 같은 사람보고 계속하는 경우 451 00:21:02,920 --> 00:21:06,280 다시 나는 이미 그를 선택한 경우 혹은 그녀의 자신의 장소에 넣어. 452 00:21:06,280 --> 00:21:09,270 그리고 세 번째 단계, n은 마이너스 3, 다음, n은 마이너스 4. 453 00:21:09,270 --> 00:21:11,020 우리는이 패턴을 보았다 이전에, 실제로 454 00:21:11,020 --> 00:21:13,460 선택 정렬과 유사 바인딩 상부가 455 00:21:13,460 --> 00:21:16,210 의 N 우리가 그 요약을 할 경우 제곱. 456 00:21:16,210 --> 00:21:19,790 그 하한, 선택 정렬은 무엇입니까? 457 00:21:19,790 --> 00:21:25,350 최소한, 얼마나 많은 시간을 반드시 선택 우리는 월요일에 정의 된 정렬이 걸릴? 458 00:21:25,350 --> 00:21:29,370 459 00:21:29,370 --> 00:21:30,490 두 가지 옵션을 제안한다. 460 00:21:30,490 --> 00:21:32,360 아마 이전과 같이, N입니다. 461 00:21:32,360 --> 00:21:35,040 어쩌면 그것으로, 제곱 N 것 상한으로 지금이다. 462 00:21:35,040 --> 00:21:35,874 >> 청중 : N 제곱. 463 00:21:35,874 --> 00:21:36,664 스피커 : 제곱 명. 464 00:21:36,664 --> 00:21:37,368 왜? 465 00:21:37,368 --> 00:21:40,060 >> 청중 : 당신은 가지고 있기 때문에 [INAUDIBLE] 정의합니다. 466 00:21:40,060 --> 00:21:41,510 >> 스피커 : 그렇지. 467 00:21:41,510 --> 00:21:45,077 나는 선택의 종류를 정의 이상으로 꽤 순진, 계속, 468 00:21:45,077 --> 00:21:46,160 가장 작은 요소를 찾을 수 있습니다. 469 00:21:46,160 --> 00:21:47,770 가장 작은 요소를 찾아 다시 이동합니다. 470 00:21:47,770 --> 00:21:49,490 가장 작은 요소를 찾아 다시 이동합니다. 471 00:21:49,490 --> 00:21:51,700 의 어떤 종류의가 없습니다 이 점에서 최적화 472 00:21:51,700 --> 00:21:54,350 나를 후 취소 할 수 있습니다 단지 N 정도 단계. 473 00:21:54,350 --> 00:21:57,080 그래서 실제로 선택 정렬 N의 오메가 제곱. 474 00:21:57,080 --> 00:22:00,667 >> 내가 찍은 삽입 정렬, 어떻 나는 주어진 한 후, 나는 그를 풍덩 사람 475 00:22:00,667 --> 00:22:01,750 혹은 그녀의 오른쪽 자리에? 476 00:22:01,750 --> 00:22:04,958 그럼, 두 번째 사람에게 진행 바로 이곳에서 그 사람이나 그 여자를 풍덩. 477 00:22:04,958 --> 00:22:07,910 그런 다음 사람은 풍덩 그 사람은 바로 이곳에서. 478 00:22:07,910 --> 00:22:10,537 이 매우 것을 알 선형은, 말하자면. 479 00:22:10,537 --> 00:22:12,620 나는 해요, 직선 해요 앞뒤로 않을, 480 00:22:12,620 --> 00:22:16,080 난 절대 정말 다시 찾고, 그러나 한 내가 그를 삽입 할 때 무슨 일이 일어나고 481 00:22:16,080 --> 00:22:20,302 의 시작 부분에 그녀의 또는 목록 우리가 월요일에했던 것처럼? 482 00:22:20,302 --> 00:22:21,010 무슨 일이야? 483 00:22:21,010 --> 00:22:21,510 그래? 484 00:22:21,510 --> 00:22:23,122 청중 : [들리지]. 485 00:22:23,122 --> 00:22:24,830 스피커 : 그래, 그 속셈인가? 486 00:22:24,830 --> 00:22:26,746 당신은 기억 할 수 급우들은 경우 487 00:22:26,746 --> 00:22:29,670 어떤 운동을하고 있었다 자신의 발, 즉 작업이었다. 488 00:22:29,670 --> 00:22:33,610 그래서 만약이 삼명 여기에 있었고, 새로운 사람은이 방법을 통해 지배 489 00:22:33,610 --> 00:22:37,360 이 같은 긴 무대에서, 물론, 그는 또는 그녀는 끝까지 갈 수있다. 490 00:22:37,360 --> 00:22:40,074 그러나 우리는 무슨 생각을하는지 컴퓨터 메모리 어레이 491 00:22:40,074 --> 00:22:41,990 이 사람들은 가고 이상 셔플해야합니다 492 00:22:41,990 --> 00:22:43,260 그 사람을위한 공간을 확인합니다. 493 00:22:43,260 --> 00:22:46,930 그리고 그 n은 마이너스 1 shufflings, n은 음이 shufflings, N 494 00:22:46,930 --> 00:22:50,660 마이너스 3 shufflings은 가지입니다 하지 내 앞에, 내 뒤에 발생 495 00:22:50,660 --> 00:22:52,710 이전과 같이, 어떤 의미에서. 499 00:22:52,557 --> 00:22:54,640 이제 옆으로, 등 당신은 온라인으로 볼 수도 500 00:22:54,640 --> 00:22:57,699 당신에 대한 주위 파고 시작하는 경우 종류는 너무 많은 다른 사람있다 501 00:22:57,699 --> 00:22:59,490 그들을 밖으로이 일부 다른 사람보다 더 나은. 502 00:22:59,490 --> 00:23:02,200 사실, bogosort는 하나입니다 즉, 조회 재미 가지입니다. 503 00:23:02,200 --> 00:23:06,650 Bogosort는 세트를 취득 숫자 또는 한 벌의 카드를 말한다 504 00:23:06,650 --> 00:23:09,870 무작위를 섞고, 그리고 검사들은 정렬하는 경우. 505 00:23:09,870 --> 00:23:12,130 없는 경우에, 다시 않습니다. 506 00:23:12,130 --> 00:23:14,140 없는 경우에, 다시 않습니다. 507 00:23:14,140 --> 00:23:15,440 그렇지 않으면 다시한다. 508 00:23:15,440 --> 00:23:17,060 믿을 수 없을만큼 바보. 509 00:23:17,060 --> 00:23:19,520 >> 그리고 실제로, 당신은 읽는다면 위키 백과의 글을 추천, 510 00:23:19,520 --> 00:23:21,200 별명은 바보 일종이다. 511 00:23:21,200 --> 00:23:25,180 그것은 결국 작동합니다, 희망, 충분한 시간을 주어, 512 00:23:25,180 --> 00:23:28,240 하지만 시간의 양 꽤 시간이 걸릴 수 있습니다. 513 00:23:28,240 --> 00:23:31,650 내가하자 수 있다면 속도 것들 그래서 이전 메리 베스의 예에서 최대, 514 00:23:31,650 --> 00:23:35,150 몇 가지 요소를 가짐으로써, 하지만 둘 이상의 프로세서. 515 00:23:35,150 --> 00:23:37,100 두 사람이, 당신이 경우 나 실까하지. 516 00:23:37,100 --> 00:23:40,972 방법에 대한 하나 여기에, 그리고 의가 아무런 일을 봐야 ...하지하자? 517 00:23:40,972 --> 00:23:41,722 저기 아무도? 518 00:23:41,722 --> 00:23:42,221 확인을 클릭합니다. 519 00:23:42,221 --> 00:23:44,190 검은 색 당신 셔츠, 그래, 아래에 제공됩니다. 520 00:23:44,190 --> 00:23:45,000 좋아, 당신의 이름은 무엇입니까? 521 00:23:45,000 --> 00:23:45,720 >> 청중 : 피터. 522 00:23:45,720 --> 00:23:46,100 >> 스피커 : 무엇입니까? 523 00:23:46,100 --> 00:23:46,766 >> 청중 : 피터. 524 00:23:46,766 --> 00:23:49,450 스피커는 : 피터, 데이비드, 당신을 만나서 반갑습니다. 525 00:23:49,450 --> 00:23:53,670 좋아, 우리가 여기에 베드로가 당신 경우 여기에 테이블에 가고 싶어. 526 00:23:53,670 --> 00:23:54,550 그리고 당신의 이름은 무엇입니까? 527 00:23:54,550 --> 00:23:55,216 >> 청중 : 엘레나. 528 00:23:55,216 --> 00:23:55,970 스피커 : 엘레나. 529 00:23:55,970 --> 00:23:57,030 OK, 만나서 반갑습니다. 530 00:23:57,030 --> 00:23:58,060 엘레나는 피터를 만난다. 531 00:23:58,060 --> 00:23:59,170 피터, 엘레나. 532 00:23:59,170 --> 00:24:02,290 그리고 우리는 앤드류가 필요합니다 여기로 잘 부탁합니다. 533 00:24:02,290 --> 00:24:06,107 그리고 당신의 도전은 것입니다 한 벌의 카드를 정렬 할 수 있습니다. 534 00:24:06,107 --> 00:24:08,190 그리고 익숙하지 않은 경우, 갑판 카드를해야 궁극적으로 535 00:24:08,190 --> 00:24:11,064 같은 작은 선물을 정렬 할 수 이것은 우리가 다음, 클럽을 볼 수있는 곳 536 00:24:11,064 --> 00:24:13,660 스페이드, 그 마음과 하나 에이스부터 다이아몬드, 537 00:24:13,660 --> 00:24:15,570 왕까지 모든 방법. 538 00:24:15,570 --> 00:24:20,890 >> 카드는 내가 당신에게 줄거야 양 (52)이 될 것입니다. 539 00:24:20,890 --> 00:24:23,160 우리는 유사에 갈거야 잠시 시간을. 540 00:24:23,160 --> 00:24:26,410 우리는 앤드류를 던질거야 여기에 화면에, 541 00:24:26,410 --> 00:24:28,170 이 작업을 수행 할뿐만 있도록하면 볼 수 있습니다. 542 00:24:28,170 --> 00:24:31,070 그리고이 모든 것을 모든 더 볼 수 있습니다 543 00:24:31,070 --> 00:24:33,490 이 내가 아마존에있어 카드입니다. 544 00:24:33,490 --> 00:24:42,861 그래서 그들은 무작위로 이미 분류, 우리는 당신을 시간이 될 것입니다. 545 00:24:42,861 --> 00:24:44,610 그리고 우리는에 갈거야 실제이 시간 유지 546 00:24:44,610 --> 00:24:47,820 그래서 우리는 당신을 압박 해 볼거야 그렇지 않으면이 지루한 얻을 것이다 때문에 547 00:24:47,820 --> 00:24:48,460 신속. 548 00:24:48,460 --> 00:24:53,860 당신은 52을 정렬을 진행 할 수 있다면 지금 함께 몇 가지 방법을 통해 요소. 549 00:24:53,860 --> 00:25:04,710 550 00:25:04,710 --> 00:25:07,180 >> 그리고 또, 같이 우리는이 시계 사람은 결국 무엇을, 어떻게 551 00:25:07,180 --> 00:25:10,200 명백한을 생산하는 것입니다 결과는 정말 생각 552 00:25:10,200 --> 00:25:12,962 그들이 어떻게 각각 그 일을하고, 어떻게 당신이 그것을 설명 할 수 있습니다. 553 00:25:12,962 --> 00:25:15,045 다시, 이러한이므로 모든 프로세스, 알고리즘 554 00:25:15,045 --> 00:25:17,090 인간으로 당연한 우리가 걸릴 수있다. 555 00:25:17,090 --> 00:25:22,349 그러나 당신은 아마 긴 했어 직관, 오래 전에도 556 00:25:22,349 --> 00:25:24,390 복용에 대한 생각 컴퓨터 과학 수업 당신에게 557 00:25:24,390 --> 00:25:27,223 직관이 있었다 수 있습니다 이는이 같은 문제를 해결합니다. 558 00:25:27,223 --> 00:25:29,560 그러나 일단 당신이 인식 패턴과 시작 559 00:25:29,560 --> 00:25:32,407 와 같이 공식화 이러한 문제를 해결하고, 560 00:25:32,407 --> 00:25:35,490 당신은 당신이 많은 해결을 찾을 수 있습니다 더 재미 있고 훨씬 더 복잡 561 00:25:35,490 --> 00:25:39,190 신속하게 문제. 562 00:25:39,190 --> 00:25:42,351 그래서 청중 사람, 무슨입니다 알고리즘의 적어도 하나의 원소 563 00:25:42,351 --> 00:25:43,350 이 곳에서 사용하고 있는지? 564 00:25:43,350 --> 00:25:44,275 >> 청중 : [들리지] 565 00:25:44,275 --> 00:25:45,150 스피커 : 무엇입니까? 566 00:25:45,150 --> 00:25:47,062 청중 : 정장으로. 567 00:25:47,062 --> 00:25:47,770 스피커 : 정장으로. 568 00:25:47,770 --> 00:25:50,630 그래서 첫째 그들은 클러스터링 아르 다이아몬드의 모두 함께 569 00:25:50,630 --> 00:25:52,560 그것은 전부를 보인다 함께 보인다 마음, 570 00:25:52,560 --> 00:25:56,520 등, 존중하지 않고 카드의 숫자. 571 00:25:56,520 --> 00:26:00,900 그리고 지금은 예를 들어, 표시, 숫자를 정렬합니다. 572 00:26:00,900 --> 00:26:06,870 573 00:26:06,870 --> 00:26:08,910 아주 좋아. 574 00:26:08,910 --> 00:26:12,370 >> 좋아,에 무슨 일이 일어나고 있는지 여기에 최종 단계가 될? 575 00:26:12,370 --> 00:26:16,950 우리는 네 개의 정렬 된 정장, 일단 무엇을 우리가 네 더미에 어떻게해야합니까 576 00:26:16,950 --> 00:26:20,059 하나를 달성하기 위해 아주 간단하게, 갑판을 분류? 577 00:26:20,059 --> 00:26:21,350 그래서 우리는 다시 병합해야합니다. 578 00:26:21,350 --> 00:26:25,160 >> 그래서 재미있는 아이디어가 있다는 것을 다시 daresay도 매우 직관적이다 579 00:26:25,160 --> 00:26:28,140 당신은 때렸다 결코 있습니다 경우 그것에 라벨의 종류. 580 00:26:28,140 --> 00:26:31,900 분할의 근본적인 개념 문제가되지 절반이 시간에, 581 00:26:31,900 --> 00:26:33,410 하지만 적어도 네 조각으로. 582 00:26:33,410 --> 00:26:36,810 거의 해결 기본적으로 동일한 문제 583 00:26:36,810 --> 00:26:40,480 서로 격리에서, 다음 결과를 합병. 584 00:26:40,480 --> 00:26:46,940 585 00:26:46,940 --> 00:26:50,140 그리고, 우수는 다. 586 00:26:50,140 --> 00:26:52,140 좋아, 큰 라운드 박수, 경우 우리는 할 수 있습니다. 587 00:26:52,140 --> 00:26:56,480 >> [박수] 588 00:26:56,480 --> 00:26:59,740 >> 스피커 : 나는 당신이거야 아무 생각이 이와 함께 할, 그러나 여기 당신은 간다. 589 00:26:59,740 --> 00:27:01,690 정말 감사합니다. 590 00:27:01,690 --> 00:27:04,660 그럼, 이분을 보자 및 팔초, 591 00:27:04,660 --> 00:27:07,490 당신은 당신의 친구에 도전하고자합니다. 592 00:27:07,490 --> 00:27:12,160 무엇 다음에가는 이 뺏을 수 593 00:27:12,160 --> 00:27:13,830 우리는 더 일반적으로 활용할 수있는? 594 00:27:13,830 --> 00:27:16,080 음, 다시 생각 숫자의이 배열, 595 00:27:16,080 --> 00:27:19,060 및 일부 지금 다시 생각 우리가 과거에 작성한 의사, 596 00:27:19,060 --> 00:27:22,080 이는 대한 의사이었다 전화 번호부 문제를 해결. 597 00:27:22,080 --> 00:27:25,150 이에 의해 의사의 I에서 보다 체계적인 방법을 열거 598 00:27:25,150 --> 00:27:28,400 나는 매우 직관적 어떻게했는지 설명하는 전화 분할 알고리즘의 인간 599 00:27:28,400 --> 00:27:31,650 반 책은, 반복, 반복, 반복 내가 찾을 때까지 마이크 스미스 같은 사람, 600 00:27:31,650 --> 00:27:33,790 그 전화 번호부에서 실제로 경우. 601 00:27:33,790 --> 00:27:37,610 >> 그러나 나는 가지 내가 뭐라고 부를 사용 여기에 매우 반복적 인 접근 방식, 602 00:27:37,610 --> 00:27:42,160 특히 예고 라인 8 및 11 행. 603 00:27:42,160 --> 00:27:46,750 사람들은 반복의 증거 접근 방식, 루프 방식, 604 00:27:46,750 --> 00:27:49,040 즉 정확히 때문에 그들이 유도하는 행위. 605 00:27:49,040 --> 00:27:52,910 그 라인 모두에 가자 선 셋, 그리고 당신이 할 수있는 가지 606 00:27:52,910 --> 00:27:55,140 에 그 생각을 당신의 루프 인 것으로 마음의 눈. 607 00:27:55,140 --> 00:27:59,080 이 단계로까지 돌아 가야을 말하고 삼 반복, 다시, 다시, 608 00:27:59,080 --> 00:28:00,010 다시. 609 00:28:00,010 --> 00:28:04,410 >> 그러나 우리는 핵심 아이디어를 어떻게 활용하는 경우 여기에 우리가 지난번했다는 것을, 610 00:28:04,410 --> 00:28:10,280 8 행을 단순화하고 라인 (11)과 이웃 611 00:28:10,280 --> 00:28:12,840 그냥, 노란색 등. 612 00:28:12,840 --> 00:28:16,480 그것은 근본적으로 단축 아니에요 매우 많은 의사, 613 00:28:16,480 --> 00:28:20,530 하지만 근본적으로 변하고 내 알고리즘의 특성. 614 00:28:20,530 --> 00:28:24,220 내가 지금 말하는거야 7 단계에서, 10 단계에서, 615 00:28:24,220 --> 00:28:29,140 마이크를 검색하는 것입니다 동일한 방식으로, 616 00:28:29,140 --> 00:28:31,580 그러나 다만 왼쪽에서 절반 오른쪽 절반. 617 00:28:31,580 --> 00:28:33,420 >> 따라서 다시 말해서, 만약 나는 단계 일에서 시작 618 00:28:33,420 --> 00:28:36,150 중간에 오픈 전화 번호부를 데리러 전화 번호부의, 이름을보고, 619 00:28:36,150 --> 00:28:39,010 스미스는 사이 인 경우 이름의, 마이크, 다른 전화 620 00:28:39,010 --> 00:28:44,340 스미스는 이전 책의 경우, 일곱 단계 책의 왼쪽 반으로 마이크를 검색합니다. 621 00:28:44,340 --> 00:28:47,130 하지만 가지 느낌 그것은 바로, 매달려 날 떠나? 622 00:28:47,130 --> 00:28:49,240 노란색, 인 명령,하지만 난 어떻게해야 623 00:28:49,240 --> 00:28:51,870 왼쪽에 마이크를 검색 전화 번호부의 절반? 624 00:28:51,870 --> 00:28:54,210 나는 어디 있나요 알고리즘가 어떤 I 625 00:28:54,210 --> 00:28:57,100 마이크 스미스 같은 사람을 검색 할 수 있습니다? 626 00:28:57,100 --> 00:28:58,980 글쎄, 우리의 얼굴을 쳐다보고. 627 00:28:58,980 --> 00:29:03,090 말 그대로 동​​일한을 사용할 수 있습니다 프로그램은 효율적으로 정상까지가는 628 00:29:03,090 --> 00:29:06,490 다시하고 다시 실행 코드의 같은 라인. 629 00:29:06,490 --> 00:29:10,610 >> 그래서이 느껴야한다하더라도 순환 정의의 비트처럼 630 00:29:10,610 --> 00:29:13,480 어디 사람이야 대답하고 그저 요청에 의한 질문 631 00:29:13,480 --> 00:29:15,990 다시 같은 질문 같은 왜, 왜, 왜? 632 00:29:15,990 --> 00:29:21,580 우리가 하드 코딩했기 때문에 현실은 특별한 몇 줄, 4 단계, 633 00:29:21,580 --> 00:29:25,320 , 경우, 단계 12 인하는 효과적으로 다른 지점입니다 634 00:29:25,320 --> 00:29:30,120 우리는 이러한 임시 방편의 대책을 가지고 있기 때문에, 이 알고리즘은 종료됩니다 경우 우리 635 00:29:30,120 --> 00:29:32,050 마이크를 찾거나 우리가하지 않으면. 636 00:29:32,050 --> 00:29:36,810 하지만 지금은 7 단계 및 10에서, 우리가 우리는 재귀 알고리즘을 호출합니다. 637 00:29:36,810 --> 00:29:40,420 그리고 재귀은 참으로 강력한 아이디어 즉, 처음에 작은 굽힘 마음이야 638 00:29:40,420 --> 00:29:42,500 다음과 같이 우리가 지금 적용 할 수. 639 00:29:42,500 --> 00:29:46,600 >> 마지막으로 정렬됩니다 정렬 병합이 우리는 공식적으로 적어도 클래스에서, 봐. 640 00:29:46,600 --> 00:29:50,040 그리고 그것은 근본적으로 다르​​다 확실히 그 마지막 세, 그리고에서 641 00:29:50,040 --> 00:29:52,140 마지막 네 우리는 bogosort을 포함합니다. 642 00:29:52,140 --> 00:29:54,810 여기에 병합 정렬의 의사입니다. 643 00:29:54,810 --> 00:30:00,170 n 개의 요소의 입력에, 그래서 주어진 경우 크기 n의 배열은, N은 2 미만이면 644 00:30:00,170 --> 00:30:01,040 돌아갑니다. 645 00:30:01,040 --> 00:30:03,610 그래서 내가 왜해야합니까 정신을 먼저 확인? 646 00:30:03,610 --> 00:30:09,477 나는 당신을 손 경우 의미입니까 길이가 n 개의 배열이 2보다 작? 647 00:30:09,477 --> 00:30:11,060 그것은 이미 오른쪽 분명히 분류이야? 648 00:30:11,060 --> 00:30:13,640 목록은 하나가 있으므로 사소하다 하나의 요소, 649 00:30:13,640 --> 00:30:15,180 이 때문에 분류 이 유일한. 650 00:30:15,180 --> 00:30:18,138 또는, 의미의 사이즈는 제로이다 정렬하는 것도 자연, 그래서이 없다 651 00:30:18,138 --> 00:30:18,720 그것은 정렬됩니다. 652 00:30:18,720 --> 00:30:20,410 잘못이 그냥 아무것도 없습니다. 653 00:30:20,410 --> 00:30:22,310 그래서 우리의 소위 기본 케이스입니다. 654 00:30:22,310 --> 00:30:24,440 >> 즉 정신에 유사하다 우리는 마이크와 무슨 짓을합니다. 655 00:30:24,440 --> 00:30:26,023 마이크의 전화 번호부에있는 경우, 그에게 전화. 656 00:30:26,023 --> 00:30:27,740 그는이 아니라면, 포기. 657 00:30:27,740 --> 00:30:31,240 그것은 소위 기본 사건, 확인하십시오 하루의 끝에서이 알고리즘 658 00:30:31,240 --> 00:30:33,540 특정 상황에서 중단됩니다. 659 00:30:33,540 --> 00:30:37,890 >> 그러나 여기에서 믿음의 도약, ​​다른 지금이다 , 소자의 좌측 절반을 정렬 660 00:30:37,890 --> 00:30:39,740 다음 오른쪽 정렬 요소의 절반 661 00:30:39,740 --> 00:30:41,189 다음 정렬 반을 병합. 662 00:30:41,189 --> 00:30:43,230 그 느낌이 어디 그리고 여기 등 우리가 해왔하고 있습니다. 663 00:30:43,230 --> 00:30:46,900 나는 정렬 할 요청했습니다 N 요소, 그리고 난 664 00:30:46,900 --> 00:30:50,712 정렬하여, OK, 그것을 할 말 왼쪽과 오른쪽을 분류. 665 00:30:50,712 --> 00:30:52,420 그러나 나는 일을 말하고 다른 것은,이 666 00:30:52,420 --> 00:30:55,530 보인다 핵심 주제는 지금까지 직관에, 667 00:30:55,530 --> 00:30:57,380 병합의이 세 번째 단계가있다. 668 00:30:57,380 --> 00:31:00,430 어떤 심지어 비록 정신 너무 바보 같다 669 00:31:00,430 --> 00:31:02,320 같은 단지 물건을 병합 함께 보인다 670 00:31:02,320 --> 00:31:05,380 을 향한 중요한 단계가 될 수 있습니다 이 문제의 재 조립이 671 00:31:05,380 --> 00:31:07,330 반 궁극적으로 나누었다. 672 00:31:07,330 --> 00:31:12,090 >> 그래서 당신은 거 야, 이렇게하자, 일종의 병합 또 하나의 데모 유머 나, 673 00:31:12,090 --> 00:31:14,730 그냥 그래서 우리는 몇 가지가 숫자와 함께 작동합니다. 674 00:31:14,730 --> 00:31:19,470 나는 팔 스트레스를 교환 할 수 있습니다 팔명에 대한 공? 675 00:31:19,470 --> 00:31:29,320 좋아, 어떻게 네 당신은 세 당신에 대한 이 섹션, 다섯, 여섯, 및하자에 676 00:31:29,320 --> 00:31:30,720 7, 8, 최대 어서 않습니다. 677 00:31:30,720 --> 00:31:35,120 678 00:31:35,120 --> 00:31:36,520 OK 예, 확인을 클릭합니다. 679 00:31:36,520 --> 00:31:38,640 마이너스 8, 거기에 우리가 간다, 플러스 1. 680 00:31:38,640 --> 00:31:39,150 우수. 681 00:31:39,150 --> 00:31:42,000 모든 바로 어서하자 빨리 당신에게 번호를 제공합니다. 682 00:31:42,000 --> 00:31:50,800 두 번째, 세 번째, 네 번째, 5 번, 여섯, 일곱, 여덟. 683 00:31:50,800 --> 00:31:52,140 나는 제대로 이번에 팔을했다. 684 00:31:52,140 --> 00:31:56,390 >> OK, 그래서 당신이 할 수있는 경우 진행하고, 의 원본으로 정렬 할 수 685 00:31:56,390 --> 00:31:59,810 우리가 어제 한 것으로보고되는 이처럼, 당신은 상관 없어합니다. 686 00:31:59,810 --> 00:32:03,620 그리고의 테이블 앞에 그것을 할 수 있습니다. 687 00:32:03,620 --> 00:32:06,510 좋아, 그래서 일종의 병합합니다. 688 00:32:06,510 --> 00:32:08,820 이 일어나고있는 곳이다 재미의 종류를 얻을 수 있습니다, 689 00:32:08,820 --> 00:32:12,800 나는 나 자신을주는 것 때문에 너무 적은 정보 오늘. 690 00:32:12,800 --> 00:32:15,149 >> 그래서 일종의 우선 병합 N 개의 요소의 입력에서, 691 00:32:15,149 --> 00:32:18,440 그리고있어 분명 2 개 이상이며 팔은, 그래서 내가 할 수있는 좀 더 작업을해야합니다. 692 00:32:18,440 --> 00:32:21,140 그래서 지금 정신적으로 우리 클래스로 다른 지점에있다, 693 00:32:21,140 --> 00:32:22,540 이는 세 단계를 의미한다. 694 00:32:22,540 --> 00:32:25,017 첫째, 정렬해야 요소의 좌측 절반. 695 00:32:25,017 --> 00:32:26,350 그래서 내가 어떻게이 일을 가야합니까? 696 00:32:26,350 --> 00:32:28,950 글쎄, 난 가지를에 갈거야 정신적으로 여기에 목록을 분할, 697 00:32:28,950 --> 00:32:30,700 당신은 필요 없어 물리적으로 이동하고 난 698 00:32:30,700 --> 00:32:33,180 에만 초점을 맞출 것 여기 소자의 좌측 절반. 699 00:32:33,180 --> 00:32:36,770 그래서 정렬에 대해 어떻게 가야합니까 이제 크기 넷의 목록? 700 00:32:36,770 --> 00:32:38,730 내 알고리즘은 무엇입니까? 701 00:32:38,730 --> 00:32:42,580 우선 검사가 아니,이 n보다 작은, 그래서 나는 다시 다른 블록으로 진행합니다. 702 00:32:42,580 --> 00:32:43,900 정렬 요소의 절반을 떠났다. 703 00:32:43,900 --> 00:32:45,608 >> 그래서 지금 다시, 정신적, 이것은 어디 704 00:32:45,608 --> 00:32:49,550 당신이 많이 발생해야 정신 역사, 만약에 당신. 705 00:32:49,550 --> 00:32:51,940 지금은 왼쪽 정렬 해요 왼쪽 절반의 절반입니다. 706 00:32:51,940 --> 00:32:57,000 좋아요, 지금은 내 같은 병합 전화 정렬 알고리즘, 채 2를 n은? 707 00:32:57,000 --> 00:33:00,590 아니, 두 개, 그래서 정렬해야 좌측 절반과 우측 절반. 708 00:33:00,590 --> 00:33:02,042 그래서 여기에 우리는 왼쪽 반을 정렬, 이동합니다. 709 00:33:02,042 --> 00:33:03,750 그냥하지 않습니다 앞으로 한 걸음. 710 00:33:03,750 --> 00:33:04,415 당신의 이름은 무엇입니까? 711 00:33:04,415 --> 00:33:04,860 >> 청중 : 대런. 712 00:33:04,860 --> 00:33:05,260 >> 스피커 : 댄. 713 00:33:05,260 --> 00:33:06,040 댄은 앞으로 강화하고있다. 714 00:33:06,040 --> 00:33:06,748 >> 청중 : 대런. 715 00:33:06,748 --> 00:33:09,000 스피커 : 대런, 수행. 716 00:33:09,000 --> 00:33:10,090 당신은 대런 또는 단 말을 했습니까? 717 00:33:10,090 --> 00:33:10,550 >> 청중 : 대런. 718 00:33:10,550 --> 00:33:11,216 >> 스피커 : 대런. 719 00:33:11,216 --> 00:33:14,422 OK, 대런 강화하고있다 앞으로 그는 지금 정렬됩니다. 720 00:33:14,422 --> 00:33:16,130 그리고이 거의입니다 공허한 주장, 오른쪽? 721 00:33:16,130 --> 00:33:18,862 정말 달성 될하지 않는 것 아무것도하지만의 진행하자. 722 00:33:18,862 --> 00:33:20,820 지금 나에게 맞는을 정렬 할 수 요소의 절반. 723 00:33:20,820 --> 00:33:21,200 당신의 이름은 무엇입니까? 724 00:33:21,200 --> 00:33:21,690 >> 청중 : 누가 복음. 725 00:33:21,690 --> 00:33:22,273 >> 스피커 : 누가 복음. 726 00:33:22,273 --> 00:33:23,400 자, 앞으로 단계. 727 00:33:23,400 --> 00:33:25,640 완료, 나는 누가 복음을 분류했다. 728 00:33:25,640 --> 00:33:28,570 왼쪽 절반은 지금 분류되고 오른쪽 절반은 지금 정렬 729 00:33:28,570 --> 00:33:30,770 그러나 다시, 여기에 중요한 단계가있다. 730 00:33:30,770 --> 00:33:32,940 내가 다음에 어떻게해야합니까? 731 00:33:32,940 --> 00:33:33,941 정렬 반쪽을 병합합니다. 732 00:33:33,941 --> 00:33:36,648 이제 우리는 할 겁니다 앞뒤로 이러한 방법으로 모든 사람, 733 00:33:36,648 --> 00:33:38,620 내가 가지 필요 때문에 약간의 스크래치 공간입니다. 734 00:33:38,620 --> 00:33:40,411 그것은 거의 이러한처럼 사람은 테이블에 있습니다, 735 00:33:40,411 --> 00:33:42,460 나는 약간의 공간이 필요 그들을 주위로 이동합니다. 736 00:33:42,460 --> 00:33:44,170 그래서 병합거야 봄으로써 너희들 737 00:33:44,170 --> 00:33:45,960 왼쪽 부분과 오른쪽 절반에. 738 00:33:45,960 --> 00:33:48,740 그리고 분명히 먼저 누가, 왼쪽 절반 오른쪽 절반? 739 00:33:48,740 --> 00:33:52,710 그래서 오른쪽 절반은, 그래서 이상 누가 복음을 이동할 수 여기 대런의 원래의 위치로. 740 00:33:52,710 --> 00:33:57,640 그리고 지금은 자신의 왼쪽 절반을 병합, 대런 바로 이동하는 것입니다. 741 00:33:57,640 --> 00:33:59,750 >> 그래서 거의 같은 느낌 거품 정렬 효과 742 00:33:59,750 --> 00:34:02,482 하지만 내 기본 알고리즘, 이 때 매우 다른. 743 00:34:02,482 --> 00:34:04,815 가지를 얻을 곳하지만 지금이다 조금 귀찮은 당신 때문에 744 00:34:04,815 --> 00:34:06,810 정신적으로 되감기해야 나는 곳을 떠 났죠. 745 00:34:06,810 --> 00:34:09,893 난 그냥 정렬 반쪽을 병합했습니다, 이는 내 알고리즘 어디 뜻이에요? 746 00:34:09,893 --> 00:34:12,229 747 00:34:12,229 --> 00:34:13,770 나는 바로, 오른쪽 절반을 정렬해야? 748 00:34:13,770 --> 00:34:15,910 >> 말 그대로, 되감기 경우 비디오에, 당신은거야 749 00:34:15,910 --> 00:34:18,339 우리는이에 도착 볼 누가 복음과 대런의 포인트 750 00:34:18,339 --> 00:34:21,370 왼쪽으로 정렬하여 왼쪽 절반의 절반입니다. 751 00:34:21,370 --> 00:34:23,430 그 다음 우리는 그 합병 정렬 반쪽, 어떤 752 00:34:23,430 --> 00:34:27,941 다음 단계는 정렬을 의미합니다 왼쪽 부분의 오른쪽 절반. 753 00:34:27,941 --> 00:34:29,649 좋아, 이렇게하자 보다 신속하게이 작업을 수행. 754 00:34:29,649 --> 00:34:33,282 좋아, 여섯, 내가 주장하는거야 이제 앞으로 어서 분류되어 있습니다. 755 00:34:33,282 --> 00:34:33,990 당신의 이름은 무엇입니까? 756 00:34:33,990 --> 00:34:34,589 >> 청중 : 아드리아누. 757 00:34:34,589 --> 00:34:35,200 >> 스피커 : 아드리아누. 758 00:34:35,200 --> 00:34:36,010 아드리아누는 현재 정렬됩니다. 759 00:34:36,010 --> 00:34:36,450 그리고 당신의 이름은 무엇입니까? 760 00:34:36,450 --> 00:34:37,080 >> 청중 : 알렉스. 761 00:34:37,080 --> 00:34:38,379 >> 스피커 : 알렉스는 이제 정렬됩니다. 762 00:34:38,379 --> 00:34:40,750 왼쪽 반, 오른쪽 절반, 마지막 단계는 무엇인가? 763 00:34:40,750 --> 00:34:41,250 병합합니다. 764 00:34:41,250 --> 00:34:44,310 아주 사소한, 그래서 난 육에 병합하는 것, 765 00:34:44,310 --> 00:34:46,930 한 걸음 물러나서, 팔은 단계를 다시 받아. 766 00:34:46,930 --> 00:34:49,530 그리고 지금이 예고 유용한 테이크 아웃, 무엇을 767 00:34:49,530 --> 00:34:53,930 지금의 왼쪽 부분에 대한 사실 목록에 관계없이 우리가 시작하는 방법? 768 00:34:53,930 --> 00:34:55,090 이 정렬됩니다. 769 00:34:55,090 --> 00:34:57,750 >> 지금은 정렬 아니에요 사물의 큰 계획, 770 00:34:57,750 --> 00:35:00,250 그러나 독립적으로 정렬 나머지 절반의. 771 00:35:00,250 --> 00:35:04,100 내가 계속한다면 이제 어떻게 단계 나는에 어디로 이야기가 어떻게 시작 되감기? 772 00:35:04,100 --> 00:35:05,680 지금은 오른쪽 절반을 정렬해야합니다. 773 00:35:05,680 --> 00:35:07,630 그래서 지금 우리는 돌아 오는 길에있어 이야기의 시작, 774 00:35:07,630 --> 00:35:08,921 그리고 좀 더 빠르게이 작업을 수행 할 수 있습니다. 775 00:35:08,921 --> 00:35:11,320 그래서 정렬거야 전체 목록의 오른쪽 절반. 776 00:35:11,320 --> 00:35:13,060 다음 단계는 무엇입니까? 777 00:35:13,060 --> 00:35:15,840 오른쪽 절반의 왼쪽 절반을 정렬합니다. 778 00:35:15,840 --> 00:35:18,715 의 왼쪽 절반을 정렬 오른쪽 절반의 왼쪽 절반입니다. 779 00:35:18,715 --> 00:35:19,590 그리고 당신의 이름은 무엇입니까? 780 00:35:19,590 --> 00:35:20,230 >> 청중 : 오마르. 781 00:35:20,230 --> 00:35:21,970 >> 스피커 : 오마르, 수행, 앞으로 단계. 782 00:35:21,970 --> 00:35:22,860 왼쪽 절반이 정렬됩니다. 783 00:35:22,860 --> 00:35:23,330 그리고 당신의 이름은 무엇입니까? 784 00:35:23,330 --> 00:35:23,820 >> 청중 : 크리스. 785 00:35:23,820 --> 00:35:25,620 >> 스피커는 : 크리스, 조치를 취할 앞으로, 당신은 지금 분류되어 있습니다. 786 00:35:25,620 --> 00:35:27,010 이제 중요한 단계는 무엇입니까? 787 00:35:27,010 --> 00:35:27,510 병합합니다. 788 00:35:27,510 --> 00:35:30,509 그래서 한 자리에 병합하는 것입니다 여기, 당신이 다시 조치를 취할 수 있다면, 789 00:35:30,509 --> 00:35:32,930 그리고 세에 가고 병합 단계를 다시 받아. 790 00:35:32,930 --> 00:35:38,080 그래서의 좌측 절반 오른쪽 절반은 지금 정렬됩니다. 791 00:35:38,080 --> 00:35:41,747 솔직히,이 알고리즘은 우리 같은 느낌 이전보다 훨씬 더 많은 시간을 낭비하고, 792 00:35:41,747 --> 00:35:44,830 우리는 실시간으로 이런 짓을하는 경우, 우리는거야 집에 사 가지고가는 요리가 될 것 무엇을 참조하십시오. 793 00:35:44,830 --> 00:35:47,970 지금 나는 여기, 바로 어디로 우측 절반의 반 794 00:35:47,970 --> 00:35:50,170 내가 가서 왼쪽 절반을 정렬 할 수 있습니다. 795 00:35:50,170 --> 00:35:51,482 앞으로 단계, 당신의 이름은 무엇입니까? 796 00:35:51,482 --> 00:35:52,190 청중 : 램지. 797 00:35:52,190 --> 00:35:53,210 스피커 : 램지는 이제 정렬됩니다. 798 00:35:53,210 --> 00:35:53,570 당신의 이름은 무엇입니까? 799 00:35:53,570 --> 00:35:54,200 >> 청중 : 마리나입니다. 800 00:35:54,200 --> 00:35:57,033 >> 스피커 : 마리나는 현재로 정렬됩니다 물론, 당신은 앞으로 한 걸음을합니다. 801 00:35:57,033 --> 00:36:00,690 여기에서 중요한 단계는 지금​​ 난, 병합된다 내이 목록에서 뽑은 것, 802 00:36:00,690 --> 00:36:01,720 왼쪽과 오른쪽. 803 00:36:01,720 --> 00:36:05,150 다섯, 첫번째 올 것입니다 일곱 다음 올 것입니다. 804 00:36:05,150 --> 00:36:06,410 그리고 다시, 이것은 의도적 인 것입니다. 805 00:36:06,410 --> 00:36:08,535 그들이 복용하고 있다는 사실 앞뒤로 단계 806 00:36:08,535 --> 00:36:12,997 표현하는 것을 의미한다 즉, 우리는 할 수 없습니다 쉽게 장소에이 알고리즘을 수행 807 00:36:12,997 --> 00:36:15,830 거품 정렬 및 선택 정렬로, 및 삽입 정렬 어디서 단지 808 00:36:15,830 --> 00:36:16,960 명을 교환 유지했다. 809 00:36:16,960 --> 00:36:19,940 말 그대로 일종의 필요 스크래치 종이의 어떤 810 00:36:19,940 --> 00:36:21,827 이 사람들을 넣어 나는 병합을 수행하는 동안, 811 00:36:21,827 --> 00:36:23,410 그리고, 나는 다시 제자리에 넣어 수 있습니다. 812 00:36:23,410 --> 00:36:27,260 내가 사용하고 있기 때문에 그 열쇠 새로운 자원, 공간뿐​​ 아니라 시간입니다. 813 00:36:27,260 --> 00:36:28,270 >> OK,이 놀랍습니다. 814 00:36:28,270 --> 00:36:32,050 왼쪽 절반은 오른쪽 절반은, 정렬 정렬, 지금 키 병합하는 단계를 포함한다. 815 00:36:32,050 --> 00:36:33,450 어떻게하면이 문제를 병합하지? 816 00:36:33,450 --> 00:36:35,470 당신이 따라 준다면 그래서 내 왼쪽 손과 오른쪽, 817 00:36:35,470 --> 00:36:38,930 나는 내 왼쪽 손을 가리 키도록하겠습니다 왼쪽 부분에서, 내 오른손 818 00:36:38,930 --> 00:36:42,680 오른쪽 절반에, 지금은에있다 병합하는 단계에 의해 단계를 결정할 수 있습니다. 819 00:36:42,680 --> 00:36:44,650 누가 분명히 먼저? 820 00:36:44,650 --> 00:36:45,150 번호 하나. 821 00:36:45,150 --> 00:36:47,327 그래서 여기에 와서, 여기에 우리의 스크래치 패드입니다. 822 00:36:47,327 --> 00:36:49,910 그래서 지금 한, 통지 번호를 내 오른손으로 무엇을 할 것입니다, 823 00:36:49,910 --> 00:36:54,152 내 오른쪽 하나를 이동하는거야 세 번째를 가리 키도록 스텝 오버, 824 00:36:54,152 --> 00:36:55,860 지금은 확인해야 같은 의사 결정. 825 00:36:55,860 --> 00:36:58,387 그리고 실제로 마우스 오른쪽 스탠드 누가 여기에 당신이 할 수 있다면 앞에, 826 00:36:58,387 --> 00:36:59,720 이것은 우리 스크래치 패드이기 때문이다. 827 00:36:59,720 --> 00:37:00,610 누가 다음에 온다? 828 00:37:00,610 --> 00:37:05,000 우리는 두 번째와 누가 복음을 크리스 세 번째로. 829 00:37:05,000 --> 00:37:07,460 분명히 누가 복음, 수 두 사람은, 그래서 당신은 이리와. 830 00:37:07,460 --> 00:37:11,270 >> 하지만 내 왼손은 지금 것입니다 대런를 가리 키도록 증가 될, 831 00:37:11,270 --> 00:37:15,160 여기에 키가 멀리 데려 가라 병합, 내가이 일을 계속하려고 해요, 832 00:37:15,160 --> 00:37:17,340 분명히, 당신이 경우 종류 의 논리를 따르십시오. 833 00:37:17,340 --> 00:37:19,670 하지만 내 손은 결코 거꾸로 갈, 834 00:37:19,670 --> 00:37:23,861 어떤 난 오직 이동하고있어 의미 내 병합 프로세스 왼쪽, 835 00:37:23,861 --> 00:37:26,360 그리고 그 핵심이 될 것 잠시 우리의 분석. 836 00:37:26,360 --> 00:37:27,859 >> 그래서 지금의이 빠르게이 문제를 마무리 할 수​​ 있습니다. 837 00:37:27,859 --> 00:37:31,650 그래서 세 다음에 온다 다음 네 다음에 온다 838 00:37:31,650 --> 00:37:38,750 지금은 다섯 여섯, 다음, 다음 제공 칠하고 마지막으로 팔과. 839 00:37:38,750 --> 00:37:42,960 가장 느린 알고리즘 같은 느낌 아직 아니라 실제로 만약 우리 840 00:37:42,960 --> 00:37:45,510 같은 종류의에서 실행 클럭 속도, 너무 841 00:37:45,510 --> 00:37:48,106 같은과, 이야기 이전과 시계를 새기는. 842 00:37:48,106 --> 00:37:48,605 왜? 843 00:37:48,605 --> 00:37:51,100 음, 보자 최종 결과보고. 844 00:37:51,100 --> 00:37:56,990 >> 저를 보자, 이제 여기에 다시 가자 시각적 데모를 끌어 845 00:37:56,990 --> 00:37:59,030 우리가 한 일. 846 00:37:59,030 --> 00:38:06,110 이에, 여기에서 확대 여기 페이지에서 파이어 폭스를 말하고 847 00:38:06,110 --> 00:38:08,200 우리는 대기하도록 이 상자까지하자 848 00:38:08,200 --> 00:38:11,260 , 거품 정렬 말을하는과 우리는 지금 잘 익숙 849 00:38:11,260 --> 00:38:14,130 또 다른입니다 선택 정렬, 매우 간단 하나, 850 00:38:14,130 --> 00:38:18,250 지금 오늘날의 병합 정렬하는 우리의 클라이 막스 엔딩이 될 것입니다. 851 00:38:18,250 --> 00:38:21,530 그것은 더 이상 그렇게했다 이유 여기에 인간과 나 구두입니다, 852 00:38:21,530 --> 00:38:23,480 분명히, 나는 모든 단계를 설명하고 있습니다. 853 00:38:23,480 --> 00:38:26,920 그러나 단순히이 훨씬을 실행할 경우 같은 우리가했던 거품 정렬 및 선택 854 00:38:26,920 --> 00:38:30,890 종류뿐만 아니라 시각적으로 시계 얼마나 더 효율적으로 855 00:38:30,890 --> 00:38:33,330 이 레버 리징 분열과 정복 856 00:38:33,330 --> 00:38:39,150 있어 데이터 세트에 적용 할 수있을 때 심지어 크기 팔, 그러나 더 많은, 857 00:38:39,150 --> 00:38:39,970 훨씬 더 큰. 858 00:38:39,970 --> 00:38:44,585 난 당신에 의해 정렬면을 병합 제공 이러한 다른 알고리즘 측면. 859 00:38:44,585 --> 00:38:56,364 860 00:38:56,364 --> 00:38:58,530 이 고통받을 것입니다 신속하고 엔딩 861 00:38:58,530 --> 00:39:00,890 특히 클라이 막스 아니다 그들은 단지 분류 끝낸다. 862 00:39:00,890 --> 00:39:05,280 그러나 키는 것입니다 빼앗아 정렬 방법을 훨씬 더 빨리 병합 보일 863 00:39:05,280 --> 00:39:08,110 당신이 난 생각하지 않는했다 그냥 가지 당신과 함께 장난. 864 00:39:08,110 --> 00:39:13,100 우리는이 일을 마지막으로 할 경우, 의이를 다시 보자, 그냥 돌아가요 865 00:39:13,100 --> 00:39:14,960 와, 거품 정렬을 선택 그냥 심심해서, 866 00:39:14,960 --> 00:39:17,330 이제 삽입을 선택할 수 정렬 그냥 좋은 측정을위한. 867 00:39:17,330 --> 00:39:20,020 그리고 이번에는 다시하자 병합 정렬을 선택하자 868 00:39:20,020 --> 00:39:21,595 실제로 옆에 이러한 측면을 실행합니다. 869 00:39:21,595 --> 00:39:24,140 870 00:39:24,140 --> 00:39:26,930 >> 그리고, 사실, 우연이 아니다. 871 00:39:26,930 --> 00:39:31,140 내가 효과적으로했던 것은 제가했습니다입니다 다시 반으로 내 입력을 분할 872 00:39:31,140 --> 00:39:32,240 다시, 다시. 873 00:39:32,240 --> 00:39:35,590 그리고 당신이 할 수있는 경우에만 너무 많은 시간을 거기에 반으로 입력을 나누고, 왼쪽 874 00:39:35,590 --> 00:39:36,240 오른쪽. 875 00:39:36,240 --> 00:39:39,425 어떻게 우리가보고 계속 식이다 그 반으로 분할 설명 876 00:39:39,425 --> 00:39:41,050 또 다시, 그리고 또 다시? 877 00:39:41,050 --> 00:39:41,890 >> 관객 : N의 로그를 취합니다. 878 00:39:41,890 --> 00:39:42,760 >> 스피커는 : N의 로그를 취합니다. 879 00:39:42,760 --> 00:39:46,300 그러나 다른 하나의 중요한 단계가있다, 이 알고리즘은 로그 N 단계되지 않습니다. 880 00:39:46,300 --> 00:39:48,992 이 로그 만 N 된 경우 단계, 우리는 같은 문제에있을 것입니다 881 00:39:48,992 --> 00:39:51,200 우리가 할 수없는 경우 이전과 안부 정렬. 882 00:39:51,200 --> 00:39:54,480 당신은 최소한 n 개의 요소로보고있다 확인 n를 요소가 분류되어, 883 00:39:54,480 --> 00:39:55,950 그렇지 않으면 믿음의 도약이다. 884 00:39:55,950 --> 00:39:59,810 >> 그래서 최소한의 로그 N 단계, 그러나입니다 이 키를 병합 단계에 대한 어떤 885 00:39:59,810 --> 00:40:04,370 나는 합병 내 왼쪽 절반과 오른쪽 절반은 무대를 가로 질러 걸어? 886 00:40:04,370 --> 00:40:06,980 그 병합하려면 몇 단계인가? 887 00:40:06,980 --> 00:40:10,150 그것은 N,하지만 난 그냥하지 않았다 마지막으로 병합합니다. 888 00:40:10,150 --> 00:40:15,089 각 이러한 중첩 호출 각각에 그 중첩 된 병합, 나는 여전히 분류. 889 00:40:15,089 --> 00:40:18,380 나는 그때이이 두 사람을 병합 얘들 아, 다음이 두 사람 등등. 890 00:40:18,380 --> 00:40:19,955 >> 그래서 다시, 다시 병합 않았다. 891 00:40:19,955 --> 00:40:20,580 몇 번? 892 00:40:20,580 --> 00:40:23,510 그래서 때마다 내가 나눈 목록은 반으로, 나는 병합을했다. 893 00:40:23,510 --> 00:40:25,460 병합을 반으로 목록을 나눕니다. 894 00:40:25,460 --> 00:40:28,570 리스트 분할 그렇다면 로그 N 번 수행 할 수있다, 895 00:40:28,570 --> 00:40:33,880 와 합병은 궁극적으로 N 소요 단계는 무슨 일이 이제 상부 수 있습니다 896 00:40:33,880 --> 00:40:37,000 실행에 바인딩 우리의 알고리즘의 시간은? 897 00:40:37,000 --> 00:40:37,980 n 여기서 n 로그인합니다. 898 00:40:37,980 --> 00:40:40,560 >> 그리고 사실, 그게 무슨이다 우리는 여기에서 달성했습니다. 899 00:40:40,560 --> 00:40:44,650 그래서 당신은 시각적으로 볼 때 느낌 그 세 가지가 나란히 실행 900 00:40:44,650 --> 00:40:47,930 n 여기서 n에 대해 제곱 N 로그 N에 대해 제곱. 901 00:40:47,930 --> 00:40:51,010 우리가 볼 수 기본적으로 어떤, 오늘날 그러나 미래뿐만 902 00:40:51,010 --> 00:40:52,760 훨씬, 훨씬 더 빠릅니다. 903 00:40:52,760 --> 00:40:56,010 이 사람에 대한 갈채를, 나는 스트레스 공을 갚아 주실 것이다. 904 00:40:56,010 --> 00:41:00,260 의 오늘 여기에 휴회하자, 그리고 우리는 월요일에 당신을 볼 수 있습니다. 905 00:41:00,260 --> 00:41:02,255