Array   배열, 어레이

(2019-01-14)

배열, 배열, Associative Array, 연관 배열

1. 배열 (Array)

  ㅇ [일반]
     - 규칙,순서,간격 등에 따라 나열된 요소/데이터들의 집합/모양
        . 例) 배열 안테나, 배열형 도파로 격자, 전자 배열 등

  ㅇ [전산]
     - 비슷한 특징을 갖는 여러 값들을 순서있게 저장할 수 있는 자료구조
     * 통상, 프로그래밍 구현상 가장 기본이 되는 자료구조는 배열과 리스트
2. [전산]  배열의 구성, 표기

  ㅇ 배열의 구성
     - 배열 이름 (array name)  : 배열 그 자체와는 별개로 배열의 이름 지칭(선언)
        . 배열 변수 (array variable)  : 배열 전체를 이름을 갖는 변수 처럼 활용
     - 배열 요소 (array element)  : 배열의 각 성분 요소들
     - 배열 크기 (array size)  : 배열 요소의 갯수
     - 배열 인수/키/인덱스 (array index)  : 배열의 특정 요소를 참조하는 수단 (상대적 위치)
        . 통상, 정수이며, 0 부터 시작함

  ㅇ 배열의 표기
     - 통상, 프로그래밍 언어 상에서 배열의 표기는,
     - 먼저, 배열 명칭이 주어지고, 뒤에, 대괄호([ ])로 둘러싸인채,
     - 각 원소 값이 주어지고, 각 원소 자리위치가 인덱스로써 지정됨


3. [전산]  배열의 특징

  ㅇ 배열의 특징 
     - ① 주로, 동일한 데이터 유형을 가지나, 때론 이질형 데이터형도 지원 가능
        . 한편, 이질형 데이터들이 모인 집합체는, 주로 레코드 라고 함 
     - ② 동일한 이름으로 참조되어질 수 있음
     - ③ 데이터 저장소의 집합으로 볼 수 있음
        . 연관된 값들이 순서있게 담겨진 집합

  ㅇ 배열의 관점별 특징
     - 배열 접근 방법 : 배열 이름 및 첨자(인수/인덱스)로 한 번에 접근
     - 배열 접근 시간 : 배열의 각 요소에 접근하는 시간은 모두 동일
        . 배열 크기와 상관없이 어느 위치든 1 단계면 족함
           .. 즉, 빅오표기법으로 O(1) 임
     - 배열 처리 순서 : 배열 요소들을 임의 순서로 처리 가능
     - 배열 중간 삽입/삭제 : 배열 내 요소의 삽입,삭제에는 비교적 많은 시간이 소요
     - 배열 끝단 추가/삭제 : 배열 처음/끝 요소의 추가,삭제는 단 1 단계 만 필요
        . 즉, 빅오표기법으로 O(1) 임
     - 배열 저장 방식 : 통상, 메모리에 연속되게 저장 할당되어있음     ☞ 배열 행렬 비교 참조


4. [전산]  배열의 자료형, 연산

  ㅇ 배열의 자료형
     - 대부분의 프로그래밍 언어에서, 배열은 기본으로 내장되는 데이터타입 (내장 자료형) 임
     - [참고] ☞ C 배열, 자바스크립트 배열, PHP 배열, MATLAB 배열 행렬 등 참조

  ㅇ 배열의 연산(처리)
     - 읽기, 중간 삽입/삭제, 끝단 추가/삭제, 검색 등
     - 기타 (최대/최소 값 원소 찾기, 두 원소 교환, 중복값 존재 여부 등)


5. [전산]  연관 배열 (Associative Array)

  ㅇ 배열의 인수/인덱스/키에 숫자 대신 문자열 명칭을 쓰는 배열 (Arrays with named indexes)
     - 배열 형식을 갖추고, 키(문자열 명칭) 하나에 값 하나가 연결되어있는 자료구조의 일종
     - 특징 : 키를 통해 연관된 값을 얻을 수 있음                         ☞ 해시(Hash) 참조


[선형자료구조(리스트 등)] 1. 리스트 2. 배열 3. 4. 스택 5. 데크

 
        최근수정     요약목록     참고문헌