영상, 글 요약

정적배열, 동적배열 차이점 설명

kimbro6 2023. 1. 17. 00:01

#1 서론

정적배열, 동적배열은 조금 다르다.

이 둘의 차이점을 알아본다.

#들어가기 전

들어가기전에 우리가 프로그램(파이썬, C)를 사용해서 데이터를 배열이나 리스트, 딕셔너리 등에 저장할때 그 데이터가 컴퓨터 어디에 저장되는지 알아보자.

우리가 프로그램으로 데이터를 저장하면, RAM에 저장된다.

RAM은 Random access memory로 우리가 필요로 하는 값을 저장한 '주소'만 알고 있으면 바로 값을 가져올 수 있다.

#2 본론

정적배열과 동적배열

정적배열과 동적배열의 차이점은 '저장공간을 예약했냐' 이다.

 

정적배열은 RAM에 저장할 데이터의 길이를 미리 예약해 둔다.

RAM은 한 칸에 '바이트'의 데이터를 저장할 수 있는데, 정적배열은 그 칸을 연속적으로 길이만큼 예약하는 것이다.

그래서 정적배열에 예약해 둔 길이보다 더 많은 데이터를 저장할 수 없다.

 

동적배열은 저장할 데이터의 길이를 미리 예약해 두지 않는다.

동적배열은 정적배열로 구현되어있어서 기본적으로는 정적배열과 비슷하다.

다만 동적배열이 구성되어있는 정적배열이 모두 찼을때 새로운 값을 추가해 주고 싶다면, 더 큰 길이의 정적배열을 생성하여, 기존에 있던 값을 복사한 후 추가하고 싶은 값을 추가한다.

#3 결론

그러므로 정적배열은 예약한 길이를 넘어가면 새로운 값을 추가하지 못하고, 동적배열은 가능하다.

 

#4 참고자료

코드잇 자료구조 강의