찾다
컴퓨터 튜토리얼컴퓨터 지식재귀 알고리즘을 사용하여 Java 이진 검색을 구현하는 방법

Java에서 이진 검색의 재귀 알고리즘을 구현하는 방법

공개 클래스 이진 재귀 검색 {

public static void main(String[] args)은 Java 프로그램의 진입점이자 프로그램 실행의 시작 위치입니다. 이 방법을 사용하면 프로그램의 주요 로직과 기능을 작성할 수 있습니다. 이 메소드는 JVM(Java Virtual Machine)에 의해 호출되고 실행되기 전에 특정 형식으로 정의되어야 합니다. 기본 메소드의 매개변수 목록에서 args는 명령줄 매개변수를 수신하는 데 사용할 수 있는 문자열 배열입니다. main 메소드에 코드를 작성하여 출력, 계산, 루프, 조건부 판단 등 다양한 기능을 구현할 수 있습니다.

//배열을 정의하세요. 이진 검색 배열은 순서가 지정된 배열이어야 합니다!

int[] arr = { 1, 3, 5, 7, 9, 11, 13, 15, 17 }; 9개 요소를 포함하는 정수 배열의 선언 및 초기화 문입니다. 각 요소의 값은 1, 3, 5, 7, 9, 11, 13, 15, 17입니다. 이런 방식으로 arr이라는 정수 배열을 만들고 여기에 초기값을 할당합니다. 후속 프로그램에서는 이 배열을 사용하여 검색, 정렬 및 계산과 같은 다양한 작업을 수행할 수 있습니다

//검색 후 반환 값을 수락합니다. 인덱스 값, 그렇지 않은 경우 -1입니다.

//찾기 요소 테스트: 9

int a = 바이너리 검색(arr, 9, 0, arr.length - 1);

System.out.println("검색 중인 숫자의 인덱스 위치: " + a);

}

//매개변수 목록은 검색할 배열, 검색할 숫자, 헤드 인덱스, 테일 인덱스 순서입니다!

public static int bin(int[] arr, int key, int start, int end) // 재귀

{

//들어올 때마다 중간 인덱스 값으로 생성됩니다!

int mid = (별 + 끝) / 2;

찾으려는 숫자가 시작 인덱스보다 작거나 끝 인덱스보다 크거나, 시작 인덱스가 끝 인덱스보다 크면 해당 숫자가 존재하지 않는다는 의미이며 -1이 반환됩니다.

if (키 arr[end] || 시작 > 끝) {

반품 -1;

}

//가운데 값이 검색 중인 숫자보다 작을 경우 헤더 인덱스를 재정의하여 중간 +1 위치로 이동시켜 숫자의 절반이 걸러질 수 있도록 해주세요!

if (arr[mid]

//재귀를 시작하세요!

return binary(arr, key, mid + 1, end) // 배열의 후반부에서 이진 검색을 계속합니다

//그렇지 않고 중간 값이 검색 중인 숫자보다 큰 경우 꼬리 인덱스를 다시 중간 위치인 -1로 이동하여 숫자의 절반을 필터링할 수 있습니다!

} else if (arr[mid] > key) {

//재귀를 시작하세요!

바이너리 반환(arr, key, start, mid - 1);

} 그 외 {

//찾지 못하면 색인으로 돌아갑니다!

중반납;

}

}

}

재귀 알고리즘을 사용하여 Java 이진 검색을 구현하는 방법

전문 프로그래밍 JAVA 언어는 재귀 알고리즘과 1 2 3 4 100 또는 11 13 15

첫 번째 질문:

공개 수업 CalSum {

public static void main(String[] args)은 Java 프로그램의 진입점이자 프로그램 실행의 시작 위치입니다. 이 방법을 사용하면 프로그램의 주요 로직과 기능을 작성할 수 있습니다. 이 메소드는 JVM(Java Virtual Machine)에 의해 호출되고 실행되기 전에 특정 형식으로 정의되어야 합니다. 기본 메소드의 매개변수 목록에서 args는 명령줄 매개변수를 수신하는 데 사용할 수 있는 문자열 배열입니다. Main 메소드에 코드를 작성하여 출력, 계산, 루프, 조건부 판단 등 다양한 기능을 구현할 수 있습니다.

{

CalSum calSum = 새로운 CalSum();

int result = calSum.calculate(100); // calSum 객체의 계산 메소드를 호출하고 매개변수 100을 전달한 후 결과를 결과 변수에 할당합니다.

System.out.println("1+2+3+...+100의 합은 다음과 같습니다." + result);

}

공개 정수 계산(정수)

{

int 결과 = 0;

if(숫자 == 1)

{

결과 = 1;

}

그밖에

{

result = number +calculate(number - 1); 결과는 현재 숫자와 숫자-1의 반환 값을 더한 것입니다. 이 표현식은 재귀 호출이 이루어질 때마다 number가 1이 될 때 재귀가 중지될 때까지 number의 값이 1씩 감소합니다. 재귀 호출의 반환 값은 최종 결과에 지속적으로 누적됩니다. 이런 식으로 시퀀스의 합을 구할 수 있습니다.

}

반품 결과;

}

}

Java의 재귀 및 반복 알고리즘은 무엇입니까

반복은 일반적인 루프입니다.

예: 1에서 10까지 더하기

int 합계=0

for(int i=0;i

sum=sum+i;

}

재귀는 함수가 직접 또는 간접적으로 자신을 호출하는 것을 의미합니다.

예: 옛날 어느 절에 큰 스님과 작은 스님이 있었는데, 큰 스님이 작은 스님에게 이야기를 해달라고 했습니다. 어느 절에서 작은 스님이 큰 스님에게 이야기를 해달라고 했더니, 큰 스님은 옛날에 어떤 절에 큰 스님과 작은 스님이 있었는데, 둘이 매일 같이 불교를 수행하고 공부했다고 말했습니다.

재귀의 특징:

다음 세 가지 조건이 있어야 합니다.

1. 간접적으로나 직접적으로 자신에게 전화하세요.

2. 게임을 플레이할 때 반드시 종료 조건을 설정하세요. 예를 들어 대사님이 입이 마르면 이야기를 듣지 않게 됩니다. 종료 조건을 설정하지 않으면 게임이 무한 루프에 빠질 수 있습니다.

3. (하고 싶은 일) 논리적인 몸체가 있어야 합니다.

public int sum(int x){

if(x

반품x;

}

return x+sum(x-1);

}

int s=10;

int total=sum(s);

이 예에서 sum 함수는 항상 자신을 호출하고 x+sum(x-1)을 반환합니다.

sum에는 종료 조건 x이 있습니다.

최종 결과는 10+9+8+7+... 1

을 반환하는 것입니다.

많은 경우 반복과 재귀 모두 동일한 기능을 달성할 수 있지만 반복이 완료할 수 없는 일부 기능이 있습니다. 또한 재귀 코드는 더 간결하며 재귀를 능숙하게 사용하면 코드 품질을 향상시킬 수 있습니다.

위 내용은 재귀 알고리즘을 사용하여 Java 이진 검색을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 Excel办公网에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
Microsoft 프린터 메타 데이터 문제 해결사 도구 : HP-Smart 버그 수정Microsoft 프린터 메타 데이터 문제 해결사 도구 : HP-Smart 버그 수정Apr 12, 2025 am 12:50 AM

HP 스마트가 Windows 11/10/서버에 자동으로 설치되면 어떻게됩니까? Microsoft는 유틸리티를 출시했으며 KB5034510 : Microsoft 프린터 메타 데이터 문제 해결사 도구를 온라인으로 얻을 수 있습니다. 이 php.cn 게시물을 계속 읽고 찾으십시오

Windows 10/11에서 SYS 블루 스크린 오류를 수정하는 방법 -MinitoolWindows 10/11에서 SYS 블루 스크린 오류를 수정하는 방법 -MinitoolApr 12, 2025 am 12:49 AM

netwlv64.sys 블루 스크린은 Windows 11/10 운영 체제를 부팅하려고 할 때 일반적인 오류입니다. 이 BSOD 문제를 어떻게 해결하여 PC가 제대로 작동하도록 할 수 있습니까? 이 게시물에서는 php.cn이 수집 한 유용한 솔루션을 찾을 수 있습니다.

Windows 10에서 창 크기를 조정하는 방법Windows 10에서 창 크기를 조정하는 방법Apr 12, 2025 am 12:48 AM

둘 이상의 프로그램을 동시에 수행하는 경우 Windows의 크기 조정이 도움이됩니다. 대부분의 여러분은 매일 컴퓨터 사용에서 창을 크기를 조정하려고 노력해야합니다. 이 Php.cn Post는 창 크기를 조정하는 방법을 알려주는 몇 가지 유용한 방법을 컴파일합니다.

지역 계정에 대한 보안 질문을 비활성화하는 방법 10/11 -Minitool지역 계정에 대한 보안 질문을 비활성화하는 방법 10/11 -MinitoolApr 12, 2025 am 12:47 AM

Windows 10/11에서 로컬 계정에 대한 보안 질문을 비활성화하는 방법을 찾고 계십니까? Php.cn 의이 게시물에서는 지역 그룹 정책 편집자 및 레지스트리를 통해 지역 계정에 대한 보안 문제 사용을 방지하는 방법을 안내합니다.

Windows 11에서 앱 및 웹 사이트에 저장된 패스 키를 삭제하는 방법 -MinitoolWindows 11에서 앱 및 웹 사이트에 저장된 패스 키를 삭제하는 방법 -MinitoolApr 12, 2025 am 12:46 AM

Windows 11 Insider Preview Build 23486은 암호 사용 경험을 향상시키기 위해 새로운 기능인 Passkey 설정을 발표하겠다고 발표했습니다. 컴퓨터에서 새로운 패스 키를 생성하고 추가 할 수있을뿐만 아니라 그 중 하나를 삭제할 수 있습니다. 이 php.cn 포스트가 당신을 안내합니다

수정 : OneDrive에 서명하는 데 문제가있었습니다 -Minitool수정 : OneDrive에 서명하는 데 문제가있었습니다 -MinitoolApr 12, 2025 am 12:45 AM

OneDrive에 로그인 할 때 "OneDrive가 서명하는 데 문제가있었습니다"오류로 고통 받고 있습니까? 이제 Php.cn 의이 게시물 에서이 OneDrive 로그인 문제를 해결하는 방법을 안내해 드리겠습니다.

시대를 초월한 수정 - 데스크탑 아이콘이 Windows에서 겹치고 있습니다시대를 초월한 수정 - 데스크탑 아이콘이 Windows에서 겹치고 있습니다Apr 12, 2025 am 12:44 AM

Windows 11 및 Windows 10 데스크톱 아이콘이 겹치고 있습니까? Php.cn 의이 게시물에서는이 Windows 데스크탑 아이콘 버그를 제거하는 데 도움이되는 몇 가지 유용한 솔루션을 제공합니다.

'파일 탐색기에서 두 개의 OneDrive 폴더'문제를 해결하는 방법은 무엇입니까?'파일 탐색기에서 두 개의 OneDrive 폴더'문제를 해결하는 방법은 무엇입니까?Apr 12, 2025 am 12:43 AM

OneDrive는 동일한 OneDrive 아이콘으로 파일 탐색기의 폴더를 두 번 보여줍니다. OneDrive에서 발생하는 버그입니다. 파일 탐색기에서 두 개의 OneDrive 폴더의 상황을 수정하는 효과적인 방법을 사용할 수 있습니다. Php.cn에 대한이 게시물이 도움이 될 것입니다

See all articles

핫 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. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

메모장++7.3.1

메모장++7.3.1

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

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전