[자료구조] 연결 리스트(Linked List)
·
CS 지식/[자료구조]
연결 리스트(Linked List) 연속적인 메모리 위치에 저장되지 않는 선형 데이터 구조 각 노드는 데이터 필드와 다음 노드에 대한 참조를 포함하는 노드로 구성 연결 리스트(Linked List) 사용 이유 배열은 비슷한 유형의 선형 데이터를 저장하는데 사용할 수 있지만 제한 사항이 있음 1. 배열의 크기가 고정되어 있어 미리 요소의 수에 대해 할당을 받아야 함 2. 새로운 요소를 삽입하는 것은 비용이 많이 듬 장점 동적 크기 삽입/삭제 용이 단점 임의로 액세스를 허용할 수 없음 → 즉, 첫 번째 노드부터 순차적으로 요소에 액세스 해야함 포인터의 여분이 메모리 공간이 목록의 각 요소에 필요 LinkedList 선언 LinkedList list = new LinkedList();//타입 미설정 Objec..
[자료구조] 배열
·
CS 지식/[자료구조]
배열 사이즈 구하기 int[] arr = {1, 2, 3, 4, 5} int n = arr.length; 배열 요소의 최댓값 구하기 static int maxOf(int[] a) { int max = a[0]; for(int i=0; i max) max = a[i]; return max; } 배열 요소의 역순 정렬 // 배열 요소 a[idx1]과 a[idx2]의 값을 바꿈 static void swap(int[] a, int idx1, int idx2) { int t = a[idx1]; a[idx1] = a[idx2]; a[idx2] = t; } // 배열 a의 요소를 역순으로 정렬 static void reverse(int[] a) { for(int i=0; i