[개발자매일영어] BigO

in #english7 years ago

개발자매일영어는 당분간은 Cracking Coding Interview의 저자로 유명한 Gayle Laakmann McDowell저자의 강좌를 지속적으로 공부해보도록 하겠습니다.
전체 분량은 너무 길어서 주요부분 한 두 군데만 1분 이하로 발췌하여 mp3파일로 만들고 있습니다.
즉 한 주제당 1분 이하 분량의 mp3파일이 한 두개씩 제공되겠습니다. 나머지 부분은 리스닝 연습 하시면 되겠습니다.
이번에는 따라하기 쉽도록 최대한 짧게 잘랐습니다.

공부하는 4단계 방법은 아래와 같습니다.

1분 이하 분량을 번역
전체 듣기 두번
문장 듣고 따라 말하기 두번
한국어로 듣고 영어로 말하기 한번 => 제일 중요 합니다!!!!
하루에 한시간 이상 들으면서 말하기 연습하면 좋을 것 같습니다.

*** 개발자 매일 영어는 제가 개인적으로 공부하기 위해 만든 mp3파일을 혹시 다른 분에게도 도움이 될까 해서 공유하고 있는 것입니다. 제 목소리도 포함되어 있고, 부족한 영어 실력으로 번역한 것이라 잘못되었을 수도 있습니다. 제 목소리에 놀라지 마시고 이상한 부분은 댓글로 알려 주시면 감사하겠습니다. ***

mp3 파일 다운로드: https://drive.google.com/open?id=14rNpJoHXtjh0vz_APcRAnVrMzfUwurkU
강좌 Youtube:

----- mp3 script -----
The third rule is that if you have different inputs you're usually
going to use different variables to represent them.
So let's take this example where we have two arrays and we're walking through them to figure out the number of elements in common between the two arrays. Some people mistakenly call this O of n squared but that's not correct.
When you just talk about runtime if you describe things as O of n or O of n squared
or O of n log n, n must have a meaning, it's not like things are inherently
one or other.
So when you described this as O of n squared it really doesn't make sense because it doesn't, what does n mean?
n is not the size of the array, if there's two different arrays.
What you want to describe instead is O of a times b.
Again fundamentally, big O is an equation that expresses how the runtime changes, how its scales, so you describe this as O of a times b.
--- 번역 ---
세번째 규칙은 당신이 다른 입력들을 가질 때 당신은 그들을 표현하기 위해 주로 다른 변수들을 사용한다는 것입니다.
그래서, 이 예를 봅시다. 우린 두개의 배열들이 있고 우리는 두 배열간에 공통적 요소들의 수를 알아내기 위해 그것들을 차례차례 봅니다.
어떤 사람들은 실수로 이것을 On제곱이라고 합니다만 그것은 틀렸습니다.
당신이 실행 시간에 대해 얘기할때 만약 당신이 어떤것들을 O n 또는 O n 제곱 또는 O n log n라고 설명할때 n은 의미가 있어야 합니다. 이것은 선천적으로 하나 또는 다른것 같은 것들이 아닙니다.
그래서 당신이 O n 제곱이라고 설명 했었을 때 이것은 정말 말이 안됩니다. 왜냐면 그것은 아니니까요. n은 뭘 의미하나요? n은 배열의 크기가 아닙니다. 만약 거기에 두개의 다른 배열이 있으면요. 당신이 대신 설명하고 싶은 것은 O a 곱하기 b입니다. 다시 근본적으로 얘기하면, 빅 O는 얼마나 실행시간이 변경되고 어떻게 그것을 측정하는지를 표현하는 것과 같습니다. 그래서 당신은 이것을 O a 곱하기 b라고 설명합니다.