Big O Notation(빅오 표기법) #6
💡 **[Colt Steele](https://www.udemy.com/user/coltsteele/) 의 JavaScript Algorithms and Data Structures Masterclass의 강의를 참고하여 정리한 글입니다.** 6. 로그와 시간 복잡도 로그란? 로그는 간단히 말해 지수(n^2, 2^n 등)의 역수이다. 간단한 이해를 돕는 예제로 log2(8) 은 3 이다. 즉, 2^3=8 이라는 말과 같다. 일반적으로 log2(n)은 그냥 log(n) 으로 첨자 처럼 생략된다. 로그의 시간 복잡도 O(log n) 의 시간 복잡도 다음에서 보듯 O(log n)의 시간 복잡도는 처음엔 가파르지만 점점 가파른 정도가 줄어든다라는 것을 알 수 있다. 즉, n 의 값이 커지면 커질 수록 시간 복잡..
ocean floor/algorithm floor / 2022. 2. 25. / dankthedust
Big O Notation(빅오 표기법) #5
💡 **[Colt Steele](https://www.udemy.com/user/coltsteele/) 의 JavaScript Algorithms and Data Structures Masterclass의 강의를 참고하여 정리한 글입니다.** 5. Big O의 공간 복잡성 위의 페이지는 알고리즘에 따른 실행 속도 즉, 런타임과 관련하여 비교하였고 이를 시간 복잡도라고 한다. 입력의 크기가 증가함에 따라 달라지는 알고리즘의 런타임을 분석한 것이다. 이번에 배울 공간 복잡도는 바로 입력 데이터가 차지하는 공간에 따른 분석을 말한다. 즉, 입력 데이터가 차지하는 메모리의 양과 관련된 비교이다. JavaScript 에서의 공간 복잡도에 대한 기본적인 규칙이 존재한다. JS에서의 공간 복잡도 규칙 가장 기본적인 ..
ocean floor/algorithm floor / 2022. 2. 25. / dankthedust
Big O Notation(빅오 표기법) #4
💡 **[Colt Steele](https://www.udemy.com/user/coltsteele/) 의 JavaScript Algorithms and Data Structures Masterclass의 강의를 참고하여 정리한 글입니다.** 4. Big O 표현식의 단순화 3페이지에서 빅오 표현식에 대해서 간단히 알아보았다. 앞전에 살펴보았듯이 solution1은 for 문을 통한 루프가 존재하며, 우리는 해당 코드에서 일어나는 연산을 5n+2 로 정의했었다. 그럼 빅오 표현식도 동일한가? 정답은 그렇지 않다. n 즉, 입력값에 따라 변동하는 빅오 표현식들( n^2 etc...)은 n 값을 크게 보면 다른 값들과 큰 차이성을 두각하지 않는다. 5n+2 나 10n 이나 n 값에 따라 증가하는 시간효율성의..
ocean floor/algorithm floor / 2022. 2. 25. / dankthedust
Big O Notation(빅오 표기법) #3
💡 **[Colt Steele](https://www.udemy.com/user/coltsteele/) 의 JavaScript Algorithms and Data Structures Masterclass의 강의를 참고하여 정리한 글입니다.** 3. Big O 시간 복잡도 2페이지를 통해 보았듯이 입력에 따라 알고리즘의 런타임이 어떻게 증가하는지에 대한 것이 바로 Big O이다. 즉 입력과 해당 입력에 따른 상대적인 시간 간의 관계이다. 다양한 기본적인 표기법이 존재한다. 선형함수 f(n) = n 지수함수 f(n) = n^2, f(n) = 2^n etc... 상수함수 f(n) = 1 이외의 다양한 함수 위의 그래프는 블로그를 탐색하며 빅오의 개념을 정리한 글을 찾아보다 찾게된 그래프이다. 빅오 표기법에서 ..
ocean floor/algorithm floor / 2022. 2. 25. / dankthedust
Big O Notation(빅오 표기법) #2
💡 **[Colt Steele](https://www.udemy.com/user/coltsteele/) 의 JavaScript Algorithms and Data Structures Masterclass의 강의를 참고하여 정리한 글입니다.** 2. 작업의 수를 통한 비교 1.페이지를 통해서 우리는 시간을 통한 성능비교가 크게 신뢰할 수 있는 자료가 아님을 알게 되었다. 그렇다면 어떤 방법을 통해서 더 좋은 코드와 덜 좋은 코드를 구분하고 비교할 수 있을까? 바로 코드를 통해 컴퓨타가 수행해야하는 작업의 수를 계산하는 방법이다. 시간은 해당 컴퓨터의 컨디션, 사양 등에 따라 바뀔 수 있으나 작업의 수는 일정하다.(코드가 변하지 않는다면) 1.페이지에서의 에제를 해결하는 두가지 방법 중 solution2에 ..
ocean floor/algorithm floor / 2022. 2. 25. / dankthedust
Big O Notation(빅오 표기법) (1)
💡 **[Colt Steele](https://www.udemy.com/user/coltsteele/) 의 JavaScript Algorithms and Data Structures Masterclass의 강의를 참고하여 정리한 글입니다.** 1. Big O Notation(빅오 표기법)의 필요성 빅오 표현식은 시간 복잡성 과 공간 복잡성을 정의 한다. 어떤 특정한 문제에 대한 해결 방법이 두 가지 있다고 가정해보자. 두 방법 모두 정상적으로 작동하나 변수의 이름 뿐만 아니라 모든 것이 완전히 다르며, 접근 방식 또한 상이하다. 하나는 루프를 사용한다거나 다른 하나는 목록이나 문자열을 사용할 수도 있다. 이러할 때에 두가지 방법 중에서 어느 것이 좋은 해결 방법이 도리 수 있는지 알 수 있는지에 대한 것..
ocean floor/algorithm floor / 2022. 2. 25. / dankthedust
js를 이용한 HTML 요소 추가 방법들
프로젝트를 만들다 보면 js를 통해서 html의 요소를 추가해야하는 경우가 자주 있다. 특히나 어떠한 상호작용(서버에서 특정 데이터를 가져온다던지, 페이지 내에서의 input value의 값을 출력해야한다던지 등)에 의해서 html의 요소가 변경된다거나 추가 또는 삭제되어야 하는 경우가 있을 것이다. 이러한 기능을 수행하기에 여러 방법들이 있을텐데 이에 대한 각각의 장단점을 알아보고자 한다. 물론 마지막에 결합되거나 만들어진 문자열로 된 html 코드를 innerHTML을 통해서 넘겨주어야 하는 것은 동일하다. 다양한 방법에 대한 예를 들기 위해서 index.html 내에 존재하는 div class='container' 이라고 하는 태그 내에 로 감싸진 많은 태그와 태그 등의 다른 태그들이 생성되어야 한..
ocean floor/js floor / 2021. 12. 10. / dankthedust
반응형 개인 포트폴리오 사이트 Clone Coding(1)
Youtube [Bedimcode : Responsive Personal Portfolio Website Using HTML CSS And JavaScript | Dark/Light Mode] 를 그대로 클론 코딩하면서 작성한 글임을 밝힙니다. https://www.youtube.com/watch?v=27JtRAI3QO8&list=PLMHwCGy6OXi5GoC_S9L75Q2UkIJwxgddb&index=13&t=408s 유튜브 알고리즘에서 뜬 코딩 영상이었다. 퀄리티가 생각한 것보다 좋아 보였고 차후에 포트폴리오 사이트를 제작하는데, 디자인적이나 코드의 짜임새, 그리고 기초적인 html,css,js에 대한 공부가 될 것 같아서 클론코딩을 해보면서 공부해보기로 했다. 영상에는 각 섹션이 나누어져있는데 오늘..
ocean project/clone / 2021. 9. 6. / dankthedust