선형 배열은 데이터들이 선(line)처럼 일렬로 늘어선 형태를 말한다. 파이썬에서는 배열이라고 따로 데이터 타입이 존재하지 않고 리스트를 활용한다. 다른 배열보다 융통성있는 자료구조이다.
다른 프로그래밍 언어의 배열은 동일한 데이터 타입의 원소를 일렬로 저장한 형태를 보이지만 파이썬의 리스트는 데이터 타입에 상관없이 원소를 가질 수있다.
리스트 (배열) 연산
리스트의 길이와 상관없이 일정한 시간이 걸리는 일, O(1)
1. 원소 덧붙이기
L.append()
2. 끝에서 꺼내기
L.pop()
리스트의 길이와 비례하여 걸리는 일, O(n)
- 원소 삽입하기
(index 3의 위치에 원소 65삽입하기)
L = [20, 37, 58, 72, 91]
L.insert(3, 65)
Process 맨 마지막의 원소 91을 한칸 옆으로 옮기고(리스트의 사이즈 1증가) 그 앞의 72를 원래 91이 있던 자리로 옮긴다. 타겟 인덱스(3)인 원래 72 자리에 65를 삽입한다.
L.append()와 비교했을 때보다 시간이 오래걸린다.
- 원소 삭제하기
L = [20, 37, 58, 65, 72, 91[ del(L[2])
Process
타겟 원소인 58의 자리에 65가 위치한다. 65자리에는 72가 옮겨가고 72자리에는 91이 옮겨진다(사이즈가 1 줄어듬).
- 원소 탐색하기
L.index()
Comments