Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 스프링부트
- 구현
- Linux
- 배열
- HTTP
- 이직
- HashMap
- 해시맵
- 주니어
- 프로그래머스
- 자료구조
- 스타트업
- 해결
- 백엔드
- 명령어
- 스프링
- docker
- 구름LEVEL
- 문자열
- 인텔리제이
- 개발자
- spring boot
- bfs
- 도커
- dfs
- Java
- 코딩테스트
- spring
- IntelliJ
- 스프링 부트
Archives
- Today
- Total
마이의 개발 블로그
[자료구조] 배열(array)과 리스트(list) 본문
반응형
배열 (array)
- 다수의 데이터를 하나의 이름으로 묶어 관리하기 위한 자료구조로 인덱스와 값으로 구성됨
- 인덱스를 통해 데이터에 접근함 (random access 가능)
- 논리적 저장 순서와 물리적 저장 순서가 일치함 (연속적 메모리 공간 차지)
- 정적 할당으로 크기 변경이 불가능함 (삽입, 삭제시에도 빈 공간은 유지됨)
리스트 (list)
- 메모리 공간 활용이 제한적인 배열의 단점을 극복하기 위해 만들어진 자료구조
- 포인터를 통해 데이터에 접근함 (포인터를 위한 추가 메모리 공간 필요)
- 논리적 저장 순서와 물리적 저장순서가 다름 (불연속적 메모리 공간 차지)
- 동적 할당으로 크기가 가변적임 (삽입, 삭제시 메모리 재할당)
배열과 리스트 비교 (속도 기준)
작업 | 탐색 | 삽입 및 삭제 |
속도 비교 | 배열 > 리스트 | 배열 < 리스트 |
요약
- 배열과 리스트는 둘 다 다수의 데이터를 하나의 이름으로 묶어 관리하기 위한 자료구조이다
- 데이터 크기의 변경 여부와 추가적인 작업(탐색, 삽입/삭제)의 비중을 고려하여 자료구조를 결정하자
- 배열은 탐색에 유리하고, 리스트는 삽입/삭제에 유리하다
반응형
'개발지식 > 자료구조' 카테고리의 다른 글
[자료구조] 우선순위 큐 (priority queue) - 백준 1715번 (0) | 2022.02.05 |
---|---|
[자료구조] ArrayList와 LinkedList 비교 (자바 컬렉션 프레임워크) (0) | 2022.02.03 |
Comments