Data Structure 13

[기초 자료구조] HashTable

0. Hash Function임의의 크기의 입력을 고정된 크기의 출력으로 변환하는 함수 특징 (자료구조)특징설명 빠른 계산해시값을 매우 빠르게 계산해야 함.➡️ 테이블 크기를 2의 거듭제곱으로 두면 mod 연산 빠름균등 분산데이터가 가능한 한 모든 버킷에 고르게 분포해야 함.✅ 군집 방지: 특정 버킷에 데이터가 몰리지 않도록 함.➡️ 2의 멱수에 가깝지 않은 소수를 기반으로 한 해시가 균등성이 높음. 특징 (보안/암호학)특징설명Diffusion (확산)비슷한 입력이어도 완전히 다른 출력이 생성되어야 함. (Avalanche 효과)✅ 차분 공격 방지: 입력 구조를 출력에서 추론 불가하게 함Confusion (혼돈)입력과 출력 사이에 패턴이 없어야 하며, 관계를 예측할 수 없어야 함.✅ 선형 관계 방지: ..

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