1. n^2 인 프로그램과 2^n 인 프로그램이 있다고 가정하자. 입력값이 6 일때는 각각 36초, 64초가 걸린다. 그런데 입력값이 100 일때는 n^2인 프로그램은 몇시간이면 끝나지만, 2^n 인 프로그램은 우주의 나이의 10억배가 걸린다. 2. 따라서 컴퓨터가 아무리 발전해도 효율적인 알고리즘은 항상 중요하다. 3. 효율적인 알고리즘이란 수행시간이 짧으면서, 컴퓨터의 자원을 덜 사용하는 것 이다. 4. 수행시간을 계산하는 확실한 방법은 실행시키고 그 시간을 측정하면 된다. 5. c언어에서는 time 헤더파일에 있는 clock() 함수를 사용해서 사용된 cpu 시간을 계산하면 된다. 알고리즘 시작 시간과, 끝난 시간의 차이를 계산하면 된다. 6. 위 방법은 확실하지만, 치명적인 단점이 있다. 일단 시간 측정을 위해 알고리즘 구현을 해야하고 또 시간을 들여 테스트를 해야한다는 것이다. 7. 뿐만아니라 하드웨어 차이와 소프트웨어 환경에 따라 수행속도가 달라진다. 8. 위와 같은 문제 때문에, 직접 구현하지 않고서도 알고리즘의 효율성을 비교할 필요성이 있다. 9. 그래서 알고리즘 복잡도 분석(Complexity analysis) - (시간, 공간) 을 한다. 10. 우리는 수행시간 분석(시간 복잡도) 에 관심을 둔다. 기억공간 분석(공간 복잡도) 은 우리 일이 아니다. 11. 이를 위해 수행시간을 계산할 수 있는 함수를 만든다. 근데 이제 'time' 이 아니라. 'step' 이다. (당연히 함수값은 낮을수록 좋은것이다.) 12. 연산의 수(step)를 입력의 개수 n 의 함수로 나타낸것을 시간 복잡도 함수 라고 하고 , T(n) 이라 한다. 중요하건 이름은 시간 복잡도인데. time 이 아니라 step 이라는 점. 13. T(n) = n^2 + n + 1 이라고 가정하자. 입력의 개수 n 이 1000 이라면 최고 차항을 제외한 나머지 값은 전체의 0.1% 이다. 14. 입력값이 커짐에 따라 최고 차항의 비중은 99.9999999..% 가 된다. 따라서 시간복잡도 함수는 가장 큰 항만 고려한다. 15. 따라서 시간 복잡도 함수에서 중요한것은, 연산의 총 횟수가 n에 비례하여 어떤 증가 추세를 가지고 있는가이다. 16. n^2 만 남기니까 보기쉽고, 비교가 편하다. 이런 방식을 빅오 표기법 (Big - O - Notation) 이라고 한다. 17. 한마디로 빅오 표기법은, 상한(가장 큰 차수)이다. 18. 물론 입력값이 작거나( n = 1,2,3 ) 상수항이나 계수가 큰 경우 (10^2000) 수행시간에 영향을 준다. 빅오가 의미가 없다. 19. 또 당연히 빅오는 만능이 아니다. 상한 이므로 여러개가 존재할 수 있다. 어떤 함수보다 항상 더 큰 함수가 있다면, 그 함수를 써도 되는거다. 20. 그 문제점을 보완하기 위하여 빅오메가 , 빅세타 표기법이 있다. 21. 하한을 표시하는 방법은 빅 오메가이다. 22. 상한(빅오) 하한(빅오메가) 모두 표시가 가능할 경우. 빅 세타 표기법을 쓴다. 당연히 가장 정밀하다 23. 근데 통상적으로 빅오 표기법을 많이 사용한다. 이때는 최소차수로 상한을 표시한다고 가정을 한 것이다. 24. 마무리 25. 그럼 이제 빅오 표기법을 통해 알고리즘을 구분하고, 수행시간을 분석 한다고 할 때, 입력값으로 어떤걸 넣어야 할까 26. 최선(정렬 알고리즘에 정렬된거 넣음), 평균(모든 입력을 고려하고 입력 발생 확률까지 고려), 최악(가장 오래 걸림) 이 있다. 27. 비행기 관제 업무에 사용되는 알고리즘은, 어떤 입력이 들어와도 일정한 시간 한도 안에 반드시 계산을 끝마쳐야 한다. 아니면 대형 사고가 발생한다. 28. 따라서 최악의 경우가 중요한 의미를 가진다. 최선( 최선이면 그냥 그대로 데이터 쓰면 됨 ), 평균( 구하기가 힘듬 ) 29. 돈포겟투잇김치 30. 사랑해요 바이바이
Big O = 선형 시간복잡도 O(1) = 상수(일정 시간) = 인풋 숫자 +n : step 숫자 =1 O(n) = 선형 검색 = 인풋 숫자 +n : step 숫자 +n O(n^2) = 2차 시간 = 인풋 숫자 +n : step 숫자 n^2 O(log n) = 이진 검색(로그 시간) = 인풋 숫자 +n : step 숫자 n/2 로그 지수
알고리즘이 중요한 것이 문법만 배워서는 올바른 프로그래머가 될 수 없기 때문이죠. 문법만 가지고 누구나 코딩을 할 수 있지만 과연 올바른 코딩을 할 수 있냐하는 문제가 있죠. 효율적인 코딩이 안되면 로딩하는데 시간도 오래 걸리고 자주 엉키고... 엉망진창이 됩니다. 버그가 많아지죠. 그래서 알고리즘을 익히는게 중요합니다. 예컨데 알고리즘을 모르는 사람은 for문을 남발하는 경향이 있죠. for문 하나 쓸때마다 얼마나 느려지는지 안다면 for문은 최소한만 쓰게 되죠. 이중/삼중으로 써버리면 정말 느려집니다. 자료구조.... 자료구조를 배우다보면 그 심오함에 무릅을 탁 치게되는 경우가 많습니다. 다들 함 배워보시면 압니다. 개인적으로 자료구조와 알고리즘은 씨언어 문법을 배우고 나서 씨언어를 이용한 자료구조/알고리즘을 배울것을 권장합니다. 자바나 다른언어로 배우는 알고리즘/자료구조는...글쎄요...
와우 학교에서 배웠던 정리 안된 지식들이 이 영상으로 한번에 싹 정리되었어요! 감사합니다. 너무 많은걸 배워서 도대체 뭐가 중요한지, 왜 배우는건지 포인트를 못 잡고 있었거든요. 이제 좀 정리가 되었으니 기억도 잘 할 수 있을 것 같습니다. 노마드 코더 진짜 좋아요 ㅋㅋ
This is exactly the video i was looking for when I heard of Time Complexity. I assume space complexity is the same as you describe with storage or required memory resources per input. Your videos are great thank you!
O(1), O(2) 를 나누지 않는 이유는 입력의 크기에 따른 변화가 없기 때문일 것 같아요. 그래도 정교하게 성능을 고민하는 사람들에게는 그런 것도 고민해볼만한 것이지만요. 고등학생보다 어린 친구들을 위해서 logarithm 까지 친절하게 설명해주신 것 같은데 감사합니다.
비행기에 실을 수 있는 데이터의 양이 무한이 아니므로 비행기 전송도 엄밀히 말하면 O(n) 이 맞지 않을까요?... 만일 비행기에 실을 수 있는 데이터의 양이 무한이라고 가정을 하면 공정하게 인터넷 대역폭도 무한이라고 가정을 해야 하고 그러면 둘 다 O(1)이 되겠죠...
@@cheong0813 비행기 수가 충분히 많으면 가능합니다. 만약 데이터를 하드디스크에 담고도 너무 많아서 비행기를 3대를 띄워야 한다면 3대를 동시에 띄우면 1대가 운행하는 시간과 똑같기 때문입니다. 반면에 인터넷을 이용한 전송은 데이터가 클수록 전송하는 시간이 많이 걸리기 때문에 위에 제시된 값이 맞습니다. 실제로 천문학에서 블랙홀의 형상을 발견하기 위해 우주의 사진을 셀 수 없이 많이 찍었는데, 이를 분석하기 위해 인터넷으로 자료를 전송하는 것이 아닌, 비행기로 날랐다고 합니다.
강의 좋네요. 저도 계산기프로그램 만들어 보면서 알고리즘의 중요성을 몸소 체험해보고 아 알고리즘이 매우 중요하구나 하고 느낀 경험이 있습니다. 저같은 경우는 Big(n)을 Big(log N)으로 개선해서 속도를 향상시킨 경험을 해봤습니다.주로 엔진을 만드는 개발을 하는데 알고리즘의 역할은 매우 중요할 수도 있다는 생각을 해 봤습니다. 일반 개발에서는 사용하는 프레이워크나 라이브러리에 이미 알고리즘이 녹아들어가 있어서 툴 사용법만 잘 알면 굳이 알고리즘 몰라도 별 문제가 없게 느껴질 수도 있지만요.
알고리즘&데이터구조 시리즈를 좋아요. 구독. 공유로 응원해주세요 -0-!
진짜 진짜 큰 힘이 됩니당 🙏🏻
네형님
정말 감사합니다 너무 쉽게 이해할수있어요
알고리즘이 간단히 머예염?^^
구독하믄 달마다 3,000원씩 내야 된다카던데염^^
3,000원이믄 30개니까, 30 / 6 = 5
은화 5개가 됩니당^^ 달마다 은 5개
이 시즌 너무 좋아요 🎉
1. n^2 인 프로그램과 2^n 인 프로그램이 있다고 가정하자.
입력값이 6 일때는 각각 36초, 64초가 걸린다.
그런데 입력값이 100 일때는 n^2인 프로그램은 몇시간이면 끝나지만, 2^n 인 프로그램은 우주의 나이의 10억배가 걸린다.
2. 따라서 컴퓨터가 아무리 발전해도 효율적인 알고리즘은 항상 중요하다.
3. 효율적인 알고리즘이란 수행시간이 짧으면서, 컴퓨터의 자원을 덜 사용하는 것 이다.
4. 수행시간을 계산하는 확실한 방법은 실행시키고 그 시간을 측정하면 된다.
5. c언어에서는 time 헤더파일에 있는 clock() 함수를 사용해서 사용된 cpu 시간을 계산하면 된다. 알고리즘 시작 시간과, 끝난 시간의 차이를 계산하면 된다.
6. 위 방법은 확실하지만, 치명적인 단점이 있다. 일단 시간 측정을 위해 알고리즘 구현을 해야하고 또 시간을 들여 테스트를 해야한다는 것이다.
7. 뿐만아니라 하드웨어 차이와 소프트웨어 환경에 따라 수행속도가 달라진다.
8. 위와 같은 문제 때문에, 직접 구현하지 않고서도 알고리즘의 효율성을 비교할 필요성이 있다.
9. 그래서 알고리즘 복잡도 분석(Complexity analysis) - (시간, 공간) 을 한다.
10. 우리는 수행시간 분석(시간 복잡도) 에 관심을 둔다. 기억공간 분석(공간 복잡도) 은 우리 일이 아니다.
11. 이를 위해 수행시간을 계산할 수 있는 함수를 만든다. 근데 이제 'time' 이 아니라. 'step' 이다. (당연히 함수값은 낮을수록 좋은것이다.)
12. 연산의 수(step)를 입력의 개수 n 의 함수로 나타낸것을 시간 복잡도 함수 라고 하고 , T(n) 이라 한다. 중요하건 이름은 시간 복잡도인데. time 이 아니라 step 이라는 점.
13. T(n) = n^2 + n + 1 이라고 가정하자. 입력의 개수 n 이 1000 이라면 최고 차항을 제외한 나머지 값은 전체의 0.1% 이다.
14. 입력값이 커짐에 따라 최고 차항의 비중은 99.9999999..% 가 된다. 따라서 시간복잡도 함수는 가장 큰 항만 고려한다.
15. 따라서 시간 복잡도 함수에서 중요한것은, 연산의 총 횟수가 n에 비례하여 어떤 증가 추세를 가지고 있는가이다.
16. n^2 만 남기니까 보기쉽고, 비교가 편하다. 이런 방식을 빅오 표기법 (Big - O - Notation) 이라고 한다.
17. 한마디로 빅오 표기법은, 상한(가장 큰 차수)이다.
18. 물론 입력값이 작거나( n = 1,2,3 ) 상수항이나 계수가 큰 경우 (10^2000) 수행시간에 영향을 준다. 빅오가 의미가 없다.
19. 또 당연히 빅오는 만능이 아니다. 상한 이므로 여러개가 존재할 수 있다. 어떤 함수보다 항상 더 큰 함수가 있다면, 그 함수를 써도 되는거다.
20. 그 문제점을 보완하기 위하여 빅오메가 , 빅세타 표기법이 있다.
21. 하한을 표시하는 방법은 빅 오메가이다.
22. 상한(빅오) 하한(빅오메가) 모두 표시가 가능할 경우. 빅 세타 표기법을 쓴다. 당연히 가장 정밀하다
23. 근데 통상적으로 빅오 표기법을 많이 사용한다. 이때는 최소차수로 상한을 표시한다고 가정을 한 것이다.
24. 마무리
25. 그럼 이제 빅오 표기법을 통해 알고리즘을 구분하고, 수행시간을 분석 한다고 할 때, 입력값으로 어떤걸 넣어야 할까
26. 최선(정렬 알고리즘에 정렬된거 넣음), 평균(모든 입력을 고려하고 입력 발생 확률까지 고려), 최악(가장 오래 걸림) 이 있다.
27. 비행기 관제 업무에 사용되는 알고리즘은, 어떤 입력이 들어와도 일정한 시간 한도 안에 반드시 계산을 끝마쳐야 한다. 아니면 대형 사고가 발생한다.
28. 따라서 최악의 경우가 중요한 의미를 가진다. 최선( 최선이면 그냥 그대로 데이터 쓰면 됨 ), 평균( 구하기가 힘듬 )
29. 돈포겟투잇김치
30. 사랑해요 바이바이
유튜브가 정말 지식의 경계를 허문 느낌.. 대학교에서 심도 있게 다룰 만한 소재를 10분 만에 간단 요약하는 영상이라니..!
유후! 많이 응원해주세요~
그만큼 대학교수들 강의력이 형편없다는 반증
ㄹㅇ섹시하다
아니 ㅋㅋ 주제가 그런걸 어떡해
@@안녕난루피야.넌누구 반증 아니고 방증이겠지 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
전공으로 배우고 이걸로 다시한번 상기 시키니까 진짜 효과 좋네
Big O = 선형 시간복잡도
O(1) = 상수(일정 시간) = 인풋 숫자 +n : step 숫자 =1
O(n) = 선형 검색 = 인풋 숫자 +n : step 숫자 +n
O(n^2) = 2차 시간 = 인풋 숫자 +n : step 숫자 n^2
O(log n) = 이진 검색(로그 시간) = 인풋 숫자 +n : step 숫자 n/2
로그 지수
O(1) input 다 들어와!!! 난 신경안써! 알고리즘
O(log N) input 많으면 느려지긴 하는데 그렇게 힘들진 않아. 알고리즘
O(N) input 들어오면 당연 들어온만큼 더 느려지지! 알고리즘
O(N^2) input 조금만 줘ㅠ 머리 터질꺼같아! 알고리즘
전공서적은 멕일라고 일부러 어렵게 쓴것임이 자명하다!
프로그래밍 언어는 이상행동이 축적된 거예여^^
대학교 이산구조 수업에서 배운 내용인데 다시 복습할 수 있어서 좋아요~
많이 응원해주세요~
이런 좋은 영상을 한글자막으로 편하게 볼 수 있다는 게 너무 좋다ㅋㅋㅋㅋㅋㅋ분명 학교에서 1학기동안 배운건데...
알고리즘&데이터구조는 어렵고 단박에 이해하기 어렵고 접근하기 어렵고 정보처리기사 시험에도 나오는 내용을 쉽게 설명해버리는 니콜라스 클라스 내공 정말 대단하십니다.
p.s : 오늘도 영상보면서 무릎 탁 치고 갑니다.
감사합니다~ 많이 공유해주세요~~
니코쌤 몸이 남아나지 않으실듯.. ㅠㅠ 부디 번아웃 없이 유툽과 노마드 강의도 쭉~ 계속 해주셨으면 합니당 ㅎㅎ
미숙한 개발자라서 큰 도움되는 영상이에요
알고리즘이 중요한 것이 문법만 배워서는 올바른 프로그래머가 될 수 없기 때문이죠.
문법만 가지고 누구나 코딩을 할 수 있지만 과연 올바른 코딩을 할 수 있냐하는 문제가 있죠.
효율적인 코딩이 안되면 로딩하는데 시간도 오래 걸리고 자주 엉키고... 엉망진창이 됩니다.
버그가 많아지죠.
그래서 알고리즘을 익히는게 중요합니다.
예컨데 알고리즘을 모르는 사람은 for문을 남발하는 경향이 있죠.
for문 하나 쓸때마다 얼마나 느려지는지 안다면 for문은 최소한만 쓰게 되죠.
이중/삼중으로 써버리면 정말 느려집니다.
자료구조....
자료구조를 배우다보면 그 심오함에 무릅을 탁 치게되는 경우가 많습니다.
다들 함 배워보시면 압니다.
개인적으로 자료구조와 알고리즘은 씨언어 문법을 배우고 나서 씨언어를 이용한 자료구조/알고리즘을 배울것을 권장합니다.
자바나 다른언어로 배우는 알고리즘/자료구조는...글쎄요...
이 영상이 은혜롭다... 니꼴라쓰 감사해요!!! 그리고 자막ㅋㅋㅋ 센스 미쳤다 후비고~
절차에 따라 늘어나는 시간을 이렇게 표현할 수 있을지 몰랐어요! 언제나 좋은 영상만 쭉쭉 올려줘서 너무 고마워요 니코!
오늘 낮에 구글 웹 어플 만들기 강의듣고 알고리즘 영상으로 하루 마무리합니다.
항상 좋은 영상 올려줘서 고마워요.
저근데 형님 이런말하면 당황스러우실지모르겠는데 영상에서 다루는 콘텐츠가 제분야가 아니어서 지식은 도움되는게 없지만 영어가 너무 도움돼요 듣기공부에 너무 도움돼요
-0- 핫...
10분만에 완벽하게 이해해버렸다....Thank you, Nico!
좋은 강의 감사합니다.
좋은 주말 되세요
선추천 후뎃글! 중요한 개념 감사합니다!
언제나 파이팅~!!!!
유후!
정말 유익한 영상입니다. 계속 계속 부탁해여 니코쌤 잍킴취~~
정말 너무 유익하게 잘 보고 있습니다! 노마드형 사랑해요
늘 유용하게 보고 있습니다 알고리즘 & 자료구조는 실제 코드를 짤 때 정말 필요성을 절감하게 되는 것 같아요..... 앞으로도 계속해주세요 감사합니다 니코!
내일 자료구조 시험인데 이거로 정리하고 갑니다^^
니꼬 갈수록 영상이 더 좋슴다!!!😀 최고
대학수업 내용인데 쉽고 재밌게 설명을 잘해주시네요 감사감사
너무 유용한 강의 무한 감사드립니다!
다른 유투브 보고 Big O notation 이해하려고 했는데 완벽이 이해 못하고 있다가 이거보고 제대로 이해함 진짜 짧고 간결하게 중요한것만 설명 잘하신다 👍🏼
자료구조 알고리즘 이해하는 데 큰 도움 받고 있습니당 !! 계속해서 시리즈가 연재되기를 ~~ 😀🙏 계속 좋아요 댓글 남기고 있어요! 화이팅! 💪
로그를 제대로 공부하지 않고 본 지 10년이 넘어서 이해하기 어려웠는데
설명해주셔서 감사합니다.
오늘도 잘보고갑니다 ! 주변 친구들에게도 공유하고있어요 ~~
자료구조 배우기 시작했습니다!
쉽게 설명해주시려고 일러스트에 시간을 엄청 쓰신게 느껴져요. 정말 감사합니다 :)
빨리!!! 더 올려주세요!!!!😍😍😍😍
댓글이 달리면 그렇게 힘이날 수 없더라구요!! 니꼬쌤 화이팅!!
영상 굿굿!! 어려워서 이해가 안가서 두번 봤는데 알것같아요! 감사합니다~!
미쳤습니다....
이 복잡한 내용을 이렇게 간단하게 풀어내시다니... 감사합니다^___^
지식의 경계를 허물고 있네요 진짜루 너무 재밌게 잘 봤습니다
다음화 꼭 나오길 바래서 댓글 남깁니당
와 설명 대박.. 이해가 잘 안됐는데 이 영상보고 바로 이해가 됐습니다!
어떤 영상이든 도움이 너무 많이 됩니다. 감사합니다.
전공 강의 보충용으로 아주 유용하게 잘 보고 있습니다 고마워요!
니코쌤 강의 잘 듣고 있어요 !!! 이해시켜주는 과정이 정말 놀랍네요 !!!
마침 알고리즘 공부를 한달전부터 시작했었는데, 이렇게 해주셔서 한번씩 정리도 되고 너무 좋아요 :) 이해가 잘됩니다~ 정말 감사합니다! 앞으로도 계속 기대할게요!
항상 잘보고있습니다!! 강의도 잘듣고있어요 ㅎㅎ
잘봤습니다. 쉽게 설명해주셔서 감사합니다!!
와 시간복잡도 개념에 대해서 애매하게만 알았는데 이렇게 설명들으니깐 바로 이해돼요 ㅋㅋㅋ. 감사합니다.
아… 한학기동안 400만원 내고 배운거를 유튜브에서 “무료로 알아듣기” 쉽게 강의해주시는 그는 도덕책…
진짜 너무 너무 유익한 영상이에유ㅠㅠㅠ 자료도 보기 좋고 짱짱 좋습니다!!
좋은영상 감사합니다 ㅎㅎ 오늘 영상이 바로 알고리즘의 핵심이네요!
저도 캐나다에서 대학생활을 할때, 이론코스에서 기억나는건 Big O 에 대한 개념 뿐입니다.
그정도로 반드시 알아두어야할 부분인 것 같습니다.
학생때 이해가 잘안돼서 그대로 방치 하고 있던 중인데 너무 고마워요 정말로 ㅠㅠ 니꼬쌤 덕에 좋은 조건으로 취직도하고 벽을 마주할 때 마다 넘어갈수 있게 도와주시고 진짜 팬미팅하면 꼭 갈꺼에요ㅠㅠ
잘봤습니다! 공간복잡도에 대한 영상도 올려주면 좋을거 같아요 ~!
낼 모레 코테 준비하는데 기초가 너무 부족한거 같아서 듣고있어요! 유튜브 댓글 진짜 귀찮아서 잘 안다는데.. 넘 유용하고 이해가 잘돼서 댓글 남깁니다!!
니코가 한국에서 강의해줘서 행복해,,,
와우 학교에서 배웠던 정리 안된 지식들이 이 영상으로 한번에 싹 정리되었어요! 감사합니다. 너무 많은걸 배워서 도대체 뭐가 중요한지, 왜 배우는건지 포인트를 못 잡고 있었거든요. 이제 좀 정리가 되었으니 기억도 잘 할 수 있을 것 같습니다. 노마드 코더 진짜 좋아요 ㅋㅋ
다양한 알고리즘을 알면 알수록 더 어려워지는 분야(?)인것 같음
ㅠ_ㅠ!
쉽게 이해할 수 있어어요!!
This is exactly the video i was looking for when I heard of Time Complexity. I assume space complexity is the same as you describe with storage or required memory resources per input. Your videos are great thank you!
O(1), O(2) 를 나누지 않는 이유는 입력의 크기에 따른 변화가 없기 때문일 것 같아요.
그래도 정교하게 성능을 고민하는 사람들에게는 그런 것도 고민해볼만한 것이지만요.
고등학생보다 어린 친구들을 위해서 logarithm 까지 친절하게 설명해주신 것 같은데 감사합니다.
알고리즘 공부하는데 진짜 너무너무너무너무 큰 도움이 되는 영상 감사합니다 니콜라스쌤🦊💙
감사합니다. 어제 알고리즘 공부하다가 유클리드 호제법이 왜 log n인지 궁금했는데 마침 빅오를 올려주시다니 정말 감사히 잘봤습니다!!
"안녕하세요 니콜라스입니다~" 항상 좋은 컨텐츠인걸 알기에 언제 들어도 좋은 멘트이니다👍👍👍👍👍👍👍
여러 알고리즘에 대해 알게될수록 시간복잡도를 계산하는게 쉽지 않더라구요....
화이띵!
저희 고등학교 정보 시험 시험 범위입니다. 잘 보겠습니다. 감사합니다
기사공부하면서 이게 뭔소리지 했던걸 엄청 쉽게 설명해주셔서 감사합니다😁👍
즐겁게 잘 보고 있어요! 감사해요~
책을 읽어도 막연했던 부분을 이렇게 쉽게 뻥 뚫어주시다니... 멋찌다!!! ㅎ
GoF 디자인패턴도 함 설명해 주시면 좋겠습니다.ㅎ
간단하게 설명해줘서 감사합니당!!
학교에선 저게 무슨 말인지 이해하기 힘들었는데 여기서 다시 배워가네요
니꼬썜이 설명하면 가능!
너무 알기 쉬워요! 감사합니다!
알고리즘 자료구조 딥하게 유료강좌 나오면 바로 신청할께요~
단번에 이해가 됐어요ㅠㅠㅠ감사합니다
전공으로 배우고 있는데 도움 엄청 됩니다.😊😊
대학에서 교수님이 설명할때도 갑자기 수학이 나와서 안듣고 있다가 혼자 교재를 꼼꼼히 읽어봐도 어려웠는데 영상을 보고 바로 이해가 됬어요!! 어려운 프로그램을 항상 쉽게 설명해 주셔서 감사합니다!
사랑해요 누나 누나덕분에 프로그래밍 지식을 쉽게 배울수있네요 ^^
Thanks for being a super good influence for future programmers.
This is actually better and easier explanation than anything I have watched.
항상감사합니다!
데이터 n만큼을 전송하기.
인터넷으로 전송 : O(n)
비행기에 싣고 전송 : O(1)
??
-0-!?
비행기에 실을 수 있는 데이터의 양이 무한이 아니므로 비행기 전송도 엄밀히 말하면 O(n) 이 맞지 않을까요?... 만일 비행기에 실을 수 있는 데이터의 양이 무한이라고 가정을 하면 공정하게 인터넷 대역폭도 무한이라고 가정을 해야 하고 그러면 둘 다 O(1)이 되겠죠...
@@cheong0813 비행기 수가 충분히 많으면 가능합니다. 만약 데이터를 하드디스크에 담고도 너무 많아서 비행기를 3대를 띄워야 한다면 3대를 동시에 띄우면 1대가 운행하는 시간과 똑같기 때문입니다. 반면에 인터넷을 이용한 전송은 데이터가 클수록 전송하는 시간이 많이 걸리기 때문에 위에 제시된 값이 맞습니다. 실제로 천문학에서 블랙홀의 형상을 발견하기 위해 우주의 사진을 셀 수 없이 많이 찍었는데, 이를 분석하기 위해 인터넷으로 자료를 전송하는 것이 아닌, 비행기로 날랐다고 합니다.
O(N!)과O(2^N) 의 시간복잡도를 갖는 알고리즘은 도대체 뭘까
👍👍👍👍👍👍 Nomad Coders~
Great course. Thanks a lot.
노마드형 오늘도 좋은자료 감사합니다. 그래프 그림좀 캡쳐해서 사용해도 될까요? 출처는 남길게요
드디어 이해했어요 영상 굿
좋아요부터 누르고 시청함.
강의 좋네요. 저도 계산기프로그램 만들어 보면서 알고리즘의 중요성을 몸소 체험해보고 아 알고리즘이 매우 중요하구나 하고 느낀 경험이 있습니다. 저같은 경우는 Big(n)을 Big(log N)으로 개선해서 속도를 향상시킨 경험을 해봤습니다.주로 엔진을 만드는 개발을 하는데 알고리즘의 역할은 매우 중요할 수도 있다는 생각을 해 봤습니다. 일반 개발에서는 사용하는 프레이워크나 라이브러리에 이미 알고리즘이 녹아들어가 있어서 툴 사용법만 잘 알면 굳이 알고리즘 몰라도 별 문제가 없게 느껴질 수도 있지만요.
이론강의 더 많이 올려주세요..!
Hey Thanks for your video. I watched several videos and I feel like eventually I got this things mine.👍
형 잘 배워갑니다!
Lately I realized that Math is pretty cool. Thank you again!
Your explanation is so good! Thanks for making this type content.
I just started with programming and you sir are helpful!
That was such an excellent explanation dude. Very cool!
어줍잖은 대학 교수 강의보다 훨씬 났네요ㅋㅋ 잘 배웠습니다!
진짜 공감합니다.
저희학교 교수만해도 얼굴안본다고 알아서 책읽고 과제문제는 알아서 찾아서 푸세요 이러는데 그럴거면 돈내고 학교안다니지 ..
@@gymrat89657 직무유기 지리네여..
네 그래놓고 자기 강의인기없으니까 자기강의 레벨이 너무높아서 안듣는다고 생각하는 머저리..
교수들 자질 후달리는 사람 넘칩니다. 개혁해야할 적폐 중에 한가지죠. 진짜 쓸어버리고 싶네ㅋㅋ 그런 교수 밑에서 노예처럼 굽신굽신.. ㅄ들도 넘치죠..
@@johannlee7005 저는 아직 교수라는직책을 달성해보지 못해 그분들의 지식량 지식수준이 얼마나 대단하신진 모릅니다 하지만
자기 개인역량이 뛰어난거랑 학생들을가르치는건 다르다고 생각하는데
현재 교수들은 적어도 선생으로써의 역량은 하나도없는분들이 다수계신것같아요
Me encantan tus videos. Justo estaba viendo notacion O en mi clase y gracias a ti ya lo entiendo mucho mejor
Thank you for making this video man 😀
감사합니다🤗
Great explanations! Thanks!!
재밌게 잘 보고 있습니다. 혹시 small o 라는 것도 있나요?
이산수학 시간에 배웠던 내용이네 교수님보다 쉽게 설명하시는군요
이게 유튜브의 순기능이네요! 항상 좋은 영상 감사합니다~
노마드코더 감사해요♥️