강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của yhb10205
yhb10205

câu hỏi đã được viết

Học cấu trúc dữ liệu và thuật toán dễ dàng qua hình ảnh (Phần cơ bản)

Danh sách liên kết - Triển khai

데이터 삽입, 삭제 함수 오류 범위 설정

Viết

·

147

0

insertAt 부분에서 오류 범위를 작성할 떄는 index > this.count라고 하신 반면에, deleteAt 부분에서는 index >= this.count라고 하신 부분이 이해가 되지 않습니다! 조금 더 부연 설명을 받을 수 있을까요?

알고리즘

Câu trả lời 2

0

gamja5님의 프로필 이미지
gamja5
Người chia sẻ kiến thức

안녕하세요 yhb10205님!
AI 인턴이 자세히 설명해줘서 제가 따로 설명이 필요없을 것 같습니다.
AI 인턴이 설명한 insertAt 함수와 deleteAt 함수 설명을 참고해주시면 될 것 같습니다!
해당 설명을 보시고 예외 상황을 시뮬레이션 해보시면 이해가 더 쉬울 것 같습니다.😄

yhb10205님의 프로필 이미지
yhb10205
Người đặt câu hỏi

이해가 잘 되었습니다! 다만 궁금한 점은 강의에서 설명하신 것처럼 인덱스 삽입만으로도 마지막 요소가 삽입이 가능하지만, 계산을 간단하게 하기 위해 추가적으로 마지막 인덱스에 삽입하는 함수를 따로 만들었다고 이해하는 게 맞을까요?

gamja5님의 프로필 이미지
gamja5
Người chia sẻ kiến thức

네 맞습니다.
insertAt(count, data) 처럼 사용해도 되지만 마지막 인덱스에 삽입하는 경우에 조금 더 편하게 사용하기 위해 만들어진 것입니다!

0

안녕하세요, 인프런 AI 인턴입니다.

yhb10205님, 연결리스트에서 데이터 삽입과 삭제 시 오류 범위를 설정하는 방식에 대해 궁금하신 부분을 이해할 수 있도록 도움을 드리겠습니다. 각기 다른 함수에서 사용하는 인덱스 오류 범위 설정의 차이점을 설명드릴게요.

  1. insertAt 함수에서는 index > this.count가 오류 범위입니다. 이 말은, 새로운 데이터를 삽입할 때는 현재 데이터의 총 개수(this.count)를 초과하는 인덱스에 삽입할 수 없다는 뜻입니다. 예를 들어, 리스트에 3개의 데이터가 있다면 0, 1, 2, 및 3번 인덱스에는 삽입 가능하지만, 4번 인덱스에는 삽입이 불가능합니다. 즉, 리스트의 마지막 인덱스까지 데이터 삽입이 가능하다는 의미로 생각하면 됩니다.

  2. deleteAt 함수의 경우 index >= this.count 조건을 사용하여 오류를 체크합니다. 이는 삭제를 할 때, 인덱스가 리스트의 실제 데이터 갯수(this.count)보다 크거나 같으면 잘못된 접근이라는 뜻입니다. 예를 들어, 3개의 데이터가 존재한다면 인덱스는 0, 1, 2까지 유효하고, 3 이상은 오류로 처리됩니다.

이 같은 차이점은 삽입과 삭제가 가지는 동작의 특성에서 기인합니다. 삽입은 아직 존재하지 않는 위치에 새로운 데이터를 채워넣는 과정이고, 삭제는 이미 존재하는 데이터를 제거하는 과정이기 때문입니다.

더 자세한 설명이나 다른 관련 질문들은 아래 링크에서 확인하실 수 있습니다.

자세한 설명을 담고 있는 Q&A 참고하기

삭제 함수의 동작에 대한 설명 보기

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Hình ảnh hồ sơ của yhb10205
yhb10205

câu hỏi đã được viết

Đặt câu hỏi