Closed wongakim-99 closed 1 month ago
프로그래밍을 하다 보면 데이터를 효율적으로 관리하고 처리하기 위해 다양한 자료 구조를 사용하게 된다. 자료 구조 중 가장 기본적이며 가장 자주 사용되는 것이 리스트와 배열이다.
리스트와 배열은 모두 데이터의 집합을 저장하기 위한 구조이지만, 내부 구현 방식과 사용법에 있어서 차이가 있다. 왜냐하면 배열은 메모리 상에서 연속적인 공간에 데이터를 저장하는 반면, 리스트는 데이터가 메모리 상의 임의의 위치에 저장될 수 있기 때문이다.
위와 같은 차이점은 리스트와 배열의 성능과 효율성에 영향을 미치며, 각각의 장단점이 존재한다. 따라서 적절한 자료구조를 선택하는 것이 중요하다.
우선 배열이란 같은 성질을 갖는 항목들의 집합이다. 같은 특성을 갖는 원소들이 순서대로 구성된 집합으로 선형 자료 구조이며, 메모리 상에 연속적으로 데이터가 저장된 연접 리스트(순차 리스트)에 해당한다. 순차적으로 저장된 데이터를 참조하는 데에는 Index가 사용된다. (1차원 배열, 2차원 배열, 3차원 배열)
배열의 특징은 아래와 같다.
파이썬의 리스트(List) 는 가장 많이 사용되는 자료구조 중 하나로, 다양한 데이터 타입을 동적으로 저장할 수 있는 가변 크기 배열이다. 배열의 연속 메모리 배치 방식을 사용하지만, 크기를 동적으로 변경할 수 있어 편리하다. 파이썬의 리스트는 자바의 배열, 연결 리스트 등의 자료구조 특성을 어느 정도 결합하여 구현되었다.
리스트의 특징은 아래와 같다.