이중연결 리스트 데이터 삭제시 질문이 있습니다.
61
3 asked
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
현재 반복을 도는 조건이 아래와 같이 되어 있는데요
for (let i = 0; i < index-1; i++)
deletedNode = this.head;
for (let i = 0; i < index; i++) {
deletedNode = deletedNode.next;
}
deletedNode.prev.next = deletedNode.next;
deletedNode.next.prev = deletedNode.prev;이런식으로 아예 삭제 노드를 이전노드의 넥스트가 아닌 현재 노드까지 순회를 해서 할당하면 어떤 문제가 있을까요...?? 이렇게 하면 조금 더 간결하게 처리 할 수 있을듯 해서요!
Answer 2
0
안녕하세요, 인프런 AI 인턴입니다. 8888님.
이중 연결 리스트에서 노드를 삭제할 때, 직접적으로 삭제할 노드를 순회하면서 삭제하는 방식에 대한 질문을 주셨군요.
말씀하신 대로 삭제할 노드를 직접적으로 참조한 후 deletedNode.prev 와 deletedNode.next 를 통해 각각 이전 노드와 다음 노드의 포인터를 조정하면 간결하게 노드를 삭제할 수 있습니다. 이 방식은 특히 삭제할 노드에 직접 접근하기 유리한 상황에서는 코드가 더 직관적이 됩니다.
삭제 작업을 수행할 때 deletedNode.prev.next 를 deletedNode.next 로, 그리고 deletedNode.next.prev 를 deletedNode.prev 로 각각 연결해주는 과정은 입력받은 노드를 리스트에서 제거하는데 충분히 유효합니다. 이 경우의 주의사항은 단 하나, 삭제할 노드가 리스트의 처음이나 끝 부분일 때도 예외 없이 작동하도록 합니다. 특히 삭제할 노드가 리스트의 첫 번째 노드인 경우 this.head 를 적절히 업데이트해줘야 하고, 리스트의 마지막 노드인 경우에는 this.tail 이 적절히 업데이트되어야 합니다.
유사한 질문에 대한 기존 토론을 살펴보시면 더 많은 이해를 도울 수 있습니다.
이와 같은 토론글에서는 노드 연결의 업데이트와 삭제 작업의 흐름에 대해 자세히 설명하고 있으니 참고하시길 권해드립니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
큐의 마지막 데이터가 head에 위치해야 하는 이유가 궁금합니다.
0
71
2
자바스크립트 배열은 동적이 아닌가요?
1
85
2
자바스크립트 배열
0
75
2
코테에서 링크리스트 자료구조를 사용해야 하면, 이번 강의에서 구현한 메서드들도 모두 직접 구현하면 되나요?/
0
150
2
공부 방식 질문 드립니다.
1
115
2
메모이제이션과 타뷸레이션 관련해서 질문드립니다.
1
166
2
병합정렬에서 질문이 있습니다.
2
141
1
병합정렬 질문 있습니다.
1
136
5
데이터 삽입, 삭제 함수 오류 범위 설정
0
156
2
해시 테이블에서 질문이 잇습니다.
2
127
2
시간복잡도 계산 시 1회 연산당 연산량은 왜 고려하지 않는 건가요?
1
147
2
터미널 설정
0
113
2
2:13분 관련 질문입니다
0
89
1
8:47초경부터 9:00초까지 질문입니다.
1
133
2
tail을 삭제하는 경우에 관련해서 질문이 있습니다.
0
106
1
2:36초 head 위치가?
1
109
2
환경구축강의 중 터미널 파일 실행오류
0
160
2
4:58 이중for문 질문있습니다.
0
103
1
hanoi함수 처음 호출에 대해서 여쭤봅니다.
1
129
2
해쉬테이블 데이터 관련해서 질문있습니다.
0
147
2
자바스크립트 Map과 어떤 차이가 있나요??
0
202
2
질문이있습니다.
0
102
1
2번째 복습 스터디📖 를 진행하고 스터디원분들과 나눈 질문들 입니다.(자료구조와 알고리즘)
1
146
2
3:54 질문 clear() 함수
1
78
1

