Tham khảo luận văn - đề án 'giải thuật - ths. nguyễn văn linh', luận văn - báo cáo phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả | . NGUYỄN VĂN LINH GIẢI THUẬT Được biên soạn trong khuôn khổ dự án ASVIET002CNTT Tăng cường hiệu quả đào tạo và năng lực tự đào tạo của sinh viên khoa Công nghệ Thông tin - Đại học Cần thơ ĐẠI HỌC CẦN THƠ - 12 2003 LỜI NÓI ĐẦU N. Wirth một nhà khoa học máy tính nổi tiếng tác giả của ngôn ngữ lập trình Pascal đã đặt tên cho một cuốn sách của ông là Cấu trúc dữ liệu Giải thuật Chương trình . Điều đó nói lên tầm quan trọng của giải thuật trong lập trình nói riêng và trong khoa học máy tính nói chung. Vì lẽ đó giải thuật với tư cách là một môn học cần phải được sinh viên chuyên ngành tin học nghiên cứu một cách có hệ thống. Môn học Giải thuật được bố trí sau môn Cấu trúc dữ liệu trong chương trình đào tạo kỹ sư tin học nhằm giới thiệu cho sinh viên những kiến thức cơ bản nhất những kỹ thuật chủ yếu nhất của việc PHÂN TÍCH và THIẾT KẾ giải thuật. Các kỹ thuật được trình bày ở đây đã được các nhà khoa học tin học tổng kết và vận dụng trong cài đặt các chương trình. Việc nắm vững các kỹ thuật đó sẽ rất bổ ích cho sinh viên khi phải giải quyết một vấn đề thực tế. Giáo trình này được hình thành trên cơ sở tham khảo cuốn sách Data Structure and Algorithms của Aho những kinh nghiệm giảng dạy của bản thân và các bạn đồng nghiệp. Mặc dù đã có nhiều cố gắng trong quá trình biên soạn nhưng chắc chắn còn nhiều thiếu sót rất mong nhận được sự đóng góp của quý bạn đọc. Cần thơ ngày 8 tháng 12 năm 2003 Nguyễn Văn Linh Giải thuật Mục lục MỤC LỤC PHẦN TỔNG Chương 1 KĨ THUẬT PHÂN TÍCH GIẢI TỔNG SỰ CẦN THIẾT PHẢI PHÂN TÍCH GIẢI THỜI GIAN THỰC HIỆN CỦA GIẢI TỶ SUẤT TĂNG VÀ ĐỘ PHỨC TẠP CỦA GIẢI CÁCH TÍNH ĐỘ PHỨC PHÂN TÍCH CÁC CHƯƠNG TRÌNH ĐỆ TỔNG KẾT CHƯƠNG BÀI TẬP CHƯƠNG Chương 2 SẮP XẾP .18 TỔNG BÀI TOÁN SẮP CÁC PHƯƠNG PHÁP SẮP XẾP ĐƠN BINSORT . 39 TỔNG KẾT CHƯƠNG BÀI TẬP CHƯƠNG Chương 3 KĨ THUẬT THIẾT