Tag: datastructure

Java Collection - Queue

Queue는 사전적 의미로 ‘줄’을 의미한다고 한다. 구글에 Queue를 검색하면 사람들이 줄지어 서있는 사진을 볼 수 있다. Queue는 먼저 들어온 데이터가 먼저 나간다고 해서 FIFO(First In First Out)의 형태를 갖는다. Queue는 위의 이미지를 통해 알 수 있듯이 데이터를 넣을때는 Enqueue, 데이터를 삭제할때는 Deque

Java Collection - Stack

Stack은 사전적으로는 ‘더미’를 의미한다. 이 개념을 처음 공부할때 데이터를 수직으로 관리하는 자료구조라고 생각하며 이해했다. Stack은 나중에 들어온 데이터가 먼저 나간다고 해서 LIFO(Last In First Out)의 형태를 띈다고 한다. 따라서 Stack은 배열과 다르게 첫번째로 삽입된 데이터의 인덱스가 0이 아니라 가장 마지막에 삽입된

메모리 구조

메모리는 Method Area - Call Stack - Heap 영역으로 구분된다. 각각의 영역이 어떤 역할을 수행하는지 알아보자. Method Area 클래스 파일의 바이트 코드가 할당되는 영역이다. class 파일의 자바 애플리케이션 코드가 JVM에 의해 기계어로 변환되어 실행이 되는데, 이 때 변환된 기계어가 바이트 코드이다. static

자료구조 - 리스트

목차 리스트 특징 각 언어별 리스트 특징 배열과 리스트 비교 추가할 때 삭제할 때 ArrayList와 LinkedList 비교 ArrayList LinkedList 리스트의 특징은 다음과 같다. 순서대로 저장 중복을 허용 비어있는 데이터(null)를 허용하지 않는다. 처음, 끝, 중간에 element를 추가/삭제하는 기능이 포함되어야 함.

자료구조 - 배열

목차 자료구조, 왜 배워야할까? 배열 요소, Element Data Structure왜 자료구조를 알아야 할까? 원하는 데이터를 가장 효율적으로 탐색하는 방법이 알고리즘이라면, 자료구조는 그런 탐색이 용이하도록 돕는 인프라라고 생각한다. 위의 이미지처럼 정리되어 있으면 특정 음료수를 찾으라고 할 때, 쉽게 찾을 수 있다. 위와 같은 식료품 매