본문 바로가기

알고리즘

[자료구조] 배열

배열은 데이터를 하나의 변수로 관리하는 방법 중 하나입니다.

반복문과 함께 사용하면 좀 더 효율적인 처리가 가능합니다.

 

예를 들면, alphabet 이라는 전역 변수에 빈 배열을 초기화합니다. 알파벳을 차례대로 담아 사용할 계획입니다.

// javascript code
var alphabet = new Array();
alphabet[0] = 'a';
alphabet[1] = 'b';
alphabet[2] = 'c';

0, 1, 2는 인덱스(index)입니다. 값을 식별하는 데에 사용됩니다.

'a', 'b', 'c'는 값(value)입니다.

0은 'a'의 배열내 위치를 가리키며, 이 둘을 합쳐서 엘리먼트(element)라고 합니다.

 

배열 사용하기

실생활에서는 숫자나 순서에 의미를 두는 경우, 배열로 표현하기 좋습니다.

알파벳을 순서대로 담는다던지, 1순위, 2순위와 같이 일을 중요도에 따라 표현할 수 있습니다.

 

배열에는 여러 정보를 저장합니다. 반복을 통해 이런 다수의 정보를 쉽게 처리할 수 있습니다. 

// javascript code
alphabet.forEach((letter, index) => {
	console.log(`알파벳 ${letter}의 인덱스는 ${index} 입니다.`);
})

 

한계

배열이 좋은 데이터 표현 방법이긴 하지만 만능은 아닙니다. 

예를 들어, 알파벳을 무작위로 찾아야 한다고 가정해 봅시다.

z, k, e,... 등을 순서대로 찾으면,

a부터 z까지,

a부터 k까지,

a부터 e까지

반복적으로 처음부터 알파벳을 찾는다면 비효율적일 겁니다.

배열의 길이가 수십, 수만이 된다면 탐색 비용이 엄청나게 소모되겠죠.

이는 자료구조의 Map 또는 탐색 알고리즘 등으로 개선할 수 있습니다. 

관련 포스트는 추후에 게재하겠습니다.

 

 

출처

- https://opentutorials.org/module/1335/8677

 

배열 - Data Structure (자료구조)

이번 시간에는 배열을 배워봅시다. 배열은 거의 모든 프로그래밍 언어에 포함되어 있습니다. 따라서 여러분도 배열이 무엇인지에 대한 기본적인 이해는 하고 계실 것입니다. 여기서는 배열을

opentutorials.org

 

'알고리즘' 카테고리의 다른 글

다중 포인터  (0) 2024.07.15
빈도수 세기  (0) 2024.07.15