>  기사  >  웹 프론트엔드  >  노드에 연결리스트 구조가 있나요?

노드에 연결리스트 구조가 있나요?

WBOY
WBOY원래의
2022-07-04 16:11:251461검색

노드에는 연결된 목록 구조가 있습니다. 연결된 목록은 데이터를 저장하기 위한 구조입니다. 파일 쓰기 가능 스트림 방식이 작동할 때 작성된 일부 콘텐츠는 캐시 영역에 대기해야 하며 선입선출 방식을 따릅니다. 규칙. 대기열에 있는 데이터를 저장하기 위해 새 버전의 노드는 연결된 목록 구조를 사용하여 이 데이터를 저장합니다.

노드에 연결리스트 구조가 있나요?

이 문서의 운영 환경: Windows 10 시스템, nodejs 버전 12.19.0, Dell G3 컴퓨터.

노드는 연결리스트 구조를 가지고 있습니다.

연결리스트는 데이터를 저장하는 구조입니다.

파일 쓰기 가능 스트림의 쓰기 방법이 작동할 때 일부 작성된 콘텐츠는 버퍼의 대기열에 있어야 하며 선입선출 규칙을 따릅니다.

대기열에 있는 데이터를 저장하기 위해 새 버전의 Node에서는 연결된 목록 구조를 사용하여 이 데이터를 저장합니다.

배열을 사용하여 데이터를 저장하는 것은 어떨까요?

연결된 목록 구조와 비교할 때 배열에는 몇 가지 명백한 단점이 있습니다.

많은 언어에서 배열에 저장된 데이터의 길이에는 상한이 있습니다.

배열은 축소 문제가 있으며 요소를 삽입하거나 삭제할 때 이동할 수 있습니다. 다른 요소의 위치

JavaScript에서 배열은 실제로 객체 유형이므로 사용 효율성이 낮습니다.

위의 단점은 연결 목록과 비교했을 뿐 실제 사용에서는 배열 구조가 여전히 매우 강력합니다.

Linked list

Linked list는 일련의 노드로 구성된 모음입니다.

각 노드에는 다음 노드 참조를 가리키는 속성(next)이 있습니다.

이러한 참조를 다음 노드에 결합하면 체인이 형성됩니다.

공통 연결 리스트 분류

이중 연결 리스트: 가장 일반적으로 사용되며 쿼리 속도가 더 빠릅니다

단일 연결 리스트: 이 예에서는 쓰기 방법에 충분한 단방향 연결 리스트에 대해 설명합니다. 쓰기 가능한 스트림

원형 연결 목록

단방향 연결 목록 구조

노드에 연결리스트 구조가 있나요?

연결 목록 구조는 실제로 헤드, null, 중간 노드 노드라는 세 가지 객체를 저장하는 컨테이너입니다.

노드 노드에는 다음 노드 노드를 가리키는 다음 속성이 있습니다.

동시에 노드 노드에는 현재 노드 노드의 특정 데이터를 저장하는 데 사용되는 요소 속성도 있습니다.

head는 첫 번째 노드를 가리키고 다음이 가리키는 순서대로 다음이 null을 가리키는 마지막 노드까지 전달됩니다.

기본적으로 연결된 목록은 비어 있고(head = null) 노드가 없습니다.

이중 연결 리스트라고 불리는 것은 각 노드에 prev와 유사한 속성을 추가하여 이전 노드를 가리키는 것입니다.

원형 연결 리스트는 머리 노드와 꼬리 노드를 연결합니다.

연결된 목록의 역할

연결된 목록의 출현은 주로 데이터를 저장하는 데 사용됩니다.

이 함수는 배열과 유사하므로 연결 목록의 일반적인 작업은 데이터 추가, 삭제, 수정, 쿼리 및 지우기와 같은 작업입니다.

연결된 목록 구조를 만들 때 직접 구현해야 합니다.

단방향 연결 목록 구현

파일 쓰기 가능 스트림을 사용자 정의할 때 대기열에 추가하고 작성해야 하는 데이터를 저장하려면 단방향 연결 목록 구조 구현을 마스터하세요.

연결된 목록 구조에는 노드, 헤드, null이 포함됩니다.

기본 연결 목록은 비어 있습니다. 즉, 헤드는 null을 가리킵니다.

연결된 목록의 동작은 배열과 유사하므로 기록할 속성이 있어야 합니다. 노드 수: size

각 노드에는 하나가 있어야 합니다. 속성은 다음 데이터를 가리킵니다: next

노드 자체도 저장할 속성을 사용하여 데이터를 저장합니다: element

연결된 목록 구조를 사용하는 동작은 일반적으로 다음과 같습니다. 추가, 삭제, 수정, 쿼리, 삭제

추천 학습: "nodejs video Tutorial

위 내용은 노드에 연결리스트 구조가 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.