Загружаем каталог…
Загружаем каталог…
선형 탐색 앞에서부터 하나씩 비교해 나가다가 같은 값을 만나면 멈추는 절차 같으면 멈추고, 다르면 다음 칸으로 넘어간다. 값을 찾으면 그 인덱스를, 없으면 -1을 반환 -1 이라는 약속 배열은 0부터 시작하므로 -1은 "없다"라는 뜻으로 쓸 수 있다. -1은 C#이 정한 규칙이 아닌 이 함수가 정한 약속 요구하지 않는 것 순서가 없어도 된다. 번호로 바로 집을 수 없어도 된다. 이진 탐색 정렬된 데이터에서는 가운데 값 하나와 비교해 남은 범위의 절반을 한 번에 버릴 수 있다. left : 남은 범위의 왼쪽 끝 인덱스 // 초기값: 0 right : 남은 범위의 오른쪽 끝 인덱스 // 초기값: valuse.Length - 1 mind : 남은 범위의 가운데 인덱스 // 초기값: (left + right) / 2 탐색 절차 가운데 값이 찾는 값과 같음 mid를 돌려줌 찾는 값이 가운데 값보다 큼 왼쪽 절반과 가운데를 버림. left = mid +1 찾는 값이 가운데 값보다 작음 오른쪽 절반과 가운데를 버림. right = mind -1 찾을 때 까지 반복 left가 right보다 커지면 없다고 판단 못 찾았을 때 돌려주는 값은 -1로 정해져 있지 않다. 못 찾았는지는 result < 0으로 검사한다. 이진 탐색이 요구하는 것 데이터가 정렬되어 있어야 한다. 가운데 칸을 번호로 바로 집을 수 있어야 한다. 이진 탐색은 선형 탐색보다 항상 나은 방법이 아니라, 정렬을 유지하는 비용을 치르고 찾기를 빠르게 하는 선택. 재귀 기반 구현 재귀의 규칙 자기를 부르지 않고 끝나는 종료 조건이 반드시 있어야 한다. 호출할 때마다 종료 조건에 가까워지는 값을 넘겨야 한다. 각 호출은 자기만의 매개변수를 따로 가지며 서로 영향을 주지 않는다. 호출 깊이 재귀 선형 탐색은 데이터 길이만큼 호출이 쌓이고, 재귀 이진 탐색은 반으로 나누는 횟수만큼 쌓인다.
То, что RADAR обнаружил и классифицировал для этой возможности. Это опубликованный источником текст, а не подтверждение, что предложение ещё действует.
탐색 알고리즘. 선형 탐색 앞에서부터 하나씩 비교해 나가다가 같은 값을 만나면 멈추는 절차 같으면 멈추고, 다르면 다음 칸으로 넘어간다. 값을 찾으면 그 인덱스를, 없으면 -1을 반환 -1 이라는 약속 배열은 0부터 시작하므로 -1은 "없다"라는 뜻으로 쓸 수 있다. -1은 C#이 정한 규칙이 아닌 이 함수가 정한 약속 요구하지 않는 것 순서가 없어도 된다. 번호로 바로 집을 수 없어도 된다. 이진 탐색 정렬된 데이터에서는 가운데 값 하나와 비교해 남은 범위의 절반을 한 번에 버릴 수 있다. left : 남은 범위의 왼쪽 끝 인덱스 // 초기값: 0 right : 남은 범위의 오른쪽 끝 인덱스 // 초기값: valuse.Length - 1 mind : 남은 범위의 가운데 인덱스 // 초기값: (left +…
Открыть источник