Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Các kỹ thuật tìm kiếm trong ngôn ngữ C


Kỹ thuật tìm kiếm là việc tìm phần tử khóa (key) trong danh sách các phần tử.

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

  • Nếu không có, tìm kiếm thất bại.

C cung cấp hai kỹ thuật tìm kiếm chính:

  • Tìm kiếm tuyến tính (Linear search)
  • Tìm kiếm nhị phân (Binary search)

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

  • Tìm kiếm theo trình tự tuyến tính.
  • Kỹ thuật đơn giản nhất.
  • Không yêu cầu danh sách đã sắp xếp.
  • Hạn chế: tiêu tốn thời gian, giảm hiệu suất hệ thống.

Đầu vào: Danh sách chưa sắp xếp, khóa tìm kiếm.

Đầu ra:

  • Thành công – nếu tìm thấy khóa.
  • Thất bại – ngược lại.

Các kỹ thuật tìm kiếm trong ngôn ngữ C

Ví dụ

Chương trình C 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; }

Kết quả

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