배열(array)의 장단점

CODEDRAGON Development/Algorithm, DataStructure

반응형

 

배열(array) 장단점

장점

·       구현이 쉽습니다.

·       검색 성능이 좋습니다. 인덱스(index) 이용한 무작위 접근(random access) 가능하므로 검색에서 빠른 성능을 기대할 있습니다.

·       순차 접근(sequential access) 경우에도 배열은 데이터를 하나의 연속된 메모리 공간에 할당하므로 연결 리스트(Linked list)보다 빠른 성능을 보여줍니다.

·       참조를 위한 추가적인 메모리 할당이 필요 없습니다..

단점

·       자료의 삽입과 삭제에 비효율적입니다. 자료의 삽입(Insert) 삭제(Delete) 다음 항목의 모든 요소를 이동시켜야 합니다. 이를 연산 작업이 수행되어 비효율적이며 자료의 수가 많이지면 비례하여 성능이 떨어지게 됩니다.

·       크기를 바꿀 없습니다. 배열은 생성할 지정한 크기를 바꿀 없기 때문에 너무 크게 잡으면 메모리가 낭비되고 너무 작게 잡으면 이상의 자료를 저장할 없게 됩니다.

·       메모리의 재사용이 불가능합니다. 배열은 초기 사이즈만큼의 메모리를 할당 받아 사용하기 때문에 데이터의 존재 유무와 상관없이 일정한 크기의 메모리 공간을 점유하고 있습니다. 이미 삭제한 데이터라고 하더라도(배열 요소를 삭제) 배열 자체가 메모리에서 제거되지 않는 이상 삭제된 데이터의 메모리 공간을 재사용 없습니다.