연결리스트란? 연속된 메모리 위치에 저장되지 않는 선형 데이터 구조 포인터를 사용해서 연결된다. Linked List는 컴퓨터 과학에서 사용하는 기본적인 선형 자료 구조 중 하나 각 노드는 데이터 필드와 다음 노드에 대한 참조를 포함하는 노드로 구성 Linked List는 데이터의 동적 추가, 삭제를 상대적으로 쉽게 할 수 있는 장점이 있다. Linked List의 핵심 요소는 다음과 같다. 노드(Node) : Linked List의 기본 단위, 데이터를 저장하는 필드와 다음 노드를 가리키는 링크 필드로 구성 포인터 : 각 노드 안에서 다음이나 이전의 노드와의 연결 정보를 가지고 있는 공간 헤드(Head) : Linked List에서 가장 처음 위치하는 노드. 리스트 전체를 참조하는데 사용 테일(Tail..
CS/Data Structure
Array? 배열은 연속된 메모리 공간에 순차적으로 저장된 데이터 모음이다. 대부분 프로그래밍 언어에서는 동일 타입 데이터를 저장한다. 예를들어 int 타입의 배열에서는 정수 요소만 저장할 수 있다. 배열을 구성하는 각각의 값을 요소(element)라고 한다. 배열에서의 위치를 나타내는 숫자를 인덱스(index)라고 한다. 배열 표현 C언어에서 배열 선언 시 아래와 같다. 위 배열을 그림으로 표현 시 다음과 같다. 그림에서 알 수 있는 사실은 다음과 같다. 연속된 메모리 공간에 데이터가 순차적으로 저장된다. C언어에서 인덱스는 0부터 시작한다. 배열의 크기는 10이므로 10개의 요소를 저장할 수 있다. 각 요소는 인덱스를 통해 엑세스 할 수 있다. 배열의 시간 복잡도 Operation Average Ca..