>  기사  >  웹 프론트엔드  >  0, 1, 2의 연결 목록을 정렬하는 JavaScript 프로그램

0, 1, 2의 연결 목록을 정렬하는 JavaScript 프로그램

WBOY
WBOY앞으로
2023-09-08 21:05:05770검색

用于对 0、1 和 2 的链接列表进行排序的 JavaScript 程序

이 튜토리얼에서는 0, 1, 2의 연결 목록을 정렬하는 JavaScript 프로그램을 배웁니다. 정렬 알고리즘은 모든 프로그래밍 언어에 필수적이며 JavaScript도 예외는 아닙니다. 0, 1, 2로 구성된 연결 목록을 정렬하는 것은 개발자가 코딩 인터뷰와 실제 애플리케이션에서 직면하는 일반적인 문제입니다.

자바스크립트 프로그래밍을 이용하여 0, 1, 2의 연결리스트를 정렬하는 방법에 대해 알아보겠습니다.

정렬이란 무엇인가요?

정렬은 특정 순서(오름차순 또는 내림차순)로 요소를 정렬하는 프로세스입니다. 이는 컴퓨터 과학의 기본 작업이며 실제 시나리오에서 수많은 응용 프로그램을 가지고 있습니다. 정렬 알고리즘은 효율적인 검색을 위해 데이터를 구성하고, 중복성을 줄이고, 공간 및 시간 복잡성을 최적화하는 데 사용됩니다.

다음은 JavaScript 정렬의 몇 가지 예입니다.

예 1 - 숫자 배열을 오름차순으로 정렬:

으아아아

예 2 - 문자열 배열을 알파벳순으로 정렬:

으아아아

연결리스트란 무엇인가요?

연결된 목록은 포인터로 서로 연결된 노드로 구성된 선형 데이터 구조입니다. 각 노드에는 데이터 요소와 목록의 다음 노드에 대한 참조가 포함되어 있습니다. 연결 목록은 데이터 크기가 자주 변경되는 동적 데이터 구조에서 자주 사용됩니다.

문제 설명

0, 1, 2로 구성된 연결리스트를 순서대로 배열하여 표시하는 것이 목표입니다. 예를 들어 이해해 봅시다:

으아아아

0, 1, 2의 연결 리스트 정렬 알고리즘

카운팅 정렬 알고리즘을 사용하여 0, 1, 2의 연결 목록을 정렬하는 단계 -

1단계 - 연결된 목록의 헤드를 입력으로 사용하는 sortList(head) 함수를 정의합니다.

STEP2 - 모든 요소가 0인 크기 3의 카운트 배열 count[]를 초기화합니다.

3단계 - 연결된 목록을 탐색하고 카운트 배열의 해당 인덱스에 있는 노드 데이터의 카운트를 증가시킵니다.

4단계 - 연결된 목록을 다시 탐색하고 노드 데이터를 0보다 큰 개수의 가장 낮은 인덱스 값으로 바꿉니다.

5단계 - 교체할 때마다 노드 데이터 수를 줄입니다.

6단계 - 정렬 전후에 연결 목록을 인쇄합니다.

이제 JavaScript를 사용하여 구현한 예를 통해 위 알고리즘을 이해해 보겠습니다.

다음 JavaScript 프로그램은 개수 정렬 알고리즘을 사용하여 0, 1, 2가 포함된 연결 목록을 정렬합니다. 알고리즘은 먼저 목록에서 0, 1, 2의 발생 빈도를 계산한 다음 각 값의 개수에 따라 목록의 노드 값을 업데이트합니다.

으아아아

결론

전체적으로 위의 Javascript 프로그램은 계산 기술을 사용하여 0, 1, 2만 포함하는 연결 목록을 정렬하는 효율적인 방법을 보여줍니다. 이 알고리즘은 O(n)의 시간 복잡도와 O(1)의 공간 복잡도를 가지므로 이 특정 정렬 문제에 대한 최적의 솔루션이 됩니다.

위 내용은 0, 1, 2의 연결 목록을 정렬하는 JavaScript 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제