본 피드는 '쉽게 배우는 자료구조 with Java'를 읽고 요약한 글입니다. 자료구조란? 자료구조는 자료(데이터)에 효율적으로 접근하고 수정할 수 있도록 저장, 조직, 관리하는 방법에 관한 이론이다. 알고리즘은 문제 해결작업을 수행하기 위해 입력을 받아 출력을 만들어
리스트 사전적 의미 '줄 세워져 있는 데이터' 또는 '쭉 늘어선 데이터'를 의미한다. 리스트의 작업 (ADT 리스트) 자바는 언어 자체에서 리스트를 기본 자료구조로 제공하지 않고 java.util 패키지에서 제공한다. 리스트의 구현 (2가지 방법) 1. 원소를 연속된
Stack(스택) LIFO(Last-In-First-Out, 후입선출)구조 뒤에 들어온 것이 가장 먼저 나가는 구조 Stack(스택)의 개념과 원리 맨 위의 원소만 접근이 가능하다. 스택의 맨 위 원소를 스택 탑(Top) 또는 탑 원소라고 한다. 새 원소를 삽입하는 경
가장 먼저 들어온 것이 가장 먼저 나가는 구조인 FIFO(First-In-First-Out, 선입선출)을 가지고 있다.큐의 맨 앞에 잇는 원소(맨 먼저 들어온 원소)를 front라고 하고, 맨뒤에 있는 원소(맨 나중에 들어온 원소)를 tail이라 한다.큐에서 삽입(en
힙(Heap) 우선순위 큐와 힙 우선순위 큐 우선순위를 부여하는 기준은 다양하지만, 우선순위 큐를 구현하는 대표적인 자료구조로 힙(Heap)이 있다. 우선순위를 가진 원소를 삽입할 수 있고, 우선순위가 가장 큰 원소를 빼내줄 수 있으면 우선순위 큐(Priority Qu
정렬 원소들을 순서대로 배열하는 것이다. 크기가 작은 순으로 정렬하기도 하고, 크기가 큰 순으로 정렬하기도 한다. 기본 정렬 $$O(n^2)$$ 선택 정렬 배열에서 가장 큰 원소를 찾아 배열의 맨 끝자리 원소 A[n-1]과 자리를 바꾼다. 그러면 방금 맨 끝 자리로