Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 62 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
62
Dung lượng
563,09 KB
Nội dung
Click to edit Master subtitle style MỘT SỐ KỸ THUẬT LẬP TRÌNH CƠ BẢN Khoa Cơng nghệ thơng tin, HUFLIT NỘI DUNG Thuật tốn tìm kiếm tuyến tính (Linear Search) Thuật tốn tìm max/min Thuật toán hoán vị Thuật toán Sắp xếp ‐ Interchange Sort Thuật tốn Tìm kiếm nâng cao Kiểm tra mảng thỏa điều kiện THUẬT TỐN TÌM KIẾM TUYẾN TÍNH (LINEAR SEARCH) Bài tốn Cho dãy số nguyên ଵ ଶ ( ) và số nguyên x. Hãy tìm kiếm xem x có dãy a hay khơng Input: Dịng đầu chứa số n và số x n dòng sau, mỗi dòng số nguyên Output: Vị trí số x trong a (nếu x khơng có a ghi “khong tim thay”) 1. Ý tưởng Xét từng phần tử Nếu x có a Sau chạy mà khơng có số thỏa x khơng có dãy a 2. Thuật tốn Bước 1: Khởi gán i = 0 Bước 2: So sánh a[i] với giá trị x cần tìm, có 2 khả năng xảy ra a[i] == x , tìm thấy x. Dừng; a[i] != x , chuyển sang bước 3 Bước 3: i = i + 1 , xét tiếp phần tử kế tiếp trong mảng Nếu i == N , hết mảng. Dừng hoặc kết luận “Khơng tìm thấy”; Ngược lại: lặp lại Bước 2; 3. Ví dụ Cho mảng a có 8 phần tử: 18 10 Giá trị cần tìm: x = 9 i=0 15 x=9 18 10 15 3. Ví dụ i=1 x=9 18 i=2 10 15 x=9 18 10 15 3. Ví dụ i=3 x=9 18 10 15 3. Cài đặt int LinearSearch (int a[], int x) { for (int i = 0; i < a.length; i++) { if (a[i] == x) return i ; //a[i] phần tử có khóa x } return -1; //tìm hết mảng khơng có x } 3. Tìm các đoạn thỏa điều kiện • Thuật tốn Bước 4: Trong khi start