🤖
그림으로 배우는 알고리즘 제3장 - 자료구조(4)
June 25, 2022
[Algorithm]그림으로 배우는 알고리즘 제 3장: 자료구조 (4)
그림으로 배우는 알고리즘 제 3장: 자료구조 (4)
29. N번째 요소의 참조가 빠른 것은 배열, 느린 것은 리스트 구조
- N번째 요소 조회
- 예: 나열된 데이터에서 5번째 요소를 조회
- 배열
- 요소 번호를 사용해 바로 찾아낼 수 있다. ARRAY[5]
- 어떠한 요소를 조회하더라도 모든 시간적 비용은 동일하다.
- 리스트: 1번째 데이터부터 차례대로 끄능ㄹ 따라가야한다.
- 1번째 요소를 조회한다.
- 1번째 요소의 끈을 따라 2번째 요소를 조회한다.
- 2번째 요소의 끈을 따라 3번째 요소를 조회한다.
- 3번째 요소의 끈을 따라 4번째 요소를 조회한다.
- 4번째 요소의 끈을 따라 5번째 요소를 조회한다.
- 배열
30. 데이터의 삽입/삭제가 빠른 것은 리스트, 느린 것은 배열
- 데이터 삽입
- 새로운 데이터를 순서대로 나열된 데이터 열의 특정 위치에 삽입
- 배열: 삽입 위치 다음에 존재하는 모든 데이터를 뒤로 이동시켜야 한다(예: 삽입 데이터 뒤에 1,000개 데이터 존재 시 데이터 이동 작업 1,000번 반복).
- 리스트: 삽입 데이터의 앞뒤 데이터를 연결하고 있는 끈을 잘라 새로운 데이터에 연결하기만 하면 된다(1번 작업)
- 새로운 데이터를 순서대로 나열된 데이터 열의 특정 위치에 삽입
- 데이터 삭제
- 배열: 삭제 데이터 뒤에 있는 모든 데이터를 앞으로 옮겨야한다.
- 리스트: 제거하고자 하는 데이터의 끈을 자른 후 앞 뒤 데이터를 이어 붙이기만 하면 된다.