본문 바로가기

패스트캠퍼스 챌린지

패스트캠퍼스 챌린지 7일차

반응형

<학습일기>

Ch 07. 자료구조 - 링크드 리스트-3

4. 링크드 리스트의 복잡한 기능1(링크드 리스트 데이터 사이에 데이터를 추가)
- 링크드 리스트는 유지 관리에 부가적인 구현이 필요함

6. 링크드 리스트의 복잡한 기능2(특정 노드를 삭제)
- 경우의 수를 나누어 주어야한다.
 - 첫번째 노드를 삭제할 때는 다음 노드를 헤드로 설정을 해주어야함.
 - 마지막 노드를 삭제할 때는 그 전 노드의 주소를 null로 바꿔주어야함.
 - 중간 노드를 삭제할 때는 전 노드의 주소를 중간 다음 노드의 주소로 바꾸어 주어야함.
def delete(self, data):
        if self.head=='':
            print("해당값을 가진 노드가 없습니다")
            return
        # 1 head 삭제
        if self.head.data ==data:
            temp=self.head
            self.head = self.head.next
            del temp
        # 2, 3 마지막 노드를 삭제, 중간 노드를 삭제
        else:
            node = self.head
            while node.next:
                if node.next.data == data:
                    temp= node.next
                    node.next = node.next.next
                    del temp
                else:
                    node= node.next # 찾는 노드가 아니라면 다음으로 넘어감.
 
7. 다양한 링크드 리스트 구조
- 더블 링크드 리스트(Doubly linked list)
 - 이중 연결 리스트라고도 함
 - 장점: 양방향으로 연결되어 있어서 노드 탐색이 양쪽으로 모두 가능
 - ex) head --- [이전 데이터 주소, 데이터, 다음 데이터 주소]

 

<수강인증>

강의 수강
실습


*본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.*

https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

 

#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기

#알고리즘기술면접완전정복올인원패키지Online

 
반응형