자료구조와 알고리즘/리스트 3

[자료구조] 리스트 - DoubleLinkedList

LinkedList는 아래 사진과 같이 Next Node만을 사용하여 Node를 관리 했었더라면DoubleLinkedList는 아래 사진과 같이 Next Node와 Prev Node를 함께 사용하여 Node를 관리한다.LinkedList는 맨 앞에 있는 head node 부터 마지막 node 까지 순차적으로 조회를 해야 했다면DoubleLinkedList는 List의 절반인 중간 시점 부터 head와 가까우면 head 부터 tail과 가까우면 tail 부터 조회가 가능하다. DoubleLinkedList예제1. 우선 DoubleLinkedList도 Node를 기반으로 하기 때문에 Node를 먼저 생성이전 LinkedList는 next Node만 관리를 해줬더라면 DoubleLinkedList는 해당 No..

[자료구조] 리스트 - LinkedList

Linked List 장점  - 배열의 복사나 재할당없이 데이터 추가 가능  - 유연한 공간Linked List 단점  - 데이터 접근에 대한 시간이 늘어남 LinkedListArray추가O(N)O(1), O(N)삽입O(N)O(N)삭제O(1)O(N)검색(조회)O(N)O(1) LinkedList 예제1. 우선 LinkedList는 Node를 기반으로 하기 때문에 Node를 먼저 생성private class Node { T data; Node next; Node(T data) { this.data = data; } Node(T data, Node next) { this.data = data; ..

[자료구조] 리스트 - ArrayList

1. List의 특징  - 선형적인 자료구조  - 데이터를 일렬로 늘여 놓은 형태  - 순서  - 데이터 삽입하기  - 데이터 삭제하기  - 리스트 탐색하기 2. List의 종류  - ArrayList  - LinkedList : Single Linked List, Double Linked List 3. ArrayList  - 배열 기반의 리스트  - 메모리 공간을 연속적으로 사용import java.util.ArrayList;import java.util.List;public class Main { public static void main(String[] args) { // 문자열 리스트 생성 List list = new ArrayList(); // 리스트에..