Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 55 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
55
Dung lượng
334 KB
Nội dung
CHƯƠNG 5 KỸ THUẬT TÌM KIẾM và SẮP XẾP (6 tiết) MỤC TIÊU Sau chương này bạn có thể: • Giải thích được giải thuật tìm kiếm tuyến tính. • Giải thích được giải thuật tìm kiếm nhị phân. • Giải thích được một số thuật toán sắp thứ tự: Selection sort, Bubble sort, Insertion sort. NỘI DUNG Ôn tập. 3.1- Giới thiệu 3.2- Kỹ thuật tìm kiếm. 3.3- Một số kỹ thuật sắp thứ tự 3.4- Một số phép toán trên ma trận Tóm tắt. Ôn tập • Quản lý mảng tĩnh: Tính toán được vùng nhớ cho mảng ngay lúc biên dịch (tĩnh) • Khai báo: int a[100] , n; Số phần tử tối đa. Dựa trên số phần tử này và kích thước của kiểu phần tử. Vùng nhớ cho mảng được ấn định ngay lúc biên dịch Số phần tử thực tê đangdùng. Nhờ trị của n chúng ta viết code để duyệt mảng đúng giải thuật • Nhược điểm của mảng tĩnh Hiệu suất sử dụng bộ nhớ thấp- Khai báo tối đa 100 phần tử nhưng có thể chỉ dùng 5 phần tử Hiệu suất sử dụng bộ nhớ là 5% Ôn tập- Chương trình minh họa mảng tĩnh Viết chương trình: nhập 1 mảng int, xuất mảng đã nhập Ôn tập • Quản lý mảng động: Không tính toán được vùng nhớ cho mảng ngay lúc biên dịch (tĩnh) mà chỉ tính toán được khi chạy chương trình. • Khai báo: int *a , n; • Ưu điểm của mảng động: Hiệu suất sử dụng bộ nhớ 100% Ôn tập- Chương trình minh họa mảng động Viết chương trình: nhập 1 mảng int, xuất mảng đã nhập Ôn tập- Ma trận động • Viết chương trình nhập xuất 1 ma trận số int. 3.1- Giới thiệu • Hầu hết các dữ liệu của các bài toán là nhóm trị mà một phần tử có thể có cấu trúc mô tả khác nhau . • Nhu cầu tìm kiếm/sắp xếp thông tin là nhu cầu tự nhiên của con người. Giới thiệu • Các điều kiện của qúa trình tìm kiếm: – Đã có một nhóm trị. – Một chút thông tin đã biết về nội dung cần tìm (dữ liệu khóa- Key ). • Thí dụ 1: Lấy lý lịch (tìm) của nhân viên có mã số “NV008” • Thí dụ 2: Lấy lý lịch (tìm) của nhân viên có tên “Nguyễn Văn Xoài”. • Khi Key tìm kiếm là duy nhất, qúa trình tìm kiếm cho tối đa một kết qủa (thí dụ 1). • Khi Key tìm kiếm không duy nhất, qúa trình tìm kiếm có thể cho nhiều kết qủa (thí dụ 2, trong tổ chức có thể có nhiều người tên “Nguyễn Văn Xoài”). [...]... x, c ; Input(a,n); printf(“Content of the array:”); Output(a,n); printf(“Input an integer:”); scanf(“%d”,&x); c= Count(x,a,n,); if (c==0) printf(“%d is not existed!”, x); else printf(“%d was existed %d times”,x,c); getch(); } Bài tập • Viết chương trình: Nhập 1 ma trận các số int, Nhập trị int x Hãy cho biết x xuất hiện trong ma trận bao nhiều lần, Hãy cho biết dòng cột đầu tiên có x • Viết chương trình