Array   배열, 어레이

(2019-03-20)

배열, 배열, 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. 데크
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
          1. 프로그램,프로그래밍
      1.   프로그래밍 언어론
      2.   구조적 프로그래밍
      3.   객체지향 프로그래밍
      4.   자료표현코드
      5.   자료구조
            1. 자료구조
        1.   선형자료구조(리스트 등)
          1.   1. 리스트
              2. 배열
              3.
              4. 스택
              5. 데크
        2.   비선형자료구조(트리,그래프)
        3.   자료구조 기타일반
      6.   알고리즘
      7.   시스템 소프트웨어
      8.   프로그래밍언어 종류
      9.   프로그래밍 기타일반
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

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