본문 바로가기

자료구조

(2)
16. 배열 및 연결 리스트 구현하기 1. 배열 구현하기 Array의 특징 1. 동일한 데이터 타입을 순서에 따라 관리하는 자료 구조 2. 정해진 크기가 있음 3. 요소의 추가와 제거 시 다른 요소 이동 필요 4. 배열의 i 번째 요소를 찾는 인덱스 연산이 빠름 5. jdk 클래스 : ArrayList, Vector 2. 연결 리스트(LinkedList) 구현하기 LinkedList 특징 1. 동일한 데이터 타입을 순서에 따라 관리하는 자료 구조 2. 자료를 저장하는 노드에는 자료와 다음 요소를 가리키는 링크(포인터)가 있음 3. 자료가 추가될 때 노드만큼의 메모리를 할당 받고 이전 노드의 링크로 연결함(정해진 크기가 없다) 4. 연결 리스트의 i 번째 요소를 찾는데 걸리는 시간은 요소의 개수에 비례 : O(n) 5. jdk 클래스 : Li..
15. 자바와 자료구조 1. 자료구조 자료구조란 무엇인가? (Data Structure) 1. 프로그램에서 사용할 많은 데이터를 메모리 상에서 관리하는 여러 구현방법들 2. 효율적인 자료구조가 성능 좋은 알고리즘의 기반이 됨 3. 자료의 효율적인 관리는 프로그램의 수행 속도와 밀접한 관련이 있음 4. 여러 자료구조 중에서 구현하려는 프로그램에 맞는 최적의 자료구조를 활용해야 하므로 자료구조에 대한 이해가 필요 2. 선형 자료구조 한 줄로 자료를 관리한다. 1. 배열(Array) 선형으로 자료를 관리, 정해진 크기의 메모리를 먼저 할당 받아 사용함 -> 자료의 물리적 위치와 논리적 위치가 같음 2. 연결 리스트(LinkedList) 선형으로 자료를 관리, 자료가 추가될 때마다 메모리를 할당 받고, 자료는 링크로 연결됨 -> 자료..