Computer >> Máy Tính >  >> Lập trình >> lập trình C

Các kỹ thuật tìm kiếm khác nhau trong ngôn ngữ C là gì?

Kỹ thuật tìm kiếm đề cập đến việc tìm kiếm một phần tử quan trọng trong danh sách các phần tử.

  • Nếu phần tử đã cho có trong danh sách, thì quá trình tìm kiếm được cho là thành công.

  • Nếu phần tử đã cho không có trong danh sách, thì quá trình tìm kiếm được cho là không thành công.

Ngôn ngữ C cung cấp hai loại kỹ thuật tìm kiếm. Chúng như sau -

  • Tìm kiếm tuyến tính
  • Tìm kiếm nhị phân

Tìm kiếm tuyến tính

  • Tìm kiếm phần tử chính được thực hiện theo kiểu tuyến tính.
  • Đây là kỹ thuật tìm kiếm đơn giản nhất.
  • Nó không mong đợi danh sách được sắp xếp.
  • Giới hạn - Tiêu tốn nhiều thời gian hơn và giảm sức mạnh của hệ thống.

Đầu vào (i / p)

Danh sách các phần tử, khóa chưa được sắp xếp.

Đầu ra (o / p)

  • Thành công - Nếu tìm thấy chìa khóa.
  • Không thành công - Nếu không.

Các kỹ thuật tìm kiếm khác nhau trong ngôn ngữ C là gì?

Ví dụ

Sau đây là chương trình C cho kỹ thuật tìm kiếm tuyến tính -

#include<stdio.h>
int main (){
   int a[50], n, i, key, flag = 0;
   printf("enter the no: of elements");
   scanf ("%d",&n);
   printf("enter the elements:\n");
   for (i=0; i<n; i++)
      scanf( "%d", &a[i]);
   printf("enter a key element:\n");
   scanf ("%d", &key);
   for (i=0; i<n; i++){
      if (a[i] == key){
         flag = 1;
         break;
      }
   }
   if (flag == 1)
      printf("search is successful:");
   else
      printf("search is unsuccessfull:");
   return 0;
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

enter the no: of elements5
enter the elements:12
45
13
67
78
enter a key element:67
search is successful: