알고리즘
자료구조(1): 배열과 리스트
Codult
2024. 1. 3. 17:37
728x90
파이썬은 배열과 리스트를 구분하지 않는다! (그래도 특성은 알아두자)
배열
메모리의 연속 공간에 값이 채워져 있는 형태의 자료구조
- 인덱스를 통해 배열의 값을 참조한다.
- 해당 인덱스 주변에 있는 값을 이동시키는 과정을 통해 삽입 및 삭제가 가능하다.
- 배열의 크기는 선언할 때 지정할 수 있으며, 한 번 선언하면 변경할 수 없다.
- 구조가 간단하여 코딩 테스트에서 많이 사용한다.
리스트
노드(값과 포인터를 쌍으로 갖는 기초 단위)를 포인터로 연결한 자료구조
- 포인터는 Head - Next - Next - ... - Next - Tail
- 인덱스가 없어, Head 포인터부터 순서대로 값에 접근해야 하므로, 값에 접근하는 속도가 느리다.
- 포인터로 연결되어 있어, 데이터의 삽입 및 삭제하는 연산 속도가 빠르다.
- 크기가 정해져 있지 않기 때문에, 크기가 변하기 쉬운 데이터를 다룰 때 적절하다.
- 포인터를 저장할 공간이 필요하여, 배열보다 구조가 복잡하다.
출처) Do it! 알고리즘 코딩 테스트 - 파이썬 편
728x90