[Array] 배열, 정적배열, 동적배열

2020. 5. 21. 10:43컴퓨터언어/자료구조&알고리즘

728x90
반응형

배열 : 연속된 메모리 공간에 같은 자료형의 데이터를 저장하는 방식.

 

"인덱스"로 관리하기 때문에 다음과 같은 특징이 있다.

 

탐색 : 유리 O(1)

맨 마지막 위치에 삽입: 정적배열=>유리 O(1) / 동적배열에서메모리초과시=>불리 O(n)

맨 마지막 위치의 원소 삭제: 유리 O(1)

업데이트(원하는 위치에 삽입/삭제) : 불리 O(n)

 


  Static Array Dynamic Array
특징 배열을 정의할 때부터 길이를 정하기 때문에 고정됨
개발자가 메모리 관리할 수 있음
길이를 초과하게 되면 할당할 메모리를 새로 늘리고 이전 정보를 복붙해서 이어나감(보통 기존 크기의 2배로 옮김)
길이변화에 유연하지만, 메모리 관리에 소홀함
언어 저레벨 언어(C++) 고레벨 언어(Python-List, JS-Array, Java-ArrayList)
728x90
반응형