Study in SSAFY/Java Programming

    [자료구조] Queue, Stack, Deque

    [자료구조] Queue, Stack, Deque

    1. Stack 책을 쌓는 것처럼 차곡차곡 쌓아 올린 형태의 자료구조이다. 나중에 들어온게 먼저 나가는 후입선출(LIFO, Last In First Out) 방식이다. 2. Queue "줄을 서서 기다린다." 라는 사전적 의미를 가지고 있다. 먼저 들어온게 먼저 나가는 선입선출(FIFO, First In First Out) 방식이다. 3. Deque Double-ended Queue(양단 큐)라는 뜻으로, Stack와 Queue의 장점을 합쳐놓은 자료구조이다. 양쪽 끝에서 삽입과 삭제가 모두 가능하다는 특징이 있다. Deque Interface는 다음과 같이 크게 3가지 기능(추가, 삭제, 조회)을 제공한다. 1. 추가 Type Method Description boolean add(E e) 이 dequ..

    [자료구조] ArrayList vs LinkedList

    [자료구조] ArrayList vs LinkedList

    Java에서 List 인터페이스를 사용할 때 대표적으로 쓰이는 클래스가 ArrayList와 LinkedList 입니다. 두 클래스의 특성과 어떠한 차이가 있는지 알아보겠습니다. ArrayList 1. 내부 구조 배열을 사용하여 구현합니다. 2. 추가, 삭제, 조회 인덱스 기반으로 데이터에 접근 가능합니다. 요소가 추가될 때마다 배열의 크기를 동적으로 조절한 후 새로운 요소를 추가합니다. 3. 메모리 사용 내부 배열의 크기를 늘리거나 줄일 때마다 새로운 배열을 할당한 후 기존 배열을 복사해야 합니다. 따라서 메모리 사용이 불규칙해질 수 있습니다. LinkedList 1. 내부 구조 노드들의 연결 리스트로 구현되어 있습니다. 각 요소는 링크로 연결되어 있으며, 새로운 요소를 추가할 때마다 새로운 노드를 만듭..