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