누군가이 자바 프로그램의 알고리즘을 설명 할 수 있습니까?

렉스

나는 그것을 인터넷에서 찾았고 그것의 알고리즘에 대한 설명을 알고 싶습니다. 나는 이것을 이해하는 데 어려움을 겪고 있습니다. 정말 고맙습니다 :)

import java.util.Scanner;
class BinarySearch 
{
public static void main(String args[])
{
int c, first, last, middle, n, search, array[];

Scanner in = new Scanner(System.in);
System.out.println("Enter number of elements");
n = in.nextInt(); 
array = new int[n];

System.out.println("Enter " + n + " integers");


for (c = 0; c < n; c++)
  array[c] = in.nextInt();

System.out.println("Enter value to find");
search = in.nextInt();

first  = 0;
last   = n - 1;
middle = (first + last)/2;

while( first <= last )
{
  if ( array[middle] < search )
    first = middle + 1;    
  else if ( array[middle] == search ) 
  {
    System.out.println(search + " found at location " + (middle + 1) + ".");
    break;
  }
  else
     last = middle - 1;

  middle = (first + last)/2;
 }
 if ( first > last )
  System.out.println(search + " is not present in the list.\n");
  }
 }

귀하의 답변에 감사드립니다. 다시 한번 감사드립니다.

조르 엘

이진 검색 알고리즘은 대상 값을 정렬 된 배열의 중간 요소 값과 비교하여 시작합니다. 대상 값이 중간 요소의 값과 같으면 위치가 반환되고 검색이 완료됩니다. 대상 값이 중간 요소의 값보다 작 으면 배열의 아래쪽 절반에서 검색이 계속됩니다. 또는 대상 값이 중간 요소의 값보다 크면 배열의 위쪽 절반에서 검색이 계속됩니다. 이 프로세스는 계속되어 요소의 절반을 제거하고 대상 값을 찾을 때까지 (및 관련 요소 위치가 반환 될 때까지) 또는 전체 배열이 검색되었습니다 ( "찾을 수 없음"이 반환 됨).

여기에 당신의 대답이 아름답게 설명되어 있습니다.

이것을 확인 하십시오 http://www.csit.parkland.edu/~mbrandyberry/CS1Java/Lessons/Lesson27/BinarySearch.htm

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

누군가이 "Longest Common Subsequence"알고리즘을 설명 할 수 있습니까?

분류에서Dev

누군가 벡터와 알고리즘을 사용하여이 C ++ 프로그램을 설명 할 수 있습니까?

분류에서Dev

누군가 내가 프로그램을 실행할 때 왜 이것을 얻을 수 있는지 설명 할 수 있습니까? (간단한 자바 다형성)

분류에서Dev

누군가이 바이올린의 출력을 설명 할 수 있습니까?

분류에서Dev

누군가이 파이썬 프로그램에서 *의 사용을 설명 할 수 있습니까?

분류에서Dev

누군가 스택을 사용하여이 프로그램의 작업을 설명 할 수 있습니까?

분류에서Dev

누군가이 C ++ 프로그램의 출력을 설명 할 수 있습니까?

분류에서Dev

누군가이 명령의 기능을 설명 할 수 있습니까?

분류에서Dev

PHP. 자식의 정적 속성이 부모의? 누군가 이론을 설명 할 수 있습니까?

분류에서Dev

구글 인터뷰, 누군가가이 비트 문자열 알고리즘, 순수 가설을 확인할 수 있습니까?

분류에서Dev

누군가가 자바 스크립트의 데이터 바인딩이하는 일을 간단한 말로 설명 할 수 있습니까?

분류에서Dev

누군가 "set -m"의 기능을 자세히 설명 할 수 있습니까?

분류에서Dev

누군가이 코드의 기능을 설명 할 수 있습니까?

분류에서Dev

누군가 open mpi로이 valgrind 출력을 설명 할 수 있습니까?

분류에서Dev

누군가 LinkedList 프로그램의 일부인이 C ++ 코드를 나에게 설명 할 수 있습니까?

분류에서Dev

누군가이 이상한 자바 스크립트 날짜 출력을 설명 할 수 있습니까?

분류에서Dev

누군가이 두 가지 질문 (c 프로그램, 뮤텍스, 스레드)의 해결책을 설명 할 수 있습니까?

분류에서Dev

누군가이 예외의 의미를 설명 할 수 있습니까? 연결 문자열, 테이블 이름, 쿼리 구문이 올 바릅니다.

분류에서Dev

누군가 "$ {files [@]}"의 기능을 설명 할 수 있습니까?

분류에서Dev

누군가이 C ++ 줄을 설명 할 수 있습니까?

분류에서Dev

나는 자바 스크립트 (밑줄 용)로 메모를 다시 작성하려고하는데 누군가 이것을 설명 할 수 있습니까?

분류에서Dev

누군가가이 NASM 프로그램의 작동 방식을 설명해 줄 수 있습니까?

분류에서Dev

누구든지이 알고리즘의 조건을 설명 할 수 있습니까?

분류에서Dev

누군가가 JS / jQuery로 그리드를 생성하는이 기능을 설명 할 수 있습니까?

분류에서Dev

누군가 Heroku toolbelt를 설치하는이 wget 명령의 기능을 설명 할 수 있습니까?

분류에서Dev

누군가 Heroku toolbelt를 설치하는이 wget 명령의 기능을 설명 할 수 있습니까?

분류에서Dev

누군가 GUI에서 JTexPane의 사용을 설명하고 올바르게 사용되지 않으면 프로그램의 출력에 영향을 미치는지 설명 할 수 있습니까?

분류에서Dev

Js Number.parseInt 함수의 이상한 동작, 누군가 그것을 설명 할 수 있습니까?

분류에서Dev

누군가 모든 코드가 의미하는 바를 설명 할 수 있습니까? 파이썬

Related 관련 기사

  1. 1

    누군가이 "Longest Common Subsequence"알고리즘을 설명 할 수 있습니까?

  2. 2

    누군가 벡터와 알고리즘을 사용하여이 C ++ 프로그램을 설명 할 수 있습니까?

  3. 3

    누군가 내가 프로그램을 실행할 때 왜 이것을 얻을 수 있는지 설명 할 수 있습니까? (간단한 자바 다형성)

  4. 4

    누군가이 바이올린의 출력을 설명 할 수 있습니까?

  5. 5

    누군가이 파이썬 프로그램에서 *의 사용을 설명 할 수 있습니까?

  6. 6

    누군가 스택을 사용하여이 프로그램의 작업을 설명 할 수 있습니까?

  7. 7

    누군가이 C ++ 프로그램의 출력을 설명 할 수 있습니까?

  8. 8

    누군가이 명령의 기능을 설명 할 수 있습니까?

  9. 9

    PHP. 자식의 정적 속성이 부모의? 누군가 이론을 설명 할 수 있습니까?

  10. 10

    구글 인터뷰, 누군가가이 비트 문자열 알고리즘, 순수 가설을 확인할 수 있습니까?

  11. 11

    누군가가 자바 스크립트의 데이터 바인딩이하는 일을 간단한 말로 설명 할 수 있습니까?

  12. 12

    누군가 "set -m"의 기능을 자세히 설명 할 수 있습니까?

  13. 13

    누군가이 코드의 기능을 설명 할 수 있습니까?

  14. 14

    누군가 open mpi로이 valgrind 출력을 설명 할 수 있습니까?

  15. 15

    누군가 LinkedList 프로그램의 일부인이 C ++ 코드를 나에게 설명 할 수 있습니까?

  16. 16

    누군가이 이상한 자바 스크립트 날짜 출력을 설명 할 수 있습니까?

  17. 17

    누군가이 두 가지 질문 (c 프로그램, 뮤텍스, 스레드)의 해결책을 설명 할 수 있습니까?

  18. 18

    누군가이 예외의 의미를 설명 할 수 있습니까? 연결 문자열, 테이블 이름, 쿼리 구문이 올 바릅니다.

  19. 19

    누군가 "$ {files [@]}"의 기능을 설명 할 수 있습니까?

  20. 20

    누군가이 C ++ 줄을 설명 할 수 있습니까?

  21. 21

    나는 자바 스크립트 (밑줄 용)로 메모를 다시 작성하려고하는데 누군가 이것을 설명 할 수 있습니까?

  22. 22

    누군가가이 NASM 프로그램의 작동 방식을 설명해 줄 수 있습니까?

  23. 23

    누구든지이 알고리즘의 조건을 설명 할 수 있습니까?

  24. 24

    누군가가 JS / jQuery로 그리드를 생성하는이 기능을 설명 할 수 있습니까?

  25. 25

    누군가 Heroku toolbelt를 설치하는이 wget 명령의 기능을 설명 할 수 있습니까?

  26. 26

    누군가 Heroku toolbelt를 설치하는이 wget 명령의 기능을 설명 할 수 있습니까?

  27. 27

    누군가 GUI에서 JTexPane의 사용을 설명하고 올바르게 사용되지 않으면 프로그램의 출력에 영향을 미치는지 설명 할 수 있습니까?

  28. 28

    Js Number.parseInt 함수의 이상한 동작, 누군가 그것을 설명 할 수 있습니까?

  29. 29

    누군가 모든 코드가 의미하는 바를 설명 할 수 있습니까? 파이썬

뜨겁다태그

보관