1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 2 - Trường ĐH Công nghệ Thông tin

191 15 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 2 trình bày nội dung về tìm kiếm và sắp xếp nội: Nhu cầu tìm kiếm, sắp xếp dữ liệu ; Các giải thuật tìm kiếm nội; Các giải thuật sắp xếp nội. Mời các bạn tham khảo nội dung chi tiết.

CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT CHƢƠNG TÌM KIẾM VÀ SẮP XẾP NỘI Nội Dung  Nhu cầu tìm kiếm, xếp liệu  Các giải thuật tìm kiếm nội CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT 1 Tìm kiếm tuyến tính Tìm kiếm nhị phân  Các giải thuật xếp nội Chọn trực tiếp – Selection Sort Chèn trực tiếp – Insertion Sort Chèn nhị phân Nội Dung (Tt) Đổi chỗ trực tiếp – Interchange Sort Nổi bọt – Bubble Sort CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Shaker Sort Shell Sort Heap Sort Quick Sort 10 Merge Sort 11 Radix Sort Nhu Cầu Tìm Kiếm Sắp Xếp  Trong thực tế, khai thác liệu lúc phải thực thao tác tìm kiếm CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT  Việc tìm kiếm nhanh hay chậm tùy thuộc vào trạng thái trật tự liệu  Để tìm kiếm liệu dễ dàng nhanh chóng, trước thao tác liệu mảng tập tin có thứ tự  Thao tác xếp liệu thao tác cần thiết Bài Tốn Tìm Kiếm  Cho danh sách có n phần tử a0, a1, a2…, an-1 CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT  Để đơn giản việc trình bày giải thuật ta dùng mảng chiều a để lưu danh sách phần tử nói nhớ  Tìm phần tử có khố X mảng  Giải thuật tìm kiếm tuyến tính (tìm tuần tự)  Giải thuật tìm kiếm nhị phân  Lưu ý: Trong trình trình bày thuật giải ta dùng ngơn ngữ lập trình C Tìm Kiếm Tuyến Tính CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT  Ý tƣởng : So sánh X với phần tử thứ 1, thứ 2,…của mảng a gặp khóa cần tìm, tìm hết mảng mà khơng thấy  Các bƣớc tiến hành • • • 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ó khả + a[i] == x tìm thấy x Dừng; + a[i] != x sang bước 3; Bước 3: i=i+1 // Xét tiếp phần tử mảng Nếu i==N: Hết mảng Dừng; Ngược lại: Lặp lại bước 2; Thuật Tốn Tìm Kiếm Tuyến Tính CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT  Hàm trả tìm thấy, ngược lại trả 0: int LinearSearch(int a[],int n, int x) { int i=0; while((i

Ngày đăng: 17/04/2022, 10:53

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN