ReadingSearchingInsert 혹은 배열에 쓰기Delete읽는 것을 빠르지만, 검색, 삽입, 삭제할때는 느리다그래서 알고리즘을 사용하면 빨라질 수 있다"1초" 같은 시간단축이 아니라, 절차/스텝들이다. 적은 절차일 수록 좋은 알고리즘이다Time Complex
Big-O Notation 빅 오 표기법 길게 설명하는 것보다 표기법으로 설명하면 시간복잡도를 빠르게 설명할 수 있다 알고리즘 분석을 빠르게 할 수 있고 언제 무엇을 쓸지 파악할 수 있다 자신의 코드 평가 가능해짐 특징 상수(Constant)를 무시한다 ex) O(
Big-O가 알고리즘을 완벽하게 설명하는 건 아니다각각 알고리즘은 Big-O를 가지고 있지만 각각 퍼포먼스는 다르다n개의 숫자가 있을때 기준에 따라 순서대로 정렬하는 것을 말한다Buble Sort 버블정렬Selection Sort 선택정렬Insertion Sort 삽입
key : value 형태로 저장되는 자료구조다시간복잡도는 O(1)Array보다 빠르게 저장/삭제/조회가 가능하다ex) JS - Object / Go - map / Python - Dictionary밑처럼하면 선형검색으로 O(n) 시간이 오래걸림그런데 value만 저장
일종의 규칙이다ADT (Abstract Data Type) 추상적 자료구조실제 프로그래밍 언어에선 존재하지 않음코드로 정의된 것이 아닌 구조의 행동 양식만 정의된 것규칙만 이해하면 자료구조들에서 적용할 수 있다FILO Fist In Last Out 먼저 들어온 놈이 먼
자기 자신을 호출하는 함수재귀(再歸) : 원래의 자리로 되돌아가거나 되돌아옴.입출력값 정의하기문제를 쪼개고, 입력값이 빈 배열인 경우와 아닌 경우를 나눈다단순한 문제 해결하기탈출조건을 구성한다. 입력값이 빈배열인 경우 0을 리턴복잡한 문제 해결하기arrSum(\[요소1
사진출처깊이 내려간 후, 더이상 내려갈 곳 없으면 옆으로 이동: Root Node나 임의의 Node에서 다음 분기(Branch)로 넘어가기 전 해당 분기를 완벽하게 탐색하는 방식Stack 이나 재귀함수로 구현1\. 모든 노드를 방문하고자 할 때 사용 ex) 미로게임에서
최대공약수(Greatest Common Divisor, GCD): 두 수 이상의 여러 공약수 중 최대인 수: 두 수 이상의 여러 수 중 공통된 약수. 약수(Divisor) : 어떤 수를 나누어 떨어지게 하는 수ex) 6과 9의 공약수는 1, 36의 약수: 1, 2, 3
JavaScript 배열과 그 배열의 차이점먼저 자료구조나 전통적인 정적 배열을 사용하는 언어들(C, C++, Java)의 배열과 Javascript의 배열의 구현과 동작이 다르다.: 밀집 배열(dense array)고정된 배열 길이연속적인 데이터같은 타입 데이터 저장