일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- stack
- 삽입정렬
- 스택
- 코테준비
- 팀정렬
- 파싱
- Timsort
- 백준
- 선택정렬
- 우선순위 큐
- 퀵정렬
- 분할정복
- 자료구조
- 코딩테스트
- 15552번
- 큐
- 스터디
- LinkedList
- collections.sort
- 트라이
- 이진트리탐색
- 힙
- 연결리스트
- 해시함수
- heap
- 프로그래머스
- MSA
- divide and conquer
- 거품정렬
- 코테
- Today
- Total
목록자료구조 (2)
Little bIT awesome

Stack 스택(Stack)의 사전적 정의는 '쌓다', '더미'이다. 즉, 상자에 물건을 쌓아 올리듯이 데이터를 쌓는 자료 구조라고 할 수 있다. 그림과 같이 스택은 마지막에 저장한 데이터를 가장 먼저 꺼내게 되는 구조 특징이 있는데, 이러한 자료의 구조를 LIFO(Last In First Out) 구조라고 말한다. Stack 사용처 스택은 수식계산, 수식 괄호 검사, undo / redo, 웹브라우저의 뒤로 / 앞으로 등에 사용된다. JVM(자바 가상 머신)의 Runtime Data Area에 Stack 메모리에도 사용된다. Stack은 마지막으로 사용이 끝난 지역변수를 바로바로 쳐내버려 메모리를 매우 효율적으로 사용하는 방법이기 때문에 스택의 구조 개념이 프로그래밍 메모리 영역에 고대로 사용되는 것이..

해시 함수 데이터를 효율적으로 관리하기 위해, 임의의 길이 데이터를 고정된 길이의 데이터로 매핑하는 것. 해시 함수를 구현하여 데이터 값을 해시 값으로 매핑한다. 이 때, 매핑 전 원래 데이터의 값을 Key 매핑 후 데이터의 값을 hash value(해시 값) 매핑하는 과정 자체를 hashing(해싱) 이라고 한다. 해시 함수를 구현하여 데이터 값을 해시 값으로 매핑한다. collision Lee → 해싱함수 → 5 Kim → 해싱함수 → 3 Park → 해싱함수 → 2 ... Chun → 해싱함수 →5 // Lee 해싱값과 충돌 해시함수는 해쉬값의 개수보다 대개 많은 키값을 해쉬값으로 변환(many-to-one 대응)하기 때문에 해시함수가 서로 다른 두 개의 키에 대해 동일한 해시값을 내는 해쉬충돌(c..