> 백엔드 개발 > C++ > 본문

O(1) 시간에 최소값 또는 최대값을 얻기 위해 큐 데이터 구조를 설계합니다.

PHPz
풀어 주다: 2023-09-10 14:33:02
앞으로
1003명이 탐색했습니다.

O(1) 시간에 최소값 또는 최대값을 얻기 위해 큐 데이터 구조를 설계합니다.

C++에는 스택 및 큐의 속성을 처리하기 위한 deque 헤더 파일이 있습니다. 데이터 구조에서 O(1) 시간 복잡도 문제를 해결하려면 일정한 시간이 필요합니다. 이 프로그램에서 deque를 사용하면 스택과 큐를 모두 사용하는 이점을 얻을 수 있습니다.

이 기사에서는 O(1) 시간 내에 숫자의 최소값 또는 최대값을 얻기 위해 대기열 데이터 구조를 해결합니다.

문법

으아아아

매개변수

  • deque - 이를 deque라고 하며 대기열에 해당하는 일련의 항목 또는 숫자를 주문합니다.

  • data_type - int, float 등 사용되는 데이터 유형입니다.

  • name_of_queue - ab, cd 등과 같이 대기열에 지정된 이름입니다.

으아아아

front()는 큐의 첫 번째 인덱스 위치를 직접 참조하는 C++ STL의 사전 정의된 함수입니다.

으아아아

back()은 큐의 마지막 인덱스 위치를 직접 참조하는 C++ STL의 사전 정의된 함수입니다.

으아아아

push_back()은 뒤에서 요소를 삽입하기 위해 미리 정의된 함수이기도 합니다.

알고리즘

  • 헤더 파일 'iostream''deque'을 사용하여 프로그램을 시작합니다.

  • 숫자의 최대값 또는 최소값을 처리하기 위해 deque에 삽입합니다.

    • "dequedq" - 이를 사용하여 스택과 큐의 속성을 활성화할 수 있습니다

  • for 루프부터 시작하여 10에서 15 범위의 요소를 삽입합니다. 그런 다음 'i'를 인수로 받아들이는 'push_back[i ]'라는 for 루프를 사용하여 배열 요소를 푸시합니다.

  • 그런 다음 사전 정의된 함수 front()back()을 사용하여 두 개의 변수를 만들어 숫자의 최소값과 최대값을 찾습니다. front()는 가장 작은 숫자를 나타내는 첫 번째 인덱스를 찾고, back()은 가장 큰 숫자를 나타내는 마지막 인덱스를 찾습니다.

  • 이제 우리는 for 루프를 초기화하여 인덱스 번호 길이를 반복하고 해당 길이를 사용하여 가장 작은 요소와 가장 큰 요소의 비교를 'dq[i]'로 분류합니다. 그러면 최소값과 최대값이 검색됩니다.

  • 마지막으로 'min_element''max_element' 변수를 사용하여 최소 및 최대 길이의 출력을 인쇄합니다.

    李>

이 프로그램에서는 큐 데이터 구조를 풀어 O(1) 시간에 최소값과 최대값을 얻습니다.

으아아아

출력

으아아아

결론

우리는 가장 작거나 가장 큰 요소를 찾기 위해 큐 데이터 구조의 개념을 탐구했습니다. front()와 back()을 사용하여 요소의 최소값과 최대값을 찾는 방법과 인덱스된 요소의 끝에 푸시백을 추가하는 방법을 살펴보았습니다. Deque를 사용하면 O(1) 시간 복잡도로 문제를 처리할 수 있습니다.

위 내용은 O(1) 시간에 최소값 또는 최대값을 얻기 위해 큐 데이터 구조를 설계합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!