알고리즘 코딩 테스트 2일차

데이터 구조

주말에는 다른 공부하느라 시간이 없었는데, (사실 저녁에 너무 피곤해서 핑계로 다음날 일찍 일어나야해서 못했어요 *^^* )


01. 배열과 목록

준비 : 메모리의 연속된 위치가 값으로 채워진 데이터 구조입니다.

배열 값은 인덱스로 참조할 수 있으며 선언된 데이터 유형의 값만 저장할 수 있습니다.

배열 속성

1) 인덱스를 통해 값에 직접 액세스할 수 있습니다.

2) 특정 인덱스에 새로운 값을 삽입하거나 값을 삭제하기 어렵다.

값을 삽입하거나 삭제하면 해당 인덱스 주변의 값을 이동하는 작업이 포함됩니다.

3) 배열의 크기는 선언 시 지정할 수 있으며 선언 후에는 크기를 늘리거나 줄일 수 없습니다.

4) 구조가 간단하여 코딩 테스트에 많이 사용됩니다.

목록 : 값과 포인트를 포인터로 연결한 데이터 구조

목록 기능

1) 인덱스가 없으므로 값에 접근하기 위해서는 헤드포인터에 접근해야 한다.

즉, 값에 액세스하는 속도가 느립니다.

2) 포인터로 연결되어 있기 때문에 데이터를 삽입하거나 삭제할 때 연산 속도가 빠릅니다.

3) 사이즈는 신고서에 별도로 명시하지 않아도 됩니다.

즉, 목록의 크기가 고정되어 있지 않습니다.

크기가 가변적인 데이터를 처리할 때 적합합니다.

4) 포인터를 저장할 공간이 필요하기 때문에 배열보다 구조가 복잡하다.

** 아직 이론이 부족해서 공부 마치고 계속 쓸게요!
!

출처: 책 Algorithm Coding Test(Easy Publishing) 참조.