[자료구조] 이진검색 레포트
- 최초 등록일
- 2012.12.26
- 최종 저작일
- 2012.12
- 5페이지/ 한컴오피스
- 가격 1,000원
소개글
[자료구조] 이진검색 레포트
목차
1. 문제분석
2. 알고리즘
3. 변수테이블
4. 소스결과(C)
5. 소스결과(C++)
6. 순서도
본문내용
□ 문제분석
배열 데이터 중간값을 찾아 검색단어와 비교한 후, 그 값이 같으면 그 데이터
값을 찾은 것이고 검색단어가 중간값보다 크면 상위절반을 잘라서 중간값을
비교하여 데이터값이 나올 때까지 검색. 이와 반대로 중간값보다 작으면
하위절반을 잘라서 중간값을 비교하여 데이터 값이 나올 때 까지 검색 반복한다.
□ 알고리즘
◦char array[], int low, int high, int middle, char input;
◦ middle = (low + high) / 2
◦ while (low <= high)
if(array[middle] < input) low = middle + 1
if(array[middle] > input) high = middle - 1
if(array[middle] = input) return middle;
◦ while end
< 중 략 >
소스 결과 (C)
#include<stdio.h>
int process(char[], int, int, char);
main()
{
char array[10] = {`A`,`B`,`C`,`D`,`E`,`F`,`G`,`H`,`I`,`J`};
char input;
int low, height, middle;
int temp=0;
printf("index : 0 1 2 3 4 5 6 7 8 9\n");
printf("data : ");
for(int i=0 ; i<10; I++) printf("%c ",array[i]);
printf("\n------>");
scanf("%c",&input);
low = 0;
height = 9;
int s = process(array,low,height,input);
if(s < 0) printf("Not Found!!");
printf("%d\n",s);
printf("%c",array[s]);
return 0;
참고 자료
없음