본문 바로가기

CS2

CS :: 연결 리스트 Linked List Linked List란? 불연속으로 존재하는 데이터를 서로 연결한 형태로 구성되어 있다. Linked List는 배열의 단점을 보완하기 위해 고안되었다. Array는 가장 기본적인 형태의 자료구조로 간단하며 사용하기 쉽고 읽어오는 시간이 빠르지만 • 크기를 변경할 수 없고 • 비순차적인 데이터의 추가 또는 삭제에 시간이 많이 걸린다. 위와 같은 단점이 있어, 메모리 낭비가 시간 소모가 있을 수 있다는 것이 단점이다. Linked List의 link 구조 Linked List의 저장공간 구조는 위와 같다. ↑ Linked List의 데이터 삭제와 추가 Linked List의 각 요소(node)들은 자신과 연결된 다음 요소의 주소값 & 데이터값으로 구성되어 있다. 위와 같은 구조 덕분에 Linked List.. 2022. 5. 1.
CS :: 배열 Array 배열 Array란? 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것을 말한다. 1000개의 값을 다루기 위해 1000개의 변수를 선언한다면 복잡하니, 이럴 경우 Array를 활용한다. int[] score = new int[5]; 배열의 특징 같은 타입의 값들이 들어가야 한다. 선언 시 배열의 길이를 정하고, 길이는 한번 생성하면 변경할 수 없다. 저장공간이 연속적으로 배치되어 있고, 그 저장공간을 가리키는 참조변수로 배열에 접근할 수 있다. 배열의 장점 인덱스를 통해 바로 접근이 가능하다. 데이터를 읽어오는데 걸리는 시간이 가장 빠르다. 연속된 메모리 공간에 존재하기 때문에 관리하기가 편하다. 배열의 단점 배열의 크기를 변경할 수 없다. 변경하려면 새로운 크기의 배열을 생성해 복사해야한다. 실행 속.. 2022. 5. 1.