자료구조

배열

 이 토픽에서는 가장 기본적인 자료형인 배열에 대해서 설명합니다.

 배열은 프로그래밍 언어를 공부하면 항상 배우는 가장 기본적이고 많이 사용되는 자료구조로서 가장 단순하지만 다양하게 응용할 수 있는 자료구조 이기도 합니다. 이 토픽에서는 배열의 정의와 특정에 대하여 설명하고, 하위 토픽에서는 배열의 특징을 활용해서 할 수 있는 다양한 응용방법에 대해 설명합니다.

 배열에 관한 자세한 내용이나 사용법은 언어별로 직접 찾아보시기 바랍니다.

 

 배열의 특징은 각 항목의 접근과 수정이 빠르다는 점입니다.

 어떤 배열의 항들 중에서 각 항에 접근 및 수정을 하기위한 시간복잡도가 O(1)입니다. 즉, 직접적으로 각 항에 바로 접근하여 사용 및 수정이 가능하다는 의미입니다. 나중에 배울 다른 자료구조들은 대부분 배열의 이러한 장점을 포기하고 다른 장점을 취하는 구조를 가지게 됩니다.

 배열의 단점이라고 한다면 크기의 수정이 힘듭니다. 특정 크기의 배열을 생성한다면 이 후에 배열의 크기를 늘리거나 줄이기 위해서는 다시 생성하는 방법밖에 없습니다. 그래서 보통은 최악의 경우를 생각해서 넉넉하게 선언을 하게 되는데, 이게 상당한 낭비가 될 때가 많습니다. 이러한 경우에 대한 예시는 이 후에 다룰 일이 있을겁니다.

 

 

 

 

댓글

댓글 본문
작성자
비밀번호
버전 관리
코딩몬스터
현재 버전
선택 버전
graphittie 자세히 보기