-
(3) Array vs ArrayList vs LinkedList자료구조/기본 자료구조 2021. 4. 28. 14:59
■ Array
(1) Array - 배열
■ 배열 - 연관된 데이터를 나열하고, 각 데이터를 인덱스에 대응하도록 구성한 데이터 구조 - Python에서는 list가 배열 기능을 제공 ※ List는 배열 구조이면서 데이터가 index에 따라서 빈틈 없이
korshika.tistory.com
> 고정 size의 arrray를 선언하고 이를 사용
- 연속된 메모리 공간
- 데이터 최대 사이즈를 모르거나 데이터가 계속 늘어나는 경우 부적합
> 데이터 삽입 삭제가 느림
- 중간 index에 값을 추가하는 경우, 다음 index부터 뒤로 밀어내며 덮어쓰이는 등의 이유
> item 사이의 빈 공간(null) 등이 있을 수 있음
> index로 빠르게 값을 찾는 것이 가능
■ Array List[JAVA]( List )
> 빈공간이 없게 연관된 데이터들이 붙어있는 array 구조
- 빈틈없이 적재하므로, 낭비되는 메모리 적음 but pointer로 인해 추가 공간 사용
- 메모리 상에서 불연속적으로 위치
> 동적으로 동작하여 고정된 size가 아님
> 데이터를 찾는데 빠르지만 array 한계처럼 데이터의 삽입 / 삭제가 느림( 중간index 작업시 전후 데이터 복사/이동 )
- Index는 순서의 의미, array의 유일무이 identifier로서의 index와는 차이가 조금 있다
- 포인터를 통한 접근
■ Linked List
> node에 포인터에 다음 데이터 위치를 저장
> 데이터 삽입 / 삭제가 빠름
> 데이터를 찾을 때 순회하면서 순차적으로 검색하기에 검색이 느림
참조 :
www.holaxprogramming.com/2014/02/12/java-list-interface/
Java의 LinkedList와 ArrayList에 대한 비교
안녕 프로그래밍
www.holaxprogramming.com
gyoogle.dev/blog/computer-science/data-structure/Array%20vs%20ArrayList%20vs%20LinkedList.html
Array vs ArrayList vs LinkedList | 👨🏻💻 Tech Interview
Array vs ArrayList vs LinkedList 세 자료구조를 한 문장으로 정의하면 아래와 같이 말할 수 있다. Array는 index로 빠르게 값을 찾는 것이 가능함 LinkedList는 데이터의 삽입 및 삭제가 빠름 ArrayList는 데이터
gyoogle.dev
반응형'자료구조 > 기본 자료구조' 카테고리의 다른 글
(5) Queue (0) 2021.04.28 (4) Stack (0) 2021.04.28 (2) Linked list (0) 2021.04.28 (1) Array - 배열 (0) 2021.04.28