일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- DOM
- underscores
- 코드스테이츠
- 제일어려워
- 알고리즘
- JS
- 해커톤
- 연습
- grpahQL
- Instantiation Patterns
- 자바스크립트
- 코딩
- nqueens
- 포스기
- 취업
- 리액트
- 클라이언트
- method
- this
- 일상
- 초보
- react
- 엔퀸즈
- vscode
- 개발
- array
- JavaScript
- 공부
- underbar
- ftech
- Today
- Total
analogcoding
5/31 / Data Structures , big O notation , time complexity 본문
5/31 / Data Structures , big O notation , time complexity
be well 2019. 6. 1. 03:50체크포인트
big O notation / time complexity
O(1) - Constant
O(log n) - Logarithmic
O(n) - Linear
O(n^2) - Quadratic
오답 정리.
Array 특정 인덱스 값을 remove 할 때 , 시작 부분에 값을 삽입할 때
O(n) / 특정 인덱스를 알거나 시작 부분처럼 정해진 인덱스의 경우 O(1) 이라고 생각했다.
그렇지만 다른 배열들이 자리를 재배치 받게 되어서 O(n).
Linked list 에서 이미 한 번 주소값에 연결된 경우, index + 1 에 새 노드를 삽입할 때
O(1) / linked list 는 주소 값을 알면 한 번에 접근 가능.
Array
Insert | Lookup(position) | Assign | Remove | Find |
O(n) | O(1) | O(1) | O(n) | O(n) |
Linked Lists
Insert | Lookup | Assign | Remove | Find |
O(1) | O(n) | O(n) | O(1) | O(n) |
Doubly-Linked lists
Insert | Lookup | Assign | Remove | Find |
O(1) | O(n) | O(n) | O(1) | O(n) |
각 data structure 가 사용되는 예시
How Hash tables work
데이터를 관리 / 유지하는 구조.
hash function 은 입력값이 일정 규칙을 거쳐서 hash table 에 인덱스(key)를 저장 / 해시값(value)
key 와 value가 있음.
정보를 array 에 저장.
해쉬함수를 거쳐 key 를 숫자로 변경하고 그 숫자에 해당하는 array[index] 에 배치한다.
겹칠 경우 linked list 로 저장.
후기.
오늘 정말 12시 반까지 페어님과 함께 불 태웠다.. 다 끝낼 때까지 집에 못 간다는 긍정적인 약속?을 지켜냈다.
다 이해하고 풀어내긴 했지만 다시 한 번 쭉 훑으면서 어떻게 작성했는 지 꼭 다시 봐야겠다. 앉은 자리에서 12시간 넘게
진행했다. 끈기도 집중력도 별로인 나지만 누군가와 함께 코드를 적어나가면서 토론하고 왜? 에 대해서 생각하니
시간이 정말 빠르게 지나갔다.. 벌써 주말이라니.. 주말 아닌 주말이지만 ㅠㅠ
'Be well coding > In Immersive' 카테고리의 다른 글
6/3 / callback , value (0) | 2019.06.03 |
---|---|
6/1 / Instantiation Patterns 2 (0) | 2019.06.03 |
5/30 / Object.create , Inheritance Patterns (0) | 2019.05.30 |
5/29 / this , Vscode (0) | 2019.05.29 |
5.28 / Scope , Closure , memorize , stringify (0) | 2019.05.28 |