배열 – 가장 기본적인 데이터 구조(2)

이전 기사에 이어 이 기사에서는 배열 데이터 구조를 계산하는 프로세스를 살펴보고 이러한 작업과 관련된 단계를 계산합니다.


읽다

배열에서는 특정 인덱스에 한 번만 액세스하면 값을 확인할 수 있으므로 읽기 작업의 계산 단계는 다음과 같습니다. 레벨 1 보지 않았다.

첫째, 컴퓨터는 주소를 알고 있으면 한 번에 모든 메모리 주소에 액세스할 수 있습니다. 컴퓨터가 처음 배열을 만들 때 배열의 시작 메모리 주소를 별도의 메모리에 저장합니다. 읽기 요청을 받으면 별도의 프로세스 없이 접근할 스토리지 어레이의 시작 메모리 주소에 인덱스 값을 더한다.


배열 – 가장 기본적인 데이터 구조 관련 대표 이미지


찾다

Read는 인덱스를 제공하고 값을 검색하고 Search는 값을 제공하고 인덱스를 검색합니다.

구체적인 값의 위치를 ​​알 수 없기 때문에 배열의 처음 메모리부터 순차적으로 확인합니다.우리는하다 선형 검색그것은 알려져있다.

크기가 N인 배열에서 찾고 있는 값이 배열의 앞에 있으면 한 번에 찾을 수 있습니다. N레벨지나갈 것이다.


배열 – 가장 기본적인 데이터 구조 관련 이미지


끼워 넣다

데이터를 배열에 넣는 것은 삽입 작업의 첫 번째 단계입니다.

공백 끝에 삽입하면 삽입 작업을 한 번에 완료할 수 있습니다. 그러나 비어 있지 않은 공백을 삽입하는 것은 어떻습니까?

해당 인덱스를 지우려면 거기에 있는 요소를 뒤로 밀어야 할 뿐만 아니라 해당 인덱스 뒤에 있는 모든 요소를 ​​1개 인덱스 뒤로 밀어야 합니다.

그런 다음 요소를 맨 앞으로 가져오면 배열의 모든 요소가 1 인덱스만큼 뒤로 이동합니다. 단계를 표현할 때 최악의 경우 먼저 배치하고, 단계를 표현하는 것은 크기 N의 배열에 있는 모든 요소를 ​​이동(단계 N) + 배열에 삽입하는 작업(단계 1)입니다. N+1 다양한 단계를 거치게 됩니다.


배열 – 가장 기본적인 데이터 구조 관련 이미지


삭제

삭제는 삽입과 유사한 방식으로 작동합니다.

배열에서 데이터를 가져오는 것이 첫 번째 단계입니다. 그러나 배열의 메모리 주소는 연속적이어야 하므로 삭제로 인해 생긴 빈 공간을 채워야 합니다. 삽입할 때 뒤로 밀면 빼낼 때 앞으로 당겨 틈을 메웁니다.

마지막 요소를 제거하면 1단계로 끝나지만 최악의 경우 앞 요소를 제거하면 배열의 나머지 모든 요소를 ​​앞으로 당겨야 합니다. 가장 앞에 있는 요소를 step으로 삭제하는 경우를 표현하고 크기가 N인 배열에서 삭제된 요소를 제거하고 남은 배열에서 제거(step 1) + N-1개의 요소 이동(step N-1) 건 아니요삭제는 단계적으로 이루어집니다.


결론적으로

이 기사에서는 배열 데이터 구조 작업에 대해 배웠습니다. 간단한 조작이지만 최선을 다해 알아보았는데 잘 전달이 되는지 궁금합니다. 연산별로 최악의 경우를 고려하는 이유는 데이터 구조간 연산의 성능을 비교할 때 가장 시간이 오래 걸리는 경우를 가정하여 비교하기 때문이다.
항상 좋은 글을 쓰도록 노력하겠습니다.
감사해요