배열(Array)Knowledge/CS & HTTP2023. 12. 16. 15:15
Table of Contents
728x90
배열이란?
배열(Array)은 프로그래밍에서 가장 기본적인 자료구조 중 하나다. 같은 타입의 여러 데이터를 하나의 이름으로 그룹화하여 관리할 수 있게 해주는 구조를 가지고 있다. 이렇게 배열을 이용하게 되면, 각 데이터에 접근하기 위해 따로 이름을 지어줄 필요 없이, 배열의 이름과 인덱스를 통해 데이터에 접근할 수 있게 된다.
특징
- 배열은 동일한 데이터 타입을 가진 요소들의 집합이다.
- 각 요소는 인덱스를 통해 접근할 수 있으며, 이 인덱스는 배열의 시작부터 해당 요소까지의 상대적 위치를 나타낸다.
- 배열의 크기는 생성 시에 정해지며, 이후에는 변경이 불가능하다.
- 배열은 메모리 상에서 연속적인 공간에 할당이 되게 된다.
장점
- 인덱스를 통해 빠르게 데이터에 접근할 수 있다. 이를 랜덤 액세스라고 한다.
- 연속적인 메모리 공간에 데이터를 저장하므로, 컴퓨터의 캐시 메모리를 효율적으로 활용할 수 있다.
- 구현이 간단하고 사용이 쉽다.
단점
- 배열의 크기는 생성 시에 고정되므로, 나중에 크기를 변경하려면 전체를 복사하는 등의 비효율적인 작업이 요한다.
- 배열 안에 빈 공간이 있더라도 이를 활용할 수 없다. 이로 인해서 메모리 낭비가 발생할 수 있게 된다.
- 배열의 중간에 있는 요솔르 삭제하거나 추가할 때는, 다른 요소들을 이동시켜야 하므로 비효율적이다.
사용처
- 동일한 타입의 데이터를 많이 다룰 경우 : 학생들의 성적이나 사람들의 나이 등을 저장하고 관리하는 데 사용될 수 있다.
- 데이터의 순서가 중요할 경우 : 배열은 데이터의 순서를 유지하므로, 데이터의 입력 순서가 특정 기준에 따른 순서가 중요한 경우에 사용이 된다.
- 랜덤 엑세스가 필요할 경우 : 배열은 인덱스를 통해 어떤 위치에 있는 데이터에도 빠르게 접근할 수 있다. 따라서 특정 위치의 데이터를 빠르게 확인하거나 변경해야 하는 경우에 유용하게 사용될 수 있다.
- 간단한 데이터 구조가 필요할 경우 : 배열은 가장 기본적인 데이터 구조로, 사용 방법이 간단하고 이해하기 쉽다. 따라서 복잡한 연산이 필요 없는 단순한 문제를 해결할 때 유용하게 사용될 수 있다.
정리
자료구조는 각각의 장점들과 단점이 뚜렷하기 때문에 상황별로 사용하는 것은 오로지 사용자의 역량과 선택에 달려있다.
따라서 적절하게 잘 사용하기 위해선 각각의 특성과 특징을 명확하게 숙지하고 있어야만 한다.
728x90
'Knowledge > CS & HTTP' 카테고리의 다른 글
CI/CD 그게 뭔데요...? (1) | 2024.01.08 |
---|---|
RESTful API가 뭔데요 (0) | 2024.01.05 |
쿠키와 세션 (0) | 2023.12.27 |
인터넷 통신이란? (1) | 2023.12.18 |
Stack과 Queue (0) | 2023.12.15 |
@Marty_ :: 소리 지르고 싶다.
쓰임 있는 사람이 되기 위해 노력 중입니다.