영상에 담기진 못했지만 몇 가지 공유하고 싶은 부분을 댓글로 남깁니다 * Θ(1) == O(1)?? - 알고리즘이나 함수의 실행 시간을 표현할 때는 Θ(1) == O(1) 는 true입니다. - 하지만 일반적인 수학의 세계에서는 Θ(1) == O(1)는 false 입니다. * merge sort의 시간복잡도는 O(N*logN)으로 많이들 표현하지만 보다 정확한 표현은 Θ(N*logN) 입니다 * Θ, O, Ω 개념을 완전 FM대로 설명하려면 영상에서 다뤘던 수준보다 더 디테일하게 수학적으로 다뤄야 합니다만 그러면 내용이 더 어려워지고, (그렇게까지 디테일하게 몰라도) 영상에서 다룬 정도로만 이해하고 있으면 무리 없이 읽고 또 대화할 수 있기 때문에, 걱정 없이 영상을 보고 즐기시면 되겠습니다 :) * 2.36에서 T(N) 수식의 첫 줄의 맨 마지막은 1이 아니라 c4가 되어야 합니다ㅜㅠ 오타가 있었네요 죄송합니다 ㅠㅠ (시간복잡도 계산하는 부분에서는 어차피 상수라 마지막에 b로 함께 묶이게 되는 것은 동일합니다)
진짜 댓글 잘 안 남기는데요,, 학교에서 알고리즘 강의 듣고도 이해가 잘 되지 않아서 강의영상들 찾아보는 와중에 우연히 보게 되었는데 ,, 와 설명 진짜 쫀득하게 잘 하시네요. 첫 시청인데도 개념이 얼추 잡혔습니다. 여러 번 반복 수강하고, 다른 영상들도 찾아보도록 하겠습니다. 고퀄리티 강의 감사합니다 !!
알고리즘 관련 개념을 검색하다가 우연히 선생님 영상을 보게됐는데 설명이 머릿속에 쏙쏙 잘 들어와서 시간 가는줄도 모르고 계속 본 것 같습니다. 영상 목록을 둘러보니까 제가 궁금해하고 이해가 잘 안가던 주제를 다룬 영상들이 많이 보여서 구독했습니다. 어렵게 얻어냈을 소중한 지식을 쉽게 풀어 설명해주셔서 감사합니다. 감사히 잘 봤습니다.
오늘도 멋진 지수님 화이팅입니다!! 시간복잡도 같은 경우에는 내가 짠 코드의 시간적인 성능이 어느정도인지 가늠해보고 싶을 때 사용합니다. (물론 항상 그렇지는 못하지만,, 개발할 때 시간복잡도를 염두하면서 함수나 메서드를 구현하게 되기도 합니다~ 더 성능 좋게 만들고 싶은 마음이 있으니까요) 현실적으로는 기술 면접 때 더 많이 사용하는 것 같긴 해요ㅎㅎ 코딩테스트에서 코드를 짜면 이후에 면접 때 내가 짠 코드의 시간복잡도를 물어보곤 하죠
유익한 강의 잘 봤습니다 케이스별로 각 점근법을 다 사용할 수 있다고 하셨는데 보통 최선의 케이스는 빅-오메가, 최악의 케이스는 빅-오 표기법을 쓰잖아요, 빅-세타의 경우는 상한선과 하한선이 tight bound 일때 사용한다는 것은 이해했는데 최선 -> 빅-오 표기법, 최악 -> 빅-오메가 표기법은 언제, 왜 사용하는 걸까요? 각 표기법에 따른 의미 전달을 위해 사용하는 건가요?
영상 시청 감사합니다 :) 질문 주신 내용이 제대로 설명하려면 할 말이 많아서 글이 조금 길어요 ㅠ 참고 부탁드립니다~ '케이스'라는 용어를 사용할 때의 의미가 중의적이라서 약간 애매한게 있는 것 같아요 만약 '최선의 케이스'를 lower bound의 의미로 사용하고, '최악의 케이스'를 upper bound의 의미로 사용했다면 최선의 케이스는 빅-오메가로, 최악의 케이스는 빅-오로 표기하는 게 맞다고 생각합니다 그런데 그게 아니라 특정 최선의 케이스를 상정하고, 혹은 특정 최악의 케이스를 상정하고 얘기하는 거라면, 이때는 어떤 표기법을 사용하든 개념적으로 사용은 가능하다고 생각해요 예를 들어, linked list에서 특정 값이 존재하는지를 찾을 때, 최선의 케이스는 찾으려는 값이 맨 앞에 있는 경우입니다 이 케이스일 때의 시간복잡도는 linked list의 크기가 아무리 커져도 언제나 상수 시간인데, 이 상수 시간을 표기하는 방법은 빅 오메가(1)로도 할 수 있고, 세타(1)로도 할 수 있고, O(1)로도 할 수 있습니다 개념적으로 각각이 lower bound, tight bound, upper bound이기 때문에 어떻게 표현하든 다 틀린 말이 아닌 거죠 물론 저는 이런 경우에는 tight bound인 세타로 표기하는 것이 가장 정확하다고 생각합니다 반대로, linked list에서 특정 값이 존재하는지를 찾을 때, 최악의 케이스는 찾으려는 값이 없거나 맨 뒤에 있는 케이스입니다 이 케이스일 때의 시간복잡도는 linked list의 사이즈가 아무리 커져도 언제나 그 사이즈에 비례하게 되는데, 이때 표기하는 방법은 마찬가지로 빅 오메가(N)으로도 할 수 있고, 세타(N)으로도 할 수 있고, O(N)으로도 할 수 있습니다 물론 이런 경우에도 tight bound인 세타로 표기하는 것이 가장 적절하다고 생각합니다 가장 재밌는 예는 average case일 때인데요, linked list에서 특정 값이 존재하는지를 찾을 때, 평균적인 케이스의 시간복잡도를 표현하라고 한다면, 이때는 빅-오메가나 빅-오 로 표기할 수 있습니다 (세타로는 표기할 수 없습니다) 그런데 이때 빅 오메가로 표기한다면 빅-오메가(1)이 될꺼고요, 빅 오로 표기한다면 O(N)이 될거에요 제가 구글링도 해보고, 대학교에서 텍스트 북으로 많이 쓰이는 Introduction to Algorithms 책을 봤을 때도, worst case나 best case로 구분해서 시간복잡도를 구하는 경우에, 특정 상황을 상정하고 그 상황에서 시간복잡도를 표기하는 것이 많았습니다. 그래서 가령 merge sort의 worst case의 시간복잡도를 세타(N*logN)으로 표기를 하고, insertion soert의 worst case의 시간복잡도는 세타(N^2)으로 표기 하더라고요 그래서 저도 비슷한 맥락에서,, 각 case 별로 빅-오메가나 세타나 빅-오를 사용해서 시간복잡도를 표현할 수 있다라고 말씀드리게 됐습니다 도움이 됐길 바라요 :)
@@ezcd 헉, 자세한 설명 감사드립니다! 덕분에 어떤 의미인지 이해가 된 것 같습니다 시간 복잡도를 통해서 운영하고 계신 채널을 알게되었는데 다른 영상들도 유익한 내용이 많은 것 같습니다 백엔드 분야 희망자로서 백발백중 목록은 꼭 완강하려고 합니다 귀한 주말 아침에 시간 내서 답글 달아주신 것 정말 감사드립니다! 즐거운 주말 되셨으면 좋겠습니다
칭찬과 구독 감사합니다 !! :) binary search와 ternary search를 비교하시는 거죠? binary search는 O(logN)이고요, (이 때 엄밀히 말하면 로그의 base는 2) ternary search는 O(logN)입니다 (이 때 엄밀히 말하면 로그의 base는 3) 로그의 base 차이가 있긴 하지만 time complexity는 어느 정도 경향성인지를 나타내는 목적이기 때문에 base는 생략하고 표현하기 때문에 학교에서 그렇게 얘기한 것 같습니다
헉 너무 잘 말씀주셨어요~!! C4*1 = C4로 표기해야 정확합니다 이때 영상 만들 때 기억이 가물가물한데요,, 제 실수였거나, 아니면 c4로 표기된 부분이 단순하게 리턴만 하기 때문에 한 스텝으로 보고 1로 했거나 둘 중에 하나였을 것 같은데요, 어쨌든 결과적으로 혼선을 주는 것은 변함없는 사실입니다 ㅠㅠ 혼돈을 드러서 죄송해요ㅠ 그리고 말씀주셔서 정말 감사합니다!! 이 부분은 pin 댓글에 추가해 놓을게요~! 그리고 N+1에서 왜 1이 하나 더 추가되는지 이유는 마지막 최종 탈출 조건을 확인하기 때문에 하나가 더 추가돼서 그렇습니다~
영상에 담기진 못했지만 몇 가지 공유하고 싶은 부분을 댓글로 남깁니다
* Θ(1) == O(1)??
- 알고리즘이나 함수의 실행 시간을 표현할 때는 Θ(1) == O(1) 는 true입니다.
- 하지만 일반적인 수학의 세계에서는 Θ(1) == O(1)는 false 입니다.
* merge sort의 시간복잡도는 O(N*logN)으로 많이들 표현하지만 보다 정확한 표현은 Θ(N*logN) 입니다
* Θ, O, Ω 개념을 완전 FM대로 설명하려면 영상에서 다뤘던 수준보다 더 디테일하게 수학적으로 다뤄야 합니다만 그러면 내용이 더 어려워지고, (그렇게까지 디테일하게 몰라도) 영상에서 다룬 정도로만 이해하고 있으면 무리 없이 읽고 또 대화할 수 있기 때문에, 걱정 없이 영상을 보고 즐기시면 되겠습니다 :)
* 2.36에서 T(N) 수식의 첫 줄의 맨 마지막은 1이 아니라 c4가 되어야 합니다ㅜㅠ 오타가 있었네요 죄송합니다 ㅠㅠ (시간복잡도 계산하는 부분에서는 어차피 상수라 마지막에 b로 함께 묶이게 되는 것은 동일합니다)
학교 강의로는 진짜 이해 안됐었는데.. 쉬코님 강의 덕분에 이해가 바로 됐습니다. 개념 설명해주시고 왜 그런지 이해하기 쉽도록 정리도 잘해주셔서 강의 듣기에 좋았습니다. 구독 바로 누르고 다른 영상들도 참고해서 보겠습니다. 진심으로 감사합니다.
와우~!! 뭔가 도움이 된 것 같아서 저도 기분이 좋습니다 :)
구독은 사랑입니다😭
자주 놀러오세용~! 좋은 영상들로 꾸준히 인사드릴게요~!
좋은 영상 정말 감사합니다. 오늘 처음으로 영상 봤는데 자료구조와 빅오에 대한 설명이 너무 좋습니다ㅎㅎ
헤헤 영상을 좋게 봐주셔서 정말 감사합니다 :)
진짜 댓글 잘 안 남기는데요,, 학교에서 알고리즘 강의 듣고도 이해가 잘 되지 않아서 강의영상들 찾아보는 와중에 우연히 보게 되었는데 ,, 와 설명 진짜 쫀득하게 잘 하시네요. 첫 시청인데도 개념이 얼추 잡혔습니다. 여러 번 반복 수강하고, 다른 영상들도 찾아보도록 하겠습니다. 고퀄리티 강의 감사합니다 !!
우와 ㅠ 귀한 댓글과 칭찬의 말씀 정말 감사합니다!! 도움이 된 것 같아서 저도 준비한 보람이 있고 뿌듯하네요 :)
자주 들러주세요 ㅎㅎ 좋은 영상으로 꾸준히 인사드릴게요!! 👍
선생님은 저를 구하셨습니다. 만수무강하세요.
답글이 많이 늦었습니다 ㅠㅠ 사람 구하는 일보다 중요한게 없죠!! 히히
늘 건강하세요~!
알고리즘 관련 개념을 검색하다가 우연히 선생님 영상을 보게됐는데 설명이 머릿속에 쏙쏙 잘 들어와서 시간 가는줄도 모르고 계속 본 것 같습니다. 영상 목록을 둘러보니까 제가 궁금해하고 이해가 잘 안가던 주제를 다룬 영상들이 많이 보여서 구독했습니다.
어렵게 얻어냈을 소중한 지식을 쉽게 풀어 설명해주셔서 감사합니다.
감사히 잘 봤습니다.
오우 영상을 유익하게 봐주셔서 정말 감사합니다 :) 이렇게 성심성의껏 댓글을 써주셔서 많이 뿌듯하고 그렇네요 😊
앞으로도 자주 자주 놀러와 주세요~ 좋은 영상으로 준비해 놓겠습니다 👍
좋은 영상 너무 감사합니다 수업 중에 하나도 이해 못해서 제 스스로가 너무 멍청한 것 같고 자괴감 들었었는데 ㅠㅠ 이렇게 쉽게 설명할 수 있는 내용이었다니..진짜 감사합니다 구독하고 갑니다!
그런 일이 있으셨군요 ㅠㅠ 절대 멍청하지 않습니다! 자괴감 들지 않아도 되셔요~!
처음 접할 땐 대부분이 어렵고 바로 이해되지 않는게 정상인 것 같아요~
힘내세요!! 좋은 영상들로 항상 응원하겠습니다!!
@@ezcd 감사합니다 위로가 되네요 ㅠㅠ 응원해주시는 만큼 열심히 하겠습니다
레전드..자료구조 수업 듣는 중인데 저희 교수님 강의실력이 얼마나 처참한지 다시 한 번 깨닫고 갑니다..저희 교수님이 돼주시면 안 될까요😢
앜ㅋㅠㅠㅠ 잘 아는 것과 잘 가르치는 것은 또 별개라 아마 교수님도 최선을 다하고 계시지 않을까 싶습니다 ㅠㅠ 좋게 봐주셔서 넘 감사해요! 영상으로 또 인사드릴게요!
잘보고 갑니다. 여러번 돌려보며 머리에 익혀야겠네요
앞으로 성장하는 채널이신거 같아 알찬내용 기대하며 구독 누르고갑니다 좋은 영상 부탁드립니다
우아아~~ 댓글과 구독 감사합니다!! 자주자주 놀러오셔요~ 좋은 영상 꾸준히 올려놓겠습니다 :)
돌아오세요 ㅠㅠㅠ DB듣고 복습겸 이것도 듣는데 하나하나가 주옥같은 강의들이네요. 무료에 이런 퀄리티..
너무 오래걸렸죠..ㅠㅠ 이제 돌아왔습니다!! 앞으로 좋은 영상으로 인사드릴게요~!
이진검색 시간복잡도가 왜 O(logN)인지 알려고 들어왔다가 강의 다 듣고 가요.. 깔끔한 강의 감사합니다!!
흐흐 끝까지 봐주셔서 감사합니다!! 칭찬의 말씀도 감사합니다 :)
자주 놀러와 주세용 👍
감사합니다. 시간복잡도 설명 !
유익하게 봐주셔서 감사합니다 :)
좋은 설명 감사합니다. 시간복잡도 설명 영상 중 최고의 영상입니다.
제가 인사가 너무 늦었습니다 ㅠㅠ 극찬해주셔서 정말 감사합니다!!
학교 알고리즘 수업 듣다 포기할려고 했는데 덕분에 이해했습니다 감사합니다!
와~!! 뭔가 큰 도움이 된 것 같아서 많이 뿌듯합니다!! 컴공 공부하시는거 포기하시지 마셨으면 좋겠어요 ㅠㅠ 쉬운코드가 열심히 돕겠습니다!
너무 감사합니다!!! ㅠㅠ 시간복잡도를 안 배웠는데 과제로 나와서 당황하던 중에 선생님 영상 보고 큰 도움을 얻었어요!!!
헉 배우지도 않았는데 어떻게 과제가 나왔나요.. ㅎㄷㄷ
그래도 도움이 됐다니 뿌듯하네용 :)
고맙습니다 선생님
저도 댓글 감사해요 :)
시간 복잡도 정말 이해 안 갔는데 이 영상보고 얼추 감 잡았어요! 구독 누르고 갑니다 : )
크~!! 도움드릴 수 있어서 뿌듯합니다 ㅎㅎ
구독 감사함다!! 앞으로도 좋은 영상들 꾸준히 올릴게요 :)
정말 감사합니다! 정성스러운 PPT자료와 함께 보니 더욱 이해가 되는 것 같습니다!
댓글 달아주셔서 저도 많이 뿌듯하네요 :) 항상 응원합니다~! 👍
감사합니다 덕분에 시간복잡도 개념을 잘 이해하게 되었습니다 : ) ;
도움드릴 수 있어서 뿌듯하네요 :) 댓글 감사해요!
감사합니다 !이해가 쏙쏙 되네요 !
다행입니다 :) 도움이 돼서 뿌듯하네요 👍
굉장히 자세하게 설명해주시네요 제가 아직 개념이 낯설어서 여러 번 봐야겠네요 ;;
최대한 쉽게 설명하려고 노력하다보니 자세히 설명을 하게 됐어요~ :)
계속 보시면 어느 순간 느낌표가 뜨면서 이해가 되실거에요 👍
좋은 영상 감사합니다!! 마지막 정말 빵 터졌습니당ㅎㅎㅎ
좋게 봐주셔서 감사합니다 !! 원인은 키보드에 있었습니다 ㅋㅎㅎㅎ
ㅋㅋㅋㅋㅋㅋㅋ
설명 정말 잘하시네요... 좋은 영상 감사합니다!
크 ㅠㅠ 칭찬 감사합니다!! 앞으로도 꾸준히 좋은 영상으로 인사드릴게요 :)
선생님 감사합니다. 정리하는데 많은 도움이 되었습니다.
늦었지만 인사드립니다! 도움될 수 있어서 뿌듯하네요 :)
ㅋㅋ 재밋게 잘 설명해서 귀에 쏙쏙 들어오네요 근대 휘발성데이터로 남아버릴까 걱정 ㅋㅋ
ㅋㅋㅋ 재밌게 봐주셔서 감사합니다 👍
휘발성이 될 때 즘에 다시 한번 봐주시면 됩니다ㅎㅎ
너무 감사합니다. 강의 잘 봤습니다!
이제야 답글 다네요 ㅠㅠ 좋게 봐주셔서 감사합니다!!
와 너무 좋은 영상 감사합니당..
크 댓글 감사합니다~! 도움이 된 것 같아서 저도 기분이 좋으네요 :)
최고!! 감사합니다
최고의 댓글에 답글이 너무 늦어 죄송합니다ㅠㅠ 그리고 감사합니다!!
선생님 사랑합니다
저두요 하트
좋은 영상 감사합니다!
저도 댓글 남겨 주셔서 감사해요 :)
잘 배우고갑니다
유익하게 봐주셔서 감사합니다 :)
아주 직관적이네요 잘들었습니다
인사가 많이 늦었습니다 ㅠㅠ 좋게 봐주셔서 감사합니다!
블로그에 출처 남기고 내용 정리해도 괜찮을 까요?? 알고리즘 공부하는데 정말 많이 도움이 됐습니당. 감사해요! 앞으로도 좋은 영상 많이많이 기대할게요 구독 좋아요 눌렀어요!!!
와우!! 구독 좋아요 감사합니다 ㅠㅠ 👍
뭔가 도움을 드릴 수 있어서 감사하고 뿌듯하네요 😊
넵~! 출처만 잘 남겨주시면 저도 채널 홍보도 되고 좋습니다!!! :)
17:10 일어나서 볼거
멋지십니다
오늘도 쉽고 좋은영상 감사합니다!! 제가 시간복잡도에 대해서는 사용해본적이 없는데 이걸 어느경우에 사용하게 될까요??
오늘도 멋진 지수님 화이팅입니다!!
시간복잡도 같은 경우에는 내가 짠 코드의 시간적인 성능이 어느정도인지 가늠해보고 싶을 때 사용합니다. (물론 항상 그렇지는 못하지만,, 개발할 때 시간복잡도를 염두하면서 함수나 메서드를 구현하게 되기도 합니다~ 더 성능 좋게 만들고 싶은 마음이 있으니까요)
현실적으로는 기술 면접 때 더 많이 사용하는 것 같긴 해요ㅎㅎ
코딩테스트에서 코드를 짜면 이후에 면접 때 내가 짠 코드의 시간복잡도를 물어보곤 하죠
뭔소린지모르겠지만 공부를위해구독박고갑니다 나중에다시볼게요
감솸다!! 금방 이해하실 수 있을거에요!! 파이팅!! 👍
유익한 강의 잘 봤습니다
케이스별로 각 점근법을 다 사용할 수 있다고 하셨는데
보통 최선의 케이스는 빅-오메가, 최악의 케이스는 빅-오 표기법을 쓰잖아요,
빅-세타의 경우는 상한선과 하한선이 tight bound 일때 사용한다는 것은 이해했는데
최선 -> 빅-오 표기법, 최악 -> 빅-오메가 표기법은 언제, 왜 사용하는 걸까요?
각 표기법에 따른 의미 전달을 위해 사용하는 건가요?
영상 시청 감사합니다 :)
질문 주신 내용이 제대로 설명하려면 할 말이 많아서 글이 조금 길어요 ㅠ 참고 부탁드립니다~
'케이스'라는 용어를 사용할 때의 의미가 중의적이라서 약간 애매한게 있는 것 같아요
만약 '최선의 케이스'를 lower bound의 의미로 사용하고, '최악의 케이스'를 upper bound의 의미로 사용했다면
최선의 케이스는 빅-오메가로, 최악의 케이스는 빅-오로 표기하는 게 맞다고 생각합니다
그런데 그게 아니라 특정 최선의 케이스를 상정하고, 혹은 특정 최악의 케이스를 상정하고 얘기하는 거라면, 이때는 어떤 표기법을 사용하든 개념적으로 사용은 가능하다고 생각해요
예를 들어, linked list에서 특정 값이 존재하는지를 찾을 때, 최선의 케이스는 찾으려는 값이 맨 앞에 있는 경우입니다
이 케이스일 때의 시간복잡도는 linked list의 크기가 아무리 커져도 언제나 상수 시간인데, 이 상수 시간을 표기하는 방법은
빅 오메가(1)로도 할 수 있고, 세타(1)로도 할 수 있고, O(1)로도 할 수 있습니다
개념적으로 각각이 lower bound, tight bound, upper bound이기 때문에 어떻게 표현하든 다 틀린 말이 아닌 거죠
물론 저는 이런 경우에는 tight bound인 세타로 표기하는 것이 가장 정확하다고 생각합니다
반대로, linked list에서 특정 값이 존재하는지를 찾을 때, 최악의 케이스는 찾으려는 값이 없거나 맨 뒤에 있는 케이스입니다
이 케이스일 때의 시간복잡도는 linked list의 사이즈가 아무리 커져도 언제나 그 사이즈에 비례하게 되는데, 이때 표기하는 방법은 마찬가지로 빅 오메가(N)으로도 할 수 있고, 세타(N)으로도 할 수 있고, O(N)으로도 할 수 있습니다
물론 이런 경우에도 tight bound인 세타로 표기하는 것이 가장 적절하다고 생각합니다
가장 재밌는 예는 average case일 때인데요,
linked list에서 특정 값이 존재하는지를 찾을 때, 평균적인 케이스의 시간복잡도를 표현하라고 한다면, 이때는 빅-오메가나 빅-오 로 표기할 수 있습니다 (세타로는 표기할 수 없습니다)
그런데 이때 빅 오메가로 표기한다면 빅-오메가(1)이 될꺼고요, 빅 오로 표기한다면 O(N)이 될거에요
제가 구글링도 해보고, 대학교에서 텍스트 북으로 많이 쓰이는 Introduction to Algorithms 책을 봤을 때도, worst case나 best case로 구분해서 시간복잡도를 구하는 경우에, 특정 상황을 상정하고 그 상황에서 시간복잡도를 표기하는 것이 많았습니다. 그래서 가령 merge sort의 worst case의 시간복잡도를 세타(N*logN)으로 표기를 하고, insertion soert의 worst case의 시간복잡도는 세타(N^2)으로 표기 하더라고요
그래서 저도 비슷한 맥락에서,, 각 case 별로 빅-오메가나 세타나 빅-오를 사용해서 시간복잡도를 표현할 수 있다라고 말씀드리게 됐습니다
도움이 됐길 바라요 :)
@@ezcd 헉, 자세한 설명 감사드립니다! 덕분에 어떤 의미인지 이해가 된 것 같습니다
시간 복잡도를 통해서 운영하고 계신 채널을 알게되었는데 다른 영상들도 유익한 내용이 많은 것 같습니다
백엔드 분야 희망자로서 백발백중 목록은 꼭 완강하려고 합니다
귀한 주말 아침에 시간 내서 답글 달아주신 것 정말 감사드립니다! 즐거운 주말 되셨으면 좋겠습니다
@@cmlee311 오 반갑습니다~ 같은 백엔드 길로 오시는군요~!! 앞으로도 좋은 영상으로 응원할게요 :) 👍
2분에서의 for(int i = 0; i < inputs.length; i++)에선 time이 n + 1이었는데, 19분의 중첩 반복에선 n + 1이 아니에요??
지금도 답글 달아주실진 모르겠는데 이 부분이 조금 헷갈려서 올려봅니다!..
아!.. 19분 코드를 2분 코드처럼 cost랑 time로 나눠서 계산해보니 결국 최고차항은 N^2가 나오긴하네요!..
영상 열심히 봐주셔서 감사합니다 :)
설명잘하시네요 구독했어요~~
한가지 질문이 있는데, 만약 while(n>o) 조건에서 n을 1/3 으로 계속해서 나누는 함수가 있다면 이 함수의 time complexity는
어떻게 되나요?
학교에선 binary search와 같다고하는데 이해가 안되서요
칭찬과 구독 감사합니다 !! :)
binary search와 ternary search를 비교하시는 거죠?
binary search는 O(logN)이고요, (이 때 엄밀히 말하면 로그의 base는 2)
ternary search는 O(logN)입니다 (이 때 엄밀히 말하면 로그의 base는 3)
로그의 base 차이가 있긴 하지만 time complexity는 어느 정도 경향성인지를 나타내는 목적이기 때문에
base는 생략하고 표현하기 때문에 학교에서 그렇게 얘기한 것 같습니다
광안리 등킨 도나쓰 묵으면서 보기 따악 좋은 영상이네예
아이고 성님~ 우째 혼자만 드셨어예~ 지도 등킨 도나쓰 좋아함니더
좋은 영상 감사합니다 :) 실례가 안된다면 제 개인 깃허브에 출처를 남기고 영상 내용을 정리해도 될까요?
그럼요~! 배워서 남주려고 만든 채널이에요~! 출처 남겨주시면 저도 채널 홍보가 돼서 좋아요 ㅎㅎ
이 친구 타고 영상 시청하게 되었습니다:)
좋은 영상 너무 감사합니다!
우아아 감사합니다 :) 알찬 영상으로 자주 인사드릴게요~!! 👍
강추합니다
헤헤 감사합니다 👍
예제에서는 모두 최악의 경우일 때를 상정하는 시간 복잡도죠? 만약 그렇다면 최상의 경우일 때의 시간 복잡도는 어떻게 되나요?
앗, 제가 질문의 의도를 정확히 파악하지 못했는데요,
혹시 어떤 예제 말씀이신가요?
가령 이진탐색의 경우에는 모든 경우를 다 다뤘어요
제가 진짜 수학을 하나도 몰라서 그러는데 2:36 에서 c1*1은 c1으로 표시를 했는데 c4*1은 왜 1로 표시가 됐나요? 그리고 (N+1)에서 1이 c1*1해서 c1이 하나 더 나오게 된거 맞을까요?
헉 너무 잘 말씀주셨어요~!!
C4*1 = C4로 표기해야 정확합니다
이때 영상 만들 때 기억이 가물가물한데요,, 제 실수였거나, 아니면 c4로 표기된 부분이 단순하게 리턴만 하기 때문에 한 스텝으로 보고 1로 했거나 둘 중에 하나였을 것 같은데요, 어쨌든 결과적으로 혼선을 주는 것은 변함없는 사실입니다 ㅠㅠ
혼돈을 드러서 죄송해요ㅠ 그리고 말씀주셔서 정말 감사합니다!! 이 부분은 pin 댓글에 추가해 놓을게요~!
그리고 N+1에서 왜 1이 하나 더 추가되는지 이유는 마지막 최종 탈출 조건을 확인하기 때문에 하나가 더 추가돼서 그렇습니다~
11:40
티스토리엔 야무진 글이 처음 올라갔겠군요!
홋~! 블로그도 같이 봐주시는 구독자님이시군요! 감사합니다 :) ㅎㅎ 티스토리에는 아직 못 올렸지만 조만간 올라가겠죠??ㅎㅎ
인프런에 올려보는 건 어떨까요?
오~! 처음 시리즈 시작할 때 인프런 같은 곳을 고민 안해본 것은 아니었는데요, 거기에 올리면 영상 보시는 분들이 돈 내야 볼 수 있는 걸로 알고 있는데 (맞나요?),, 사실은 백발백중 영상을 무료로 풀려는 목적도 있다보니 그렇게 됐습니당 ㅎㅎ
@@ezcd 무료 강의로 풀 수 있습니다! 킹치만 티스토리의 구글애드의 유혹과 네이버 정말 어렵네요..ㅋㅋㅋ 잘해내실수 있어요
@@doxxx93 앜ㅋㅋㅋㅋ 그쳐 ㅋㅋ 티스토리와 네이버.. 정말 쉽지 않습니다!!ㅎㅎ 그래도 해보겠습니다!! 감사합니다!!!ㅎㅎ :)