분류 전체보기 (19) 썸네일형 리스트형 [자료구조] 해시 테이블(Hash Table) 해시 테이블(Hash Table / Hash Map) 🔍 개념 해시 테이블은 대량의 정보를 저장하고 특정한 요소를 효율적으로 검색할 수 있는 데이터 구조이다. 다소 복잡하다. 해시 테이블의 구조는 테이블 내에 내부적으로 더 작은 sub-group인 "버킷"에 key-value 구조의 쌍을 저장해둔다. 키를 저장할 때 메모리의 공간을 덜 차지할 수 있도록 해시 함수를 통해 키값을 해시라는 특정한 숫자 값으로 변환해준다. 해시 테이블은 메모리 확장이 필요한 경우에만 메모리 크기를 늘리고, 가능하면 최소 크기를 유지한다. 검색 시 key를 사용해서 원하는 value를 가져올 수 있다. 이는 두개의 값이 하나의 쌍이기 때문에 가능한 것이다. 검색된 key는 사전에 정의된 해시함수를 통해 해시값을 반환받고 해당 .. [자료구조] 배열(Array)과 연결 리스트(Linked List) 📌 배열 🔍 배열(Array)이란? 배열은 CRUD를 할 때 가장 기본적으로 사용되는 자료구조이다. 생성할 때 크기가 결정되고 각 자리에 대해 인덱스 번호가 부여된다. 인덱스 번호를 통해 배열 내부에 있는 요소들에 접근할 수 있다. 위와 같이 배열의 주소를 나타내는 인덱스(index)와 요소(elements)로 구성되어 있다. 배열의 장점 배열은 필요에 따라 바로 생성하여 사용하기 용이하다. int[] numArr = { 1, 2, 3, 4, 5 };와 같이 배열은 바로 생성할 수 있다는게 최고 장점이다. 그리고 배열이 응용되어 스택이나 큐 같은것들이 존재한다고 볼 수 있기 때문에 배열은 어떤 자료구조의 기초가 될 수 있다. 또한 원하는 데이터에 대해 CRUD를 쉽게 처리할 수 있으며 정렬하기에 용이하다.. [자료구조] 스택(Stack)과 큐(Queue) 스택(Stack)이란? 🔍 개념 스택이란 쌓아 올린다는 의미로 책을 쌓는 것처럼 차곡차곡 쌓아 올리는 자료 구조를 말한다. 🔍 스택의 특징 스택은 Last In First Out (후입선출) 방식으로 가장 마지막에 들어간 자료가 가장 먼저 삭제된다. 위의 이미지처럼 구조와 크기가 같은 자료를 정해진 방향으로만 쌓을 수 있으며, top으로 정한 곳을 통해서만 접근이 가능하다. 삽입될 새 자료는 top이 가리키고 있는 자료의 위에만 쌓인다. 뿐만 아니라 삭제할 때도 top을 통해서만 삭제할 수 있다. 📍 스택에 자료 추가, 제거 삽입, 삭제 연산은 다음과 같다. import java.util.Stack; public class Main { public static void main(String[] args).. 이전 1 2 3 다음