complexity(복잡도)는 가장 높은 경우로 결정한다 CONSTANT / O(1) : n이 증가 되어도 시간은 항상 똑같다.ex) 인덱스로 접근해서 처리할 경우 LOGARITHMIC / O(log n) : 결과를 처리하면서 시간이 줄어든다ex) memoise, binerySerch LINEAR / O(n) : n이 증가하면 시간도 비례해서 증가2n 으로 증가 QUADRATIC / O(n^2) :n이 증가하면 시간이 n^2으로 증가ex) 이중 for문 EXPONENTIAL O(c^n):n이 증가하면 시간이 기하급수적으로 증가함 참고 https://medium.com/basecs/looking-for-the-logic-behind-logarithms-9e79d7666ddabig-o cheet sheet
1. graph- 노드들이 선으로 연결되어 삼각형의 형태를 띄고 있는 자료구조- tree 구조와는 다르게 노드가 하나 이상의 in-degree, out-degree를 가질 수 있다.- directed graph: deree가 방향성을 가지고 있다: E노드의 경우 in-degree 2개, out-degree 2개 로 표현한다 - undirected graph: 방형성이 없어 E노드는 degree가 4개라고 표현한다 2. tree - 구조가 나무의 뿌리 같이 생겨 트리 구조라고 불리운다- 부모노드에서 자식노드로 갈 수 있지만 자식 노드는 부모노드로 갈 수 없다.- 작은 graph구조라고 할 수 있다 3. binary search tree- 정렬 알고리즘 이다- 어떠한 기준(사진에서는 자신보다 크면 오른쪽 작..
1. stack- FILO(first in last out), LIFO(last in first out)- psedo code: 필요한 매소드자료를 넣는 매소드 ->넣은 순서대로 쌓일 것넣은 자료를 뒤에서 부터 빼는 매소드 2. queue- FIFO(first in first out) - psedo code: 필요한 매소드자료를 넣는 매소드 ->넣은 순서대로 쌓일 것넣은 자료를 앞에서 부터 빼는 매소드 3. linked list - 배열과의 차이점: 만약 중간에 자료를 넣어야 할때 배열의 경우 중간 이후의 모든 자료들이 방을 이동해야 하지만 linked list의 경우 앞의 메모리 영역과 뒤의 메모리 영역 사이에 연결만 잘 해주면 된다.- psedo code: 필요한 매소드노드와 노드를 이어주는 매소드노..