목차
입출력 예시
이진 검색
질문
정렬된 정수 배열 arr = [1, 3, 5, 7, 9, 11]이 있는 경우 이진 검색을 사용하여 요소의 인덱스(예: 키 = 7)를 찾습니다.
Example
이 예에서는 이진 검색 알고리즘을 사용하여 값의 세제곱근을 찾습니다. 우리는 사용자 정의 클래스 'BinarySearchCbrt'를 생성하고 'cuberoot' 함수에서 숫자의 세제곱근을 찾기 위한 이진 검색 코드를 구현했습니다. 이제 사용자 정의 클래스 객체를 생성하고 'number'라는 정수 변수를 초기화한 후, 클래스 객체를 사용하여 'cuberoot' 함수를 호출하면 원하는 출력이 표시됩니다.
시간 복잡도: O(NlogN) 보조 공간: O(1)
Java java지도 시간 이진 검색 알고리즘을 사용하여 숫자의 세제곱근을 찾는 Java 프로그램

이진 검색 알고리즘을 사용하여 숫자의 세제곱근을 찾는 Java 프로그램

Aug 28, 2023 pm 01:33 PM
자바 프로그램 입방근 이진 검색

이진 검색 알고리즘을 사용하여 숫자의 세제곱근을 찾는 Java 프로그램

큐브 루트는 이 값을 연속으로 세 번 곱하면 원래 값이 되는 정수 값입니다. 이 기사에서는 이진 검색을 사용하여 숫자의 세제곱근을 찾는 Java 프로그램을 작성합니다. 숫자의 세제곱근을 찾는 것은 이진 검색 알고리즘을 적용한 것입니다. 이 기사에서는 이진 검색을 사용하여 세제곱근을 계산하는 방법을 자세히 설명합니다.

입출력 예시

으아아아

예를 들어 64의 세제곱근은 4이고 출력은 4입니다.

으아아아

예를 들어 216의 세제곱근은 6이고 출력값은 6입니다.

이진 검색

이진 검색은 요소(예: 정렬된 배열의 키)를 찾는 데 사용되는 알고리즘입니다. 바이너리 알고리즘은 다음과 같이 작동합니다

  • 배열이 "arr"이라고 가정합니다. 배열을 오름차순 또는 내림차순으로 정렬합니다.

  • 낮음 = 0, 높음 = n-1(n = 요소 수)을 초기화하고 mid를 중간 = 낮음 + (높음-낮음)/2로 계산합니다. arr[middle] == key이면 배열의 중간 인덱스인 middle을 반환합니다.

  • 키 값이 arr[middle] 요소보다 작으면 높은 인덱스를 중간 인덱스 -1로 설정하고, 키 값이 중간 요소보다 크면 낮은 인덱스를 중간 인덱스 +1로 설정합니다.

  • 찾고 싶은 요소를 찾을 때까지 이진 검색을 계속하세요.
  • 낮음이 높음보다 큰 경우 'arr' 배열에 키 값이 없기 때문에 false를 직접 반환합니다.
  • 이진 검색을 사용하여 키를 찾는 예

질문

정렬된 정수 배열 arr = [1, 3, 5, 7, 9, 11]이 있는 경우 이진 검색을 사용하여 요소의 인덱스(예: 키 = 7)를 찾습니다.

솔루션

    low = 0 및 high = 5(배열의 마지막 인덱스)를 초기화합니다.
  • while 루프의 첫 번째 반복은 중간 인덱스 mid = low+(high-low)/2
  • 를 제공합니다.

  • 중앙값 = 0+(5-0)/2 = 2.
  • arr[mid] 값은 5로 키 값 7보다 작습니다. 따라서 low= mid+1 = 3으로 업데이트합니다.
  • while 루프의 두 번째 반복에서는 low+(high-low)/2를 사용하여 중간 인덱스 mid = 4를 제공합니다.
  • arr[mid] 값은 9로, 키 값 7보다 큽니다. 따라서 high = 3(mid - 1)을 업데이트합니다.
  • while 루프의 세 번째 반복은 중간 인덱스 mid = 3을 제공합니다.
  • arr[mid]는 7이며 키 값과 같습니다. 따라서 중간 인덱스인 3을 반환합니다.
  • 그래서 주어진 배열에서 키의 인덱스는 7이고 이진 검색 알고리즘을 사용하여 인덱스 3을 찾았습니다.
  • 이진 검색을 사용하여 입방체 근을 찾는 알고리즘

1단계

- 숫자 'n'을 고려하고 low=0 및 right=n(주어진 숫자)을 초기화합니다.

2단계

- mid = low + (high-low)/2를 사용하여 낮은 값과 높은 값의 중앙값을 구합니다.

3단계

− mid * mid * mid 값을 구하고, mid * mid * mid == n인 경우 mid 값을 반환합니다.

4단계

- 중간 값이 n보다 작으면 낮음=중간+1, 그렇지 않으면 높음=중간-1

5단계

- 값을 찾을 때까지 2~4단계를 반복합니다. Example

의 중국어 번역은

Example

입니다.

이 예에서는 이진 검색 알고리즘을 사용하여 값의 세제곱근을 찾습니다. 우리는 사용자 정의 클래스 'BinarySearchCbrt'를 생성하고 'cuberoot' 함수에서 숫자의 세제곱근을 찾기 위한 이진 검색 코드를 구현했습니다. 이제 사용자 정의 클래스 객체를 생성하고 'number'라는 정수 변수를 초기화한 후, 클래스 객체를 사용하여 'cuberoot' 함수를 호출하면 원하는 출력이 표시됩니다.

으아아아

출력

으아아아

시간 복잡도: O(NlogN) 보조 공간: O(1)

그래서 이 글에서는 Java에서 이진 검색 알고리즘을 사용하여 숫자의 세제곱근을 찾는 방법에 대해 논의했습니다.

위 내용은 이진 검색 알고리즘을 사용하여 숫자의 세제곱근을 찾는 Java 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. 크로스 플레이가 있습니까?
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Java 프로그램이 명령 프롬프트를 열고 명령을 삽입합니다. Java 프로그램이 명령 프롬프트를 열고 명령을 삽입합니다. Aug 19, 2023 pm 12:29 PM

이 글에서는 열린 명령 창에 삽입된 명령을 선택하기 위한 다양한 접근 방식을 Java 코드를 통해 사용합니다. 명령 창은 'cmd'를 사용하여 열립니다. 여기서 동일한 작업을 수행하는 방법은 Java 코드를 사용하여 지정합니다. 명령 창은 먼저 Java 프로그램을 사용하여 열립니다.

TPP 학생이 인터뷰에 적합한지 확인하는 데 사용되는 Java 프로그램 TPP 학생이 인터뷰에 적합한지 확인하는 데 사용되는 Java 프로그램 Sep 06, 2023 pm 10:33 PM

다양한 회사의 자격 기준을 알아보려면 아래 표를 고려하십시오. CGPA의 중국어 번역은 다음과 같습니다. GPA 이상 8개 적격 회사 Google, Microsoft, Amazon, Dell, Intel, Wipro 7개 튜토리얼 포인트 이상, Accenture, Infosys , Emicon, Rellins 6rtCamp 이상, Cybertech, Skybags, Killer, Raymond 5Patronics 이상, Shoes, NoBrokers tpp 학생들의 면접 적격성을 확인하기 위해 Java 프로그램을 입력해 보겠습니다. 방법 1: ifelseif 조건 사용 일반적으로 여러 조건을 확인해야 할 때 사용합니다.

주어진 파일의 크기를 바이트, 킬로바이트, 메가바이트 단위로 가져오는 Java 프로그램 주어진 파일의 크기를 바이트, 킬로바이트, 메가바이트 단위로 가져오는 Java 프로그램 Sep 06, 2023 am 10:13 AM

파일 크기는 하드 드라이브와 같은 특정 저장 장치에서 특정 파일이 차지하는 저장 공간의 양입니다. 파일 크기는 바이트 단위로 측정됩니다. 이 섹션에서는 주어진 파일의 크기를 바이트, 킬로바이트, 메가바이트 단위로 가져오는 Java 프로그램을 구현하는 방법에 대해 설명합니다. 바이트는 디지털 정보의 가장 작은 단위입니다. 1바이트는 8비트와 같습니다. 1킬로바이트(KB) = 1,024바이트, 1메가바이트(MB) = 1,024KB, 1기가바이트(GB) = 1,024MB, 1테라바이트(TB) = 1,024GB입니다. 파일 크기는 일반적으로 파일 유형과 포함된 데이터 양에 따라 달라집니다. 텍스트 문서를 예로 들면, 파일 크기는 몇 킬로바이트에 불과한 반면, 고해상도 이미지나 비디오 파일은

클래스 개념을 사용하여 직사각형의 면적과 둘레를 계산하는 Java 프로그램을 작성하세요. 클래스 개념을 사용하여 직사각형의 면적과 둘레를 계산하는 Java 프로그램을 작성하세요. Sep 03, 2023 am 11:37 AM

Java 언어는 오늘날 전 세계에서 가장 일반적으로 사용되는 객체 지향 프로그래밍 언어 중 하나입니다. 클래스 개념은 객체지향 언어의 가장 중요한 특징 중 하나입니다. 클래스는 객체의 청사진과 같습니다. 예를 들어, 집을 짓고 싶을 때 우리는 먼저 집의 청사진을 만듭니다. 즉, 집을 어떻게 지을 것인지를 보여주는 계획을 만듭니다. 이 계획에 따르면 우리는 많은 집을 지을 수 있습니다. 마찬가지로 클래스를 사용하면 많은 객체를 만들 수 있습니다. 클래스는 자동차, 자전거, 펜 등과 같은 실제 개체인 많은 개체를 만들기 위한 청사진입니다. 클래스는 모든 객체의 특성을 가지며, 객체는 이러한 특성의 값을 갖습니다. 이 기사에서는 클래스 개념을 사용하여 직사각형의 둘레와 면을 찾는 Java 프로그램을 작성합니다.

상속된 Java 프로그램을 사용하여 정기예금(FD) 및 정기예금(RD)에 대한 이자를 계산합니다. 상속된 Java 프로그램을 사용하여 정기예금(FD) 및 정기예금(RD)에 대한 이자를 계산합니다. Aug 20, 2023 pm 10:49 PM

상속은 한 클래스의 속성과 동작을 다른 클래스에서 액세스할 수 있게 해주는 개념입니다. 메서드와 멤버 변수를 상속하는 클래스를 슈퍼클래스 또는 부모 클래스라고 하며, 이러한 메서드와 멤버 변수를 상속하는 클래스를 하위 클래스 또는 하위 클래스라고 합니다. Java에서는 클래스를 상속하기 위해 "extends" 키워드를 사용합니다. 이 기사에서는 상속을 사용하여 정기 예금과 정기 예금에 대한 이자를 계산하는 Java 프로그램에 대해 설명합니다. 먼저 로컬 시스템 IDE에서 네 개의 Java 파일(Acnt.java)을 생성합니다. 이 파일에는 이자율 및 금액과 같은 계정 세부 정보를 저장하는 데 사용되는 추상 클래스 'Acnt'가 포함됩니다. 또한 계산을 위한 매개변수 'amnt'가 있는 추상 메소드 'calcIntrst'도 있습니다.

C#을 사용하여 이진 검색 알고리즘을 작성하는 방법 C#을 사용하여 이진 검색 알고리즘을 작성하는 방법 Sep 19, 2023 pm 12:42 PM

C#을 사용하여 이진 검색 알고리즘을 작성하는 방법 이진 검색 알고리즘은 O(logN)의 시간 복잡도로 정렬된 배열에서 특정 요소의 위치를 ​​찾는 효율적인 검색 알고리즘입니다. C#에서는 다음 단계를 통해 이진 검색 알고리즘을 작성할 수 있습니다. 1단계: 데이터 준비 먼저 검색할 대상 데이터로 정렬된 배열을 준비해야 합니다. 배열에서 특정 요소의 위치를 ​​찾고 싶다고 가정해 보겠습니다. int[]데이터={1,3,5,7,9,11,13

로마숫자를 정수로 변환하는 JAVA 프로그램 로마숫자를 정수로 변환하는 JAVA 프로그램 Aug 25, 2023 am 11:41 AM

로마 숫자 - 기호를 사용하여 숫자를 나타내는 고대 로마 시스템을 기반으로 합니다. 이 숫자를 로마 숫자라고 합니다. 기호는 I, V, X, L, C, D 및 M이며 각각 1, 5, 10, 50, 100, 500 및 1,000을 나타냅니다. 정수 - 정수는 양수, 음수 및 0 값으로 구성된 정수입니다. 분수는 정수가 아닙니다. 여기서는 정수 값을 기준으로 기호 값을 설정합니다. 로마 숫자가 입력될 때마다 이를 단위로 나눈 다음 적절한 로마 숫자를 계산합니다. I-1II–2III–3IV–4V–5VI–6…X–10XI–11..XV-15 이 기사에서는 Java에서 로마 숫자를 정수로 변환하는 방법을 알아봅니다. 몇 가지 예를 보여주세요 - 예 1InputR

피라미드와 패턴을 생성하는 Java 프로그램 피라미드와 패턴을 생성하는 Java 프로그램 Sep 05, 2023 pm 03:05 PM

Java 프로그래밍 언어의 탄탄한 기초를 얻고 싶은 분. 그런 다음 루프가 어떻게 작동하는지 이해해야 합니다. 또한 피라미드 패턴 문제를 해결하는 것은 for 및 while 루프의 광범위한 사용을 포함하므로 Java 기본 지식을 향상시키는 가장 좋은 방법입니다. 이 기사의 목적은 Java에서 사용할 수 있는 다양한 유형의 루프를 사용하여 피라미드 패턴을 인쇄하는 일부 Java 프로그램을 제공하는 것입니다. 피라미드 패턴을 생성하는 Java 프로그램 Java 프로그램을 통해 다음과 같은 피라미드 패턴을 인쇄해 보겠습니다. - Inverted Star Pyramid Star Pyramid Number Pyramid 하나씩 논의해 보겠습니다. 모드 1: 역별 피라미드 방법은 지정된 행 수로 정수 "n"을 선언하고 초기화합니다. 다음으로 공간의 초기 개수를 0으로, 별의 초기 개수를 "n+"으로 정의합니다.

See all articles