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
XMLHttpRequest(XHR) 기초 이해 XMLHttpRequest XMLHttpRequest (XHR) 객체는 서버와 상호작용하기 위한 객체로 페이지의 새로고침 없이도 URL로부터 데이터를 받아올 수 있다. 즉, AJAX 프로그래밍에 주로 사용되는 객체이다. HTTP 이외의 프로토콜을 지원한다(file 과 ftp ) XMLHttpRequest는 readyState 값이 존재 하는데 다음과 같은 상태를 정의한다. 0: UNSET(미전송) - 요청이 생성된 상태로 아직 서버에 요청을 보내지 않은 상태 1: OPENED(열림) - open() 함수가 호출된 이후로, 요청 초기화가 된 상태 2: HEADERS_RECEIVED(헤더 응답) - send() 함수 호출 이후, 서버에 요청한 결과의 헤더를 수신한 상태 3: LOADING(로딩) - send.. ocean floor/js floor / 2021. 12. 10. / dankthedust
JSON과 Storage(local, session) JSON JSON은 속성과 값으로 쌍을 이루는 데이터 포맷으로, 비동기 브라우저/서버 통신(AJAX)를 위해 넓게는 XML을 대체한다. 특히, 인터넷에서 자료를 주고 받을 때 그 자료를 표현하는 방법으로 알려져 있다. JSON파일은 하나의 문자데이터이나, JavaScript에서 데이터 값을 불러와지면서 그 파일의 자료형이 해석되어 사용된다. // myData.json { "name": "Lee", "age": 25, "emails": ["dankthedust@gmail.com", "8wall_dawn@kakao.com"] } import myData from './myData.json' console.log(typeof myData); // Object const user = { name:.. ocean floor/js floor / 2021. 10. 9. / dankthedust
1 2 3
Category / Manage
>