배열

정의

프로그래밍 언어를 지원하는 재료 유형 또는 컴퓨터 과학에 사용되는 재료 구조 중 하나입니다. 차례로, 숫자가 매겨진 요소는 연속적인 형태로 구성된 구조를 암시하며,이 경우 각 요소에 부착된 숫자를 종종 첨가제 (인덱스, 색인)라고합니다. 요소가 연속적으로 배열되기 때문에 각 요소에 대한 모든 첨부 파일에 접근하는 시간 복잡성은 O (1)입니다. 따라서 임의로 액세스 할 수 있는 데이터 구조에 속합니다. 메모리 주소는 연속성을 요구하기 때문에 배열 크기가 증가하는 것은 절대적으로 불가능하며 배열 크기가 커야 할 때 더 큰 크기의 새 배열을 만들고 기존 콘텐츠를 복사하고 일부 배열을 다른 위치에 연결하는 등의 방법이 필요합니다. 그것은 이용 가능합니다.

 

연결 목록과 비교하여 임의 접근을 사용할 수 있지만, 요소를 삽입 / 삭제하는 데는 단점이 있습니다. 반면에 연결 목록은 연속 접근만 가능하여서 어떤 위치에서든 요소를 찾는 것이 느리지만, 위치를 알면 삽입 / 삭제가 배치보다 빠릅니다.

 

데이터 구조와 데이터 구조의 차이

 

데이터 구조로서 배열은 색인을 가지며 차례로 구성된 데이터 구조를 의미하며 이 색인에 의해 접근할 수 있습니다. 데이터 유형으로서 배열은 프로그래밍 언어의 문법적 수준이며 기본 재료 유형으로 이러한 재료 구조, 배열을 지원합니다.

 

컴퓨터 과학 초기에 등장한 어셈블리 및 여러 프로그래밍 언어는 문법 수준에서 배열을 지원하지 못했습니다. 그러나 기본적으로 현실적인 필요성으로 FORTRAN, COBOL 및 ALGOL과 같은 초기 고급 언어에서 이를 지원하기 시작했으며 이후 거의 모든 프로그래밍 언어의 필수 구성 요소가 되었습니다.

 

일반적으로 유형 시스템이 있는 언어에서는 한 유형의 요소에 의해서만 받아들여지는 경우가 많지만, 이는 일반적으로 연속 메모리 공간의 값이 행 당이기 때문에 하드웨어 이유로 구현됩니다. C의 이 점은 가장 분명하게 느낄 수 있습니다.

 

같은 이유로 대부분의 프로그래밍 언어는 0에서 배열 첨부 파일을 시작합니다. N의 요소로 절차 A를 생성하면 해당 요소를 참조할 때 A [0], A [1], ..., A가됩니다. 그것은 [N-1]을 가리키며, 첫 번째 요소는 A [1]이 아니라 A [0]이기 때문에 프로그래밍에 익숙하지 않은 사람들 사이에서 혼란의 원인 중 하나가 됩니다.하드웨어와 역사적 이유, 논리적 이유 모두가 방법을 채택하기 위해 존재합니다.

 

'PC 와 IT' 카테고리의 다른 글

리스트  (0) 2020.07.07
해시  (0) 2020.07.07
그래프  (0) 2020.07.07
트라이  (0) 2020.07.07
트리  (0) 2020.07.07

+ Recent posts