배열 (3) 썸네일형 리스트형 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) 선형으로 자료를 관리, 자료가 추가될 때마다 메모리를 할당 받고, 자료는 링크로 연결됨 -> 자료.. 3. 자바의 배열 1. 배열 배열이란? 1. 동일 자료형의 순차적 구조 2. 인덱스 연산자 []를 이용하여 빠른 참조가 가능 3, 사적헐 때 크기를 선언해야함 4. 물리적 위치와 논리적 위치가 동일(순서를 가진 자료 구조) 5. 배열의 순서는 0부터 시작 6. 자바에서는 객체 배열을 구현한 ArrayList를 많이 활용 2. 배열 선언과 초기화 배열 선언 int [] arr1 = new int[10]; -> 자료형 [] 배열 이름 = new 자료형[크기] (int arr2 [] = new int [10] 이렇게 써도된다.) 1. 자바는 new를 써야한다. 2. 배열을 선언했을때 각 배열의 위치에 값을 선언하지 않았다면 모두 0으로 저장된다. 참고로, 배열의 길이와 요소의 개수는 동일하지 않다. // new 가 뭘까 // .. 이전 1 다음