본문 바로가기
반응형

연결리스트2

[JavaScript] ListNode (연결리스트 - linked list) 코딩테스트 문제를 풀다보니 ListNode를 사용해야하는 문제를 접하게 되어 다시 정리할 겸 포스팅하려 합니다. ListNode란? 자바스크립트에서 ListNode란 연결 리스트(linked list)의 기초 구성 요소인 노드(node)를 의미해요. 연결 리스트는 배열과 마찬가지로 선형적인 데이터를 다루지만, 배열과는 구조가 다르다. 각 노드는 데이터와 다음 노드를 가리키는 포인터(또는 참조)를 포함하고, 메모리에서 연속적인 위치를 차지하지 않아, 덕분에 데이터의 삽입과 삭제가 효율적이지만, 특정 요소를 검색할 때는 배열보다 느릴 수 있다. ListNode 구현하기 Node 클래스: 데이터와 다음 노드를 가리키는 포인터를 속성으로 가지는 간단한 클래스입니다. class Node { constructor(.. 2024. 3. 7.
[Javascript] 자료구조 - 배열(Array)과 리스트(List) 배열(Array) 가장 기본적인 자료구조 여러개의 변수를 담는 공간 배열은 인덱스(index)가 존재, 인덱스는 0부터 시작 특정한 인덱스에 직접 접근 가능 -> 수행시간: O(1) 배열의 특징 컴퓨터의 메인메모리에서 배열의 공간은 연속적으로 할당 장점: 캐시 히트 가능성이 높으며 조회가 빠르다. 단점: 배열의 크기를 미리 지정해야하는것이 일반적이므로, 데이터의 추가 및 삭제에 한계가 있다. 연결 리스트(Linked List) 연결 리스트는 컴퓨터의 메인 메모리상에서 주소가 연속적이지 않다. 배열과 다르게 크기가 정해져있지 않고, 리스트의 크기는 동적으로 변경 가능 장점: 포인터(pointer)를 통해 다음 데이터의 위치를 가리킨다는 점에서 삽입과 삭제가 간편하다. 단점: 특정 번째의 원소를 검색 할 때.. 2023. 11. 23.
반응형