7장 데이터 구조와 처리 (기본데이터타입,배열,비트맵)

ccy·2022년 2월 14일

데이터 구조 (data-structure) 중 상당수는 여러 유형의 메모리를 더 효율적으로 사용하기 위해 존재한다.

7장에서 말하는 참조 지역성(locality of reference)는 상당수가 버즈워드 라고 한다. 즉 필요한 데이터를(메모리에서) 서로 근쳐 유지하라, 금방 사용할 데이터라면 더 가까운 곳에 저장하라 이다.

buzzword:
버즈워드는 명확한 합의와 정의가 없는 용어이다. 한편, 처음에는 명확하게 정의된 용어도, 본래의 의미에서 벗어나 사용되게되면, 버즈워드로 간주된다. 이처럼 버즈워드라는 용어는 정의가 모호한 용어이기 때문에 "버즈워드 자체가 버즈워드이다"라고하는 설도 있다.

기본데이터 타입

프로그래밍 언어는 다양한 기본 데이터 타입 (primitive data type)을 제공한다.
이런 타입에는 크기(bit size), 해석(interpretation)이 있는지 즉 (부호가있는지 없는지, 부동소수점인지, 문자를 나타내는지,포인터인지,boolean인지 등) 두가지 측면이 존재한다고 한다.

C,C++ 기본 데이터타입:

자바스크립트또한 언어이기 때문에 기본 데이터타입이 존재한다

javascript primitive data types:

일부 언어는 잘못된 포인터사용으로 인한 오류를 막기 위해 참조(reference)라는 더 추상적인 개념을 구현하기도 한다.

Arrays(배열)

프로그래밍 언어는 배열(array)를 지원한다.

모든 배열 [] 에는 elements과 그 element가 들어가있는 위치(index)가 존재한다

각 원소는 0번째 element의 주소 기저주소(base address)로 부터 얼마나 멀리 떨어져 있는지에 따라 계산한다.

위에 그림은 1차원 배열이라서 0,1 ,0,2 등 참조하지만

다차원(multi dimentional)인 배열도 만들수있다, 이럴때 참조 지역성(locality of reference)이 문제가 된다.

열의 인덱스가 1 바뀌면(0,0에서 0,1)의 인접한 메모리를 위치에 있는 원소로 이동하지만, 행인 인덱스1이 바뀌면 (0,0에서 1,0) 으로 이동해야 하기 때문에 연속적인 메모리 공간상으로는 배열의 개수만큼 떨어져있는 메모리 위치에 있는 원소로 이동해야한다.

profile
개발배우는중

0개의 댓글