[자료구조] 해시의 개념과 예제(Java)
·
알고리즘/자료구조
해시의 개념해시(hash)는 해시 함수를 사용하여 변환한 값을 인덱스로 활용해 키와 값을 저장하고, 빠르게 데이터를 탐색할 수 있는 자료구조입니다.해시의 특징단방향성키를 통해 값을 찾을 수 있지만, 값을 통해 키를 찾는 것은 불가능합니다.탐색 속도평균적으로 O(1) 시간 복잡도로 데이터를 찾을 수 있습니다. 키를 해시 함수에 전달하면 값의 저장 위치를 바로 알 수 있으므로 별도의 탐색 과정이 필요 없습니다.해시 함수 필요키를 효율적으로 인덱스로 변환하려면 적절한 해시 함수가 필요합니다.해시의 활용 분야비밀번호 관리: 비밀번호를 직접 저장하지 않고, 해시 값을 저장하여 보안성을 강화.데이터베이스 인덱싱: 빠른 데이터 검색과 삽입을 지원.블록체인: 데이터 무결성을 유지하고, 보안성을 강화.해시 함수자바에서는..
자료구조 - 큐(Queue)의 정의와 예제
·
알고리즘/자료구조
자료구조(Data Structure)란? 데이터를 표현하고 관리하고 처리하기 위한 구조를 의미한다. 그 중 스택과 큐는 자료구조의 기초 개념으로 다음의 두 핵심적인 함수로 구성된다. 삽입(Push): 데이터를 삽입한다. 삭제(Pop): 데이터를 삭제한다. 오버플로(Overflow)와 언더플로(Underflow) 오버플로(Overflow)는 특정한 자료구조가 수용할 수 있는 데이터의 크기를 이미 가득 찬 상태에서 삽입 연산을 수행할 때 발생한다. ⇒ 저장 공간을 벗어나 데이터가 넘쳐흐를 때 발생한다. 언더플로(Underflow)는 특정한 자료구조에 데이터가 전혀 들어 있지 않은 상태에서 삭제 연산을 수행하면 발생한다. 큐(Queue) 놀이공원의 대기 줄처럼 먼저 들어 온 데이터가 먼저 나가는 형식의 자료구..
자료구조 - 스택(Stack)의 정의와 예제
·
알고리즘/자료구조
자료구조(Data Structure)란? 데이터를 표현하고 관리하고 처리하기 위한 구조를 의미한다. 그 중 스택과 큐는 자료구조의 기초 개념으로 다음의 두 핵심적인 함수로 구성된다. 삽입(Push): 데이터를 삽입한다. 삭제(Pop): 데이터를 삭제한다. 오버플로(Overflow)와 언더플로(Underflow) 오버플로(Overflow)는 특정한 자료구조가 수용할 수 있는 데이터의 크기를 이미 가득 찬 상태에서 삽입 연산을 수행할 때 발생한다. ⇒ 저장 공간을 벗어나 데이터가 넘쳐흐를 때 발생한다. 언더플로(Underflow)는 특정한 자료구조에 데이터가 전혀 들어 있지 않은 상태에서 삭제 연산을 수행하면 발생한다. 스택(Stack) 먼저 들어 온 데이터가 나중에 나가는 형식(선입후출)의 자료구조이다. ..