개발공부/강의

알고리즘 코딩테스트 핵심 이론 - 배열과 리스트

성하 盛夏 2023. 7. 28. 10:01

https://www.youtube.com/watch?v=MDeAbo_LP1U&list=PLG7te9eYUi7tAQygBknaTciy8wzLCe-Ll&index=7 

1. 배열

: 메모리의 연속 공간에 값이 채워져 있는 형태의 자료구조
: 인덱스를 통해 참조 가능하며, 선언한 자료형의 값만 지정 가능
: 새로운 값을 삽입/삭제할 경우 인덱스에 존재하던 값을 이동시켜주어야 하는 번거로움이 있음
: 배열의 크기는 선언시 지정 가능하며, 선언 후에는 크기 변경이 불가함 → 값의 크기가
: 구조가 간단한 편

 

2. 리스트

: 노드*를 포인터로 연결한 자료구조
(*노드 : 값과 포인터를 쌍으로 갖는 기초 단위)
: 인덱스가 없어 값에 접근하기 위해서는 Head 포인터부터 순서대로 접근함 → 값에 접근하는 속도가 느린 편
: 데이터를 삽입/삭제할 경우, 포인터로 연결되어 있어 연산 속도가 빠름(기존 값 이동이 덜 번거로움)
: 선언 시 리스트의 크기를 별도로 지정할 필요x → 크기가 졍해져 있지 않고, 크기가 변하기 쉬운 데이터를 다룰 때 적절함
: 포인터 저장 공간이 필요하므로 배열보다 구조가 복잡함