컴퓨터 과학에서 배열은 인덱스와 번호에 대응하는 데이터 들로 이루어진 자료구조를 나타낸다 적어도 위키백과에는 그렇게 나와 있다
좀 더 나만의 방식으로 말하자면 같은 자료형으로 그루핑한 하나의 공간이라
표현 하고 싶다
리스트는 컴퓨터 과악에서 값은 값이 한번 이상 존재 할 수 있는 일련의 값이 모여있는 추상적 자료형이다
같은 자료형으로 그루핑한 하나의 체인
같은듯 다른 이 두가지의 차이를 알아보려고 한다.
연속적인 메모리에서 같은 종류의 아이템들을 저장 할 수 있는 자료구조
[1,2,9,11,8,7,4,2,1]
[] 대괄호를 사용하여 인덱스를 활용 가능하다.
인덱스를 활용 가능 하기에 아이템이 몇개가 담겨 있든 , 그 크기가 얼만하든 항상 같은 속도로 접근이 가능하고 사이즈(length)도 인덱스가 지정되어 있기에 가져 올 수 있다.
순서를 가지며 추가/삭제/탐색 이 가능한 ADT
ADT(Abstract Data type)
자료구조형 과는 다르게 구조의 속성과 행위를 설명한다.
인덱스가 없음.
동적표현
인덱스를 통한 검색이 용이함
연속적이므로 메모리 관리가 편하다.
한 데이터를 삭제하더라고 배열은 연속해야 하므로 공간이 남는다 (메모리 낭비)
정적이므로 배열의 크기를 컴파일 이전에 정해주어야 한다.
배열의 크기를 변동 할 수 없다.
포인터를 통하여 다음 데이터의 위치를 가리키고 있어 삽입 삭제가 용이하다.
동적이므로 크기가 정해져 있지 않다.
메모리의 재사용 편리
불연속적이므로 메모리 관리의 편리
검색 성능이 좋지 않다.
포인터를 통해 다음 데이터를 가리키므로 추가적인 메모리 공간 발생
배열 : 데이터의 크기가 정해져 있고, 추가적인 삽입 삭제가 일어 나지 않으며 검색을 필요로 할 때 유리.
리스트 : 데이터의 크기가 정해져 있지 않고, 삽입 삭제가 많이 일어나며, 검색이 적은 경우 유리.