본문 바로가기

자료구조5

[JAVA][자료구조] Linked List 목적 자바에서 LinkedList는 데이터를 연결된 노드로 구성된 선형 자료구조입니다. 오늘은 LinkedList에 대해서 알아보겠습니다. LinkedList 특징에 대해 알아보자 LinkedList 관련 메소드에 대해서 알아보자. Linked List 각 노드는 값과 다음 노드에 대한 참조(주소)를 가지고 있습니다. 각 요소들이 메모리 상에 임의로 배치되어 있으며, 인덱스 기반으로 접근하는 것이 아닌 다음 노드를 통해 순차적으로 탐색합니다. 삽입 및 삭제 작업이 많을 때 유용한 자료구조입니다. 중간에 요소를 추가하거나 삭제할 경우, 단순히 앞뒤의 두 개의 포인터만 변경하면 되기 때문에 O(1) 시간 복잡도로 수행됩니다. 임의 위치에 접근하기 위해서는 처음부터 순차적으로 탐색해야 하므로 O(n) 시간 복.. 2023. 8. 12.
[JAVA][자료구조] HashMap 목적 HashTable의 발전형인 HashMap은 자바에서 매우 유용한 데이터 구조 중 하나로, key-value 쌍으로 데이터를 저장하는 데에 사용됩니다. 이해하기 쉽고 빠른 검색 속도를 제공하는 해시 테이블 기반의 Map 인터페이스 구현체입니다. 오늘은 HashMap에 대해 알아보겠습니다. HashMap에 대해 알아보자 HashMap관련 메서드를 알아보자 HashMap HashMap은 키와 값으로 이루어진 엔트리(Entry)로 데이터를 저장합니다. 각각의 키는 고유해야 하며, 값은 중복된 값을 가질 수 있습니다. 내부적으로 해시 함수를 사용하여 각각의 키에 대한 해시 코드(hash code)를 계산하고, 이 해시 코드를 기반으로 배열 내에서 해당 엔트리의 위치를 찾습니다. public class Ha.. 2023. 8. 12.
[JAVA][자료구조] 배열 2023. 8. 10.
[JAVA][자료구조] Stack 목표 Stack 관련 메소드를 알아보자. Stack 클래스 Stack은 데이터를 후입선출(LIFO, Last-In-First-Out)의 구조로 저장하는 컬렉션 클래스입니다. 스택은 주로 임시적인 데이터 저장이나 메소드 호출 등에 사용됩니다. 위의 그림에서 숫자 1 2 3 4는 search()메소드의 반환될 index 값 입니다. 숫자를 각 요소라고 생각했을 때, 위의 상태로 만드려면 4 3 2 1 순서대로 삽입을 해야합니다. 위의 상태에서 pop을 5번하면 1 2 3 4 마지막 다섯번째에서 예외(EmptyStackException)를 던집니다. 아래는 Stack 클래스의 내용입니다. class Stack extends Vector { public Stack() { } public E push(E item.. 2023. 8. 9.
LIST