일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- TypeScript
- 스마트컨트랙트
- 자바스크립트
- 블록체인
- Blockchain
- keccak256
- set-cookie
- goerli
- next-connect
- incentive
- Goerlifaucet
- 해쉬테이블
- scss
- webpack
- currentTarget
- Sass
- 자료구조
- HTMLFormElement
- next.js
- methoidID
- geth
- CA불러오기
- @debug
- S3
- 다중서명계약
- wallet
- 코딩테스트
- ts-loader
- JavaScript
- Codestates
- Today
- Total
목록자료구조 (2)
Minwook’s portfolio
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/DV8pr/btrUOMHy6CJ/q4x1NRA4WRDplGz685VEI1/img.png)
힙(heap)이란? 이진트리의 형태를 띄고 있는 자료구조, 우선순위가 높은 요소가 먼저 나가기 위해 요소가 삽입, 삭제될 때 바로 정렬된다. 우선순위 큐를 구현할때 가장 적합한 자료구조이다. (우선순위 큐에 힙이 포함되는 형태) *Root : 트리에서 최상위 Node 힙의 특징 우선순위가 높은 요소가 먼저 나온다. Root가 최대값이 되는 최대 힙(오름차순)과 가장 작은 값(내림차순)이 되는 최소 힙 두가지 있다. 자바스크립트에서는 직접 구현해야 하는 단점. 완전 이진 트리의 높이는 logN이기 때문에, 노드 추가 삭제시 시간복잡도는 O(logN) 지수시간을 가진다. *빠름 O(1) < O(logN) < O(N) < O(NlogN) 느림 힙에서 추가를 구현할때 알고리즘 (최대힙) 1. 새로운 요소를 추가..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bgSWre/btrUROKBWri/jHvZNCYCy6IHkjjCPtGSHK/img.png)
Hashtable이란? key와 value를 받아 hashing하여 나온 index에 값을 저장하는 선형자료구조, 삽입시 시간복잡도는 O(1), key를 알고 있다면 탐색과 삭제도 O(1)로 빠른속도로 수행가능. 해쉬충돌이란? 서로 다른 input Data 가 같은 hash 함수를 통해 hashing후 결과값이 같을때 해쉬충돌이 일어날 경우, 같은 버킷에 저장되게 되므로 원하지 않는 결과를 불러올 수 있다. 해쉬충돌을 해결하는 4가지 방법 1.선형탐사법 충돌이 발생하면 기존 버킷에서 옆으로 한칸 이동하여 Data를 저장한다. 단순하지만 충돌이 여러번 일어날 결우 특정영역에 데이터가 모일 수 있는 단점이 있다. 또한 충돌이 발생하지 않을 때까지 이동해야 하므로 최악의 경우에는 탐색에 선형시간 O(n)이 소..