배열
- 같은 자료형을 가진 변수를 하나로 나타낸 것.
- 연속된 메모리 공간으로 이루어져 있음.
- 정적.
장점
1. 인덱스로 검색 및 접근 용이
단점
1. 한 데이터를 삭제하더라도 배열은 연속해야 하므로 공간이 남는다 (메모리 낭비)
2. 정적이므로 배열의 크기를 컴파일 이전에 정해주어야 함.
3. 컴파일 이후 배열의 크기 변동 불가.
리스트
- 순서가 있는 데이터의 집합
- 불연속적으로 메모리 공간을 차지
- 동적.
- 인덱스가 없고 , 포인터를 통한 접근 가능
장점
1. 포인터를 통해 다음 데이터의 위치를 가르키고 있어, 삽입 삭제가 용이.
2. 동적이므로 크기가 정해져 있지 않음.
3. 메모리 재사용 편리
단점
1. 검색 성능이 좋지 않음. ( 주소가 연속적이지 않기 때문에, 검색 소요 시간이 더 걸림.)
2. 포인터를 통해 다음 데이터를 가르키므로 추가적인 메모리 공간 발생.
결론
배열 : 데이터의 크기가 정해져 있고, 추가적인 삽입 삭제가 일어나지 않으며,
검색을 필요로 할때 유리 !
리스트 : 데이터의 크기가 정해져 있지 않고, 삽입 삭제가 많이 일어나며,
검색이 적은 경우 유리 !
참고
https://changun516.tistory.com/9
'공부 > 개념 & 유용한 내용' 카테고리의 다른 글
빅오 표기법 (big - O notation) (0) | 2020.07.13 |
---|---|
렌더링 파이프 라인 (0) | 2020.07.07 |
컴파일 언어 & 인터프리터 언어 (스크립트 언어) (0) | 2020.07.07 |
코루틴 & 쓰레드 차이점 (0) | 2020.07.02 |
데드락 & 해결 방법 (0) | 2020.07.01 |