https://www.youtube.com/watch?v=MDeAbo_LP1U&list=PLG7te9eYUi7tAQygBknaTciy8wzLCe-Ll&index=7
1. 배열
: 메모리의 연속 공간에 값이 채워져 있는 형태의 자료구조
: 인덱스를 통해 참조 가능하며, 선언한 자료형의 값만 지정 가능
: 새로운 값을 삽입/삭제할 경우 인덱스에 존재하던 값을 이동시켜주어야 하는 번거로움이 있음
: 배열의 크기는 선언시 지정 가능하며, 선언 후에는 크기 변경이 불가함 → 값의 크기가
: 구조가 간단한 편
2. 리스트
: 노드*를 포인터로 연결한 자료구조
(*노드 : 값과 포인터를 쌍으로 갖는 기초 단위)
: 인덱스가 없어 값에 접근하기 위해서는 Head 포인터부터 순서대로 접근함 → 값에 접근하는 속도가 느린 편
: 데이터를 삽입/삭제할 경우, 포인터로 연결되어 있어 연산 속도가 빠름(기존 값 이동이 덜 번거로움)
: 선언 시 리스트의 크기를 별도로 지정할 필요x → 크기가 졍해져 있지 않고, 크기가 변하기 쉬운 데이터를 다룰 때 적절함
: 포인터 저장 공간이 필요하므로 배열보다 구조가 복잡함
'개발공부 > 강의' 카테고리의 다른 글
알고리즘 코딩테스트 핵심 이론 - 디버깅 (0) | 2023.07.28 |
---|---|
알고리즘 코딩테스트 핵심 이론 - 시간복잡도 (0) | 2023.06.22 |