Presentation is loading. Please wait.

Presentation is loading. Please wait.

        Linear Search 線性搜尋: char names[100][10];

Similar presentations


Presentation on theme: "        Linear Search 線性搜尋: char names[100][10];"— Presentation transcript:

1         Linear Search 線性搜尋: char names[100][10];
char target[20]="EGG"; 1 2 3 4 5 6 7 8 99 CAT GOA ADA FISH DOG BOY HEN EGG KEN for (i=0;i<100;i++) if (strcmp(names[i],target)==0) break; if ( ) printf ("found!\n"); else printf ("not found!\n"); i<100 2019年7月27日 Sorting & Searching

2 1 char A[10][5]; char target[5]="HEN"; int lo=0, hi=9, mid;
Binary Search 二分搜尋: 1 lo=mid+1 mid=(lo+hi)/2 mid mid lo lo hi 1 2 3 4 5 6 7 8 9 ADA BOY CAT DOG EGG FISH GOA HEN IDA KEN A[i] No Yes A[mid]=target ?? A[mid]=target ?? 2019年7月27日 Sorting & Searching

3 2 char A[10][5]; char target[5]="CAT"; int lo=0, hi=9, mid;
Binary Search 二分搜尋: 2 mid=(lo+hi)/2 lo=mid+1 hi=mid-1 lo mid mid lo hi 1 2 3 4 5 6 7 8 9 ADA BOY CAT DOG EGG FISH GOA HEN IDA KEN hi A[i] No Yes No A[mid]=target ?? A[mid]=target ?? 2019年7月27日 Sorting & Searching

4 3 char A[10][5]; char target[5]="CAT"; int lo=0, hi=9, mid;
Binary Search 二分搜尋: "CAB" 3 mid=(lo+hi)/2 lo lo=mid+1 hi=mid-1 mid mid lo hi 1 2 3 4 5 6 7 8 9 ADA BOY CAT DOG EGG FISH GOA HEN IDA KEN hi A[i] No No No target < A[mid] hi<lo  not found 2019年7月27日 Sorting & Searching

5 4 二分搜尋 Binary Search int binarySearch (char target[]){
int lo=0, hi=9, mid, pos, n; pos = -1; // not found return pos; } 4 while ( ){ } lo<=hi && pos<0 mid = (lo+hi)/2; n = strcmp (target, A[mid]); pos = mid; if (n==0) else if (n<0) else hi = mid-1; lo = mid+1; mid lo hi 1 2 3 4 5 6 7 8 9 ADA BOY CAT DOG EGG FISH GOA HEN IDA KEN 2019年7月27日 Sorting & Searching A[i]


Download ppt "        Linear Search 線性搜尋: char names[100][10];"

Similar presentations


Ads by Google