배열과 리스트

정재성·2022년 8월 30일
0

배열과 리스트

배열

컴퓨터 과학에서 배열은 인덱스와 번호에 대응하는 데이터 들로 이루어진 자료구조를 나타낸다 적어도 위키백과에는 그렇게 나와 있다

좀 더 나만의 방식으로 말하자면 같은 자료형으로 그루핑한 하나의 공간이라
표현 하고 싶다

리스트

리스트는 컴퓨터 과악에서 값은 값이 한번 이상 존재 할 수 있는 일련의 값이 모여있는 추상적 자료형이다
같은 자료형으로 그루핑한 하나의 체인

같은듯 다른 이 두가지의 차이를 알아보려고 한다.

array(배열)

  • 연속적인 메모리에서 같은 종류의 아이템들을 저장 할 수 있는 자료구조

  • [1,2,9,11,8,7,4,2,1]

  • [] 대괄호를 사용하여 인덱스를 활용 가능하다.

인덱스를 활용 가능 하기에 아이템이 몇개가 담겨 있든 , 그 크기가 얼만하든 항상 같은 속도로 접근이 가능하고 사이즈(length)도 인덱스가 지정되어 있기에 가져 올 수 있다.

List

  • 순서를 가지며 추가/삭제/탐색 이 가능한 ADT

  • ADT(Abstract Data type)

  • 자료구조형 과는 다르게 구조의 속성과 행위를 설명한다.

  • 인덱스가 없음.

  • 동적표현

배열의 장점

  • 인덱스를 통한 검색이 용이함

  • 연속적이므로 메모리 관리가 편하다.

배열의 단점

  • 한 데이터를 삭제하더라고 배열은 연속해야 하므로 공간이 남는다 (메모리 낭비)

  • 정적이므로 배열의 크기를 컴파일 이전에 정해주어야 한다.

  • 배열의 크기를 변동 할 수 없다.

리스트 장점

  • 포인터를 통하여 다음 데이터의 위치를 가리키고 있어 삽입 삭제가 용이하다.

  • 동적이므로 크기가 정해져 있지 않다.

  • 메모리의 재사용 편리

  • 불연속적이므로 메모리 관리의 편리

리스트의 단점

  • 검색 성능이 좋지 않다.

  • 포인터를 통해 다음 데이터를 가리키므로 추가적인 메모리 공간 발생

정리

배열 : 데이터의 크기가 정해져 있고, 추가적인 삽입 삭제가 일어 나지 않으며 검색을 필요로 할 때 유리. 

리스트 : 데이터의 크기가 정해져 있지 않고, 삽입 삭제가 많이 일어나며, 검색이 적은 경우 유리.

profile
기술블로그 / 일상블로그

0개의 댓글