>  기사  >  Java  >  우선순위 대기열

우선순위 대기열

王林
王林원래의
2024-07-20 09:01:101018검색

힙을 사용하여 우선순위 대기열을 구현할 수 있습니다. 일반 큐는 선입선출(FIFO) 방식의 데이터 구조입니다. 요소는 대기열 끝에 추가되고 처음부터 제거됩니다. 우선순위 대기열에서는 요소에 우선순위가 할당됩니다. 요소에 액세스할 때 우선순위가 가장 높은 요소가 먼저 제거됩니다. 예를 들어, 병원의 응급실에서는 환자에게 우선순위 번호를 할당합니다. 우선순위가 높은 환자를 우선 진료합니다.

힙을 사용하여 우선순위 큐를 구현할 수 있습니다. 여기서 루트는 큐에서 우선순위가 가장 높은 객체입니다. 힙은 힙 정렬에 도입되었습니다. 우선순위 큐의 클래스 다이어그램은 아래 그림에 나와 있습니다. 구현은 아래 코드에 나와 있습니다.

Image description

Image description

아래 코드는 환자 우선 대기열을 사용하는 예를 보여줍니다. Patient 클래스는 21~38행에 정의되어 있습니다. 6~9행에서는 관련 우선순위 값을 사용하여 4명의 환자가 생성됩니다. 8번째 줄은 우선순위 큐를 생성합니다. 환자는 12~15행에 대기열에 추가됩니다. 18번 라인은 대기열에서 환자를 제거합니다.

Image description

신디(우선순위:7) 팀(우선순위:5) 존(우선순위:2) 짐(우선순위:1)

위 내용은 우선순위 대기열의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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