CS(Computer Science)/Data Structure
-
Queue 두 개를 이용하여 Stack을 구현 & Stack 두 개를 이용하여 Queue를 구현CS(Computer Science)/Data Structure 2021. 12. 9. 17:30
1. Queue 두 개를 이용하여 Stack을 구현해 보세요 💡 큐 한 개는 메인 큐, 다른 큐는 임시 큐 용도로 둔다. 메인 큐에 값을 넣는다.(put) ex) 1→ 2→ 3 → 4 메인 큐에 1개의 원소가 남을 때까지 get 한 값을 임시 큐에 put 한다. 마지막 남은 원소는 result 변수에 저장한다. 임시 큐에 있는 원소들을 메인 큐로 모두 이동시킨다. (get → put) result 값을 리턴한다. 1-1. 순서 설명 메인큐에 값을 넣는다.(put) ex) 1→ 2→ 3 → 4 메인 큐에 1개의 원소가 남을 때까지 get 한 값을 임시 큐에 put 한다. 마지막 남은 원소는 result 변수에 저장한다. 임시 큐에 있는 원소들을 메인 큐로 모두 이동시킨다. (get → put) result..
-
해시(Hash)와 해시 충돌 해결 방법CS(Computer Science)/Data Structure 2021. 11. 26. 16:08
1. 해시란? 💡 데이터를 효율적으로 관리하기 위해 임의의 길이 데이터를 고정된 길이의 데이터로 매핑 해시 함수: 데이터를 효율적으로 관리하기 위해 임의의 길이의 데이터를 수학적 연산을 통해 고정된 길이의 데이터로 매핑하는 함수이다. 해시 함수에 의해 얻어지는 값을 해시 코드, 해시라고 한다. 해시 테이블: 키와 값을 매핑해둔 데이터 구조이다. 해시 함수로 얻은 해시를 키로 활용하여 index로 사용하고 해당 index에 데이터를 저장하여 효율적인 검색을 위해 사용된다. 1-1. 해시 순서 해당 원소의 해시 함수를 이용하여 해시값을 얻는다. 해시값을 주소로 하는 위치에 원소를 저장한다. 저장 후 검색 시에도 원소의 해시값으로 계산하여 해당 위치로 이동한다. 1-2. 사용 용도 무결성 검사: 파일 다운로드..