일리프 벡터

Iliffe vector

컴퓨터 프로그래밍에서 디스플레이라고도 하는 일리프 벡터는 다차원 배열을 구현하는 데 사용되는 데이터 구조다.n-차원 배열의 일리프 벡터(n vector 2)는 (n - 1)차원 배열의 포인터 벡터(또는 1차원 배열)로 구성된다.이들은 배열 요소에 대한 주소 계산을 수행할 때 값비싼 곱셈 작업이 필요하지 않도록 하기 위해 자주 사용된다.또한 삼각형 배열, 삼각형 행렬 및 기타 비정형 배열과 같은 들쭉날쭉한 배열의 구현에도 사용할 수 있다.데이터 구조는 존 K의 이름을 따서 명명되었다. 일리프.

이들의 단점으로는 요소에 접근하기 위해 체인으로 묶인 포인터를 여러 개 들여놓을 필요성과 최적화한 컴파일러가 이를 사전 추출할 수 있도록 n차원 배열에서 다음 행을 결정하는 데 필요한 추가 작업이 있다.이 두 가지 모두 CPU가 메인 메모리보다 상당히 빠른 시스템에서 지연의 원천이다.

2차원 배열의 Ilife 벡터는 단순히 데이터의 벡터에 대한 포인터의 벡터로서, 즉 Ilife 벡터는 각 열 요소가 행 벡터에 대한 포인터가 되는 배열의 열을 나타낸다.

Java, Python(다차원 목록), Ruby, Visual Basic 등의 언어의 다차원 배열.NET, Perl, PHP, JavaScript, Object-C(NSArray를 사용하는 경우, 주 C-style 어레이가 아닌 경우), Swift, Atlas Autocode를 Ilife 벡터로 구현한다.OLAP 제품 Holos에서 희박한 다차원 배열을 구현하기 위해 Ilife 벡터를 사용했다.

Ilife 벡터는 Fortran과 같은 언어에서 dope 벡터와 대조되는데, 여기에는 각 차원의 첨자에 대한 보폭 요소와 오프셋 값이 포함되어 있다.

참조

  • John K. Iliffe (1961). "The Use of The Genie System in Numerical Calculations". Annual Review in Automatic Programming. 2: 25. doi:10.1016/S0066-4138(61)80002-5.

추가 읽기