JS 알고리즘 15일차 - 이중 연결 리스트(push, pop)


JS 알고리즘 15일차 - 이중 연결 리스트(push, pop)

이중 연결 리스트란? 인덱스가 없다. 따라서 숫자나 인덱스를 사용해서 무작위 접근을 할 수 없다. 헤드와 테일이 존재한다. 리스트에 있는 모든 노드들은 앞으로 가는 포인터도 있고 뒤로 가는 포인터도 있다. 메모리 사용이 많다. Push 소개 가장 뒤에 요소를 추가한다. 의사코드 값을 가지는 새로운 노드를 만든다. 헤드가 null인지, 혹은 길이가 0인지 확인한다. 만약 리스트가 비어있다면 헤드와 테일 모두가 새로 만든 노드로 설정되어야 한다. 리스트가 비어있지 않다면 현재 테일을 찾아 테일의 next 프로퍼티를 새로운 노드로 설정해줘야 한다. 새로 만든 노드의 prev 프로퍼티를 이전 tail로 설정해준다. tail 프로퍼티를 새로운 노드로 변경해준다. 마지막으로 길이를 1 증가시킨다. 코드 class Node { constructor(val) { this.val = val; this.next = null; this.prev = null; } } class DoublyLinkedLi...


#JavaScript #pop #push #알고리즘 #연결리스트 #이중연결리스트 #자료구조

원문링크 : JS 알고리즘 15일차 - 이중 연결 리스트(push, pop)