Data Structure 13

[기초 자료구조] HashTable

1. HashTable 이란?매핑할 수 있는 자료구조 입니다. (key-value)key를 사용하여 해당되는 value를 빠르게 찾을 수 있습니다. Hash Function임의 크기의 데이터를 고정된 크기의 데이터로 매핑하는 함수Key를 입력받아 HashCode를 출력합니다. HashCode정수값HashTable의 인덱스로 사용됩니다.총 버킷 갯수로 나머지 연산을 수행합니다.  (인덱스 값으로 사용하기 위함)h(x) = M % m 좋은 해시함수의 특징일관성같은 키 값으로 항상 동일한 해시 코드를 생성해야 합니다.빠른 계산효율적이며 빠르게 해시 코드를 생성해야 합니다.테이블 크기를 2의 거듭제곱으로 설정하면 모듈러 연산을 빠르게 할 수 있습니다.균등성가능한 한 모든 버킷에 균등하게 데이터를 분산시켜야 합니..

Data Structure 2023.10.26

[기초 자료구조] Stack

1. Stack 이란?LIFO 방식으로 데이터를 저장하는 자료구조 입니다. LIFOLast-In, First Out가장 나중에 들어온 데이터가 가장 먼저 나가는 방식을 의미합니다. 2. 연산push맨 위에 항목을 추가합니다.O(1)pop맨 위에 항목을 반환하고 제거합니다.O(1)peek맨 위에 항목을 반환합니다.O(1)  3. 사용 사례Undo / Redo애플리케이션 사용중, 최근 수행한 명령을 취소 / 취소한 명령을 다시 실행 하는 기능으로 사용합니다.call stack운영체제에서 프로그램의 함수 호출을 관리하기 위해 사용합니다.괄호 짝 맞추기수식의 괄호가 문법에 맞게 작성되었는지 확인하는데 사용합니다.문자열 역순으로 변환하기문자열을 역순으로 바꾸는데 사용합니다.후위 표기법으로 변환하기수식을 후위 표..

Data Structure 2023.10.26

[기초 자료구조] Queue

1. Queue 란?FIFO 방식으로 데이터를 저장하는 자료구조 입니다. FIFOFirst-In, First-Out먼저 추가된 요소가 먼저 제거되는 방식을 의미합니다. 2. 주요 연산enqueue항목을 추가합니다.O(1)dequeue항목을 반환하고 제거합니다.O(1)peek항목을 반환합니다.O(1) 3. 종류Linear Queue막대 모양 형태의 큐입니다.단점- dequeue 시, 앞 공간이 비어있게 됩니다. (이 공간의 재사용이 불가합니다) Circular Queue환형 형태의 큐 입니다.  - 순환적으로 요소를 관리합니다. (시작과 끝이 연결되어 있음)장점 (Linear Queue 단점 보완) - 앞에 빈 공간이 있을 경우, 해당 공간 재사용 가능 - enqueue 시, 첫번째 요소로 포인터를 옮김P..

Data Structure 2023.10.26