배열(Array) VS. 리스트(List)

2021. 7. 8. 23:15자료구조 (Data Structure)

1. 배열과 리스트

배열과 리스트는 가장 기본적인 순차적(sequential) 자료구조 [매우 기본, 중요]


 

2, C언어 

int A [4] = {2, 4, 0, 5};

2 4 0 5

ex) A[2]의 주소 : RAM --> 주소 찾아갈 수 있다

   A[0]의 주소 +2 * 4 bytes


3, Python : list

- 객체는 따로 메모리 주소를 가리킨다. 객체가 새로 생겨서 그 주소를 가리킨다. 

- index로 임의의 원소를 접근

- 연산자 []: A[2]:-1

- 삽입: append , insert --> O(1)

- 삭제: pop--> O(1), remove --> O(n)

 


4, 리스트 용량 자동 조절(Dynamic Array)

 

  • C 에서

 

int A[4] = {2, 4, 0, 5}

 

A

2 4 0 5

A[4] = 10 --> error

 

B = (int*) malloc(6*4)

B

2 4 0 5    

임시적 집

 

A = B //이사한다. 


  • Python에서 

파이썬에서 메모리 동젇할당이 일어나는 과정

'자료구조 (Data Structure)' 카테고리의 다른 글

Red - Black Tree  (0) 2021.07.11
Hash Table  (0) 2021.07.10
HEAP(힙)  (0) 2021.06.29
TREE (트리)  (0) 2021.06.29
순차적 자료구조 - QUEUE  (0) 2021.06.28