목록링크드 리스트 (3)
코딩쌀롱
원형 연결 리스트(Circular Linked List) 단일 연결 리스트(Single Linked List)는 마지막 노드가 null을 가리킨다. 이 마지막 노드가 첫 번째 노드를 가리키게 하면 원형 연결 리스트가 된다. 인덱스 0의 위치에 새로운 노드를 삽입하려면 마지막 노드의 링크를 바꿔야 하므로 마지막 노드에 접근하기 위해 리스트의 제일 끝까지 순회해야 하는 문제가 생긴다. head node의 위치를 옮겨서 마지막 노드를 가리키게 하면 문제를 해결할 수 있다. 이를 변형된 원형 연결 리스트라고 한다. ✱제일 앞에 새로운 노드 추가하기 autumn, dico, kyle, beemo 네 노드가 있고, head node는 마지막 노드인 beemo이다. 이 원형 연결 리스트에 eve라는 새로운 노드를 제..
문제 LeetCode 83. Remove Duplicates from Sorted List 문제 input: 싱글 링크드 리스트의 head node output: 중복 val인 노드들을 제거한 링크드 리스트의 head node // Definition for singly-linked list. function ListNode(val, next) { this.val = (val===undefined ? 0 : val) this.next = (next===undefined ? null : next) } 노드들은 val, next 속성을 가지고 있다. 나의 풀이 while문 마지막에 현재 노드를 다음 노드로 바꿔주고, 현재 노드가 끝까지 가서 null일 때 while문을 더 이상 돌지 않게 했다. ✱바깥 wh..
배열과 링크드 리스트의 비교에서 싱글 링크드 리스트라는 전제 하에 작성하였습니다. 링크드 리스트(Linked List) 메모리는 데이터 조각을 저장하는 셀들의 거대한 집합 같은 형태로 이루어져 있다. 배열 - 연속된 빈 셀 그룹에 데이터를 저장 링크드 리스트 - 인접하지 않은 메모리 셀 묶음 링크드 리스트는 메모리 전체에 걸쳐 여러 셀에 퍼져 있을 수 있다. 링크드 리스트가 배열보다 나은 점 중 하나로 프로그램이 데이터를 저장하기 위해 메모리 내에 나란히 이어진 빈 셀 묶음을 찾을 필요가 없다는 것이다. 프로그램은 서로 인접하지 않은 여러 셀에 걸쳐 데이터를 저장할 수 있다. 링크드 리스트의 서로 인접하지 않은 이러한 셀을 '노드'라고 한다. 각 노드는 노드에 저장된 데이터뿐만 아니라 연결 리스트 내에 ..