Data Structure(Array)

서동현·2023년 1월 1일
0

What is Array

배열(array)는 같은 타입의 Data를, (str, int, float,...)
메모리의 연속된 위치에 <index,value>쌍으로 차례대로 저장하는 데이터 구조다.


Why Array?

Array가 메모리의 연속된 위치에 차례대로 저장되어 인덱스를 알면 빠르게 찾을 수 있다, 접근이 가능하다는 장점이 있지만
python이 아니면 메모리 size를 정해둬야해서 flexible하지 않다는 점이 단점으로 작용한다.


Contents

1. python의 list와 array
python의 array는 list로 구현되어있다.
python의 list는 array지만, 크기를 처음에 설정하지 않아도 넣고 빼는 것에따라 크기가 변하는 동적할당을 하는 특징을 가진다.
Numpy 라이브러리로 1차원 array(np.array), 다차원 array(np.ndarray)를 생성할 수 있다.

컴퓨터공학(CS)에서 array, list개념과 다르다.
CS에서 list는 데이터가 메모리에 연속적으로 할당되지 않고,
포인터(pointer)로 다음 데이터를 지정하고 있어
삽입, 삭제가 쉬운 장점이 있지만
검색을 하려면 처음부터 꼬리물고 찾아가야하는 단점이 있다.

2. 배열의 주소 계산

  • 행우선순서(row major order)

  • 열우선순서(column major order)
    numpy array를 reshape할 때 order 옵션(default : row major order-C 스타일 'C')을 'F'로 두면 column major order로 reshape 된다. (Fortran 스타일)



요약



profile
AI 비즈니스 가치를 고민합니다.

0개의 댓글