[Daily Post] 230628
[Daily Post]는 매일매일 탐구한 내용을 간략하게 기록하는 포스트입니다.
따라서 정리되지 않은 내용과 추측을 포함하고 있을 수 있습니다.
더 체계적인 형식을 갖춘 글은 해당 카테고리의 포스트를 확인해주세요 :)
My Study
CS
Array & Linked List
- Array: 연속적, 순차적, 미리 할당된 크기만큼 배정
- Dynamic Array: resize (더블링 등)
- 데이터를 append 할 때는 O(1)만큼 걸린다
- resize하면서 데이터 옮기는 것은 O(N)이지만, 결론적으로는 amortized(1)이다. resize 횟수 자체가 element 갯수에 비해 적기 때문.
- Dynamic Array: resize (더블링 등)
- Linked List
- Node로 이루어져있는데, Node는 데이터 값과 다음 Node의 addres를 저장하고 있다.
- 물리적으로는 비연속적이지만, node가 next node를 가리키고 있다는 점에서 논리적인 연속성을 가지고 있다.
- 데이터가 추가되는 시점에서 메모리를 추가적으로 할당하기 때문에 메모리를 효율적으로 사용할 수 있다
- array에서는 삽입/삭제를 하는 경우 데이터를 연속적으로 나열해야 하기 때문에 O(n)이 걸리지만, LL에서는 next node address만 바꿔주면 되니까 O(1)안에 삽입, 삭제가 가능하다
- array에서는 index를 통해 조회를 O(1)만에 할 수 있지만, LL에서는 O(n)이 걸린다. array는 random acess, LL은 sequential access를 하기 때문이다.
- Q1. LL이 유리한 경우 vs Array가 유리한 경우
- Q2. Array, LL의 memory allocation이 일어나는 시점과 할당받는 메모리 영역
- array: compile, stack
- LL: runtime, heap
Queue & Stack
Queue
- FIFO,
enqueue,dequeue - Cache, BFS
- BASE: array vs list
Stack
- LIFO,
push,pop - DFS
Implementing Queue & Stack
- Queue vs. Priority Queue
Web - Portfolio
노마드코더 <바닐라 JS로="" 크롬="" 앱="" 만들기="">바닐라>
Document & Browser
document는 브라우저에 항상 존재하는 object이다- getElements 할 때, id는 잘 사용하지 않고
className을 주로 사용한다<h1 class="className"></h1>와 같은 형태로 지정하면,document.getElementByClassName("className");으로 찾아낸다
querySelectorcan find element using CSsz style
Web- Blockchain
- Crowdin: ChainIDE, Remix 관련 Web3 리딩 페이지 번역
- CZ: ERC721 & Collectibles 공부하고 포스팅