Trong thực tế, ta không đểý đến một số chi tiết kỷ thuật nhất định khi phát biểu và giải quyết các phép truy toán. Một ví dụ tốt về một chi tiết thường được xem nhẹ đó là giả thiết về các đối số số nguyên cho các hàm. Thông thường, thời gian thực
Các phép truy toán của thuật toán cơ bản
Khi một thuật toán chứa một lệnh gọi đệ quy lên chinh nó, ta có thể dùng phép truy toán để mô tá thời gian thực hiện của nó. Một phép truy toán là một phương trình hoặc bất đẳng thức mô tả một hàm theo dạng giá trị của nó dựa trên các nhập
Tách các phép lấy tổng
Một cách để có các cận dựa trên một phép lấy tổng khác đó là diễn tả chuỗi dưới dạng tổng của hai hay nhiều chuỗi bằng cách phân hoạch [partitioning] miền của chỉ số rồi định cận từng chuỗi kết quả. Ví dụ, giả sử ta gắng tìm một cận dưới dựa trên chuỗi
Các tính chất và công thức lây tổng
Khi một thuật toán chứa cấu trúc điều khiển lặp như vòng lặp while hoặc for, thời gian thực hiện của nó có thể được diễn tả dưới dạng tổng của các lần bỏ ra cho mỗi đợt thi hành của thân vòng lặp* Ví dụ, trong Đoạn 1.2 ta thấy lần lặp lại thứjcủa
Hệ ký hỉệu Q trong thuật toán máy tính
Giống như hệ ký hiệu ocung cấp một cận trên tiệm cận trên một hàm, hệ ký hiệu Q cung cấp một cận dưới tiệm cận[asymptotic lower bound]. Với một hàm đã cho g(n), bằng Q(g(/ĩ)) ta thể hiện tập hợp các hàm Q(g(rt)) = ỈẨn):ở đó tồn tại các hằng dương c và nữ
Sự Tăng trưởng của Các hàm
Hệ ký hiệu tiệm cận Các ký hiệu mà ta dùng để mô tả thời gian thực hiện tiệm cận của một thuật toán được định nghĩa theo dạng các hàm có các lĩnh vực là tập hựp các số tựnhiên N = {0, 1, 2,…}. Các ký hiệu như vậy tỏ ra tiện dụng
Các bài toán về thuật toán chia để trị
1.4- 1 Giả sử ta đang so sánh các cách thực thi phương pháp sắp xếp chèn và sắp xếp trộn trên cùng một máy. Với các đdu vào có kích cỡn> tiến trình sắp xếp chèn chạy trong 8n2 bước, trong khi tiến trình sắp xếp trộn chạy trong 64nìg n bước. Với các
Phân tích các thuật toán chia để trị
Khi một thuật toán chứa một lệnh gọi đệ quy lên chính nó, thời gian thực hiện của nó thường được mô tả bởi một phương trình truy toán hoặc phép truy toán, mô tá thời gian thực hiện chung trên một bài toán có kích cỡn theo dạng thời gian thực hiện trên các
Cách thiết kế các thuật toán
Có nhiều cách để thiết kế các thuật toán. Phương pháp sắp xếp chèn sử dụng cách tiếp cận gia^[incremental]: khi sáp xếp mảng con A[\.j – 1], ta chèn một thành phần A[ý] vào đúng chỗ của nó, cho ra mảng con đã sắp xếp A[l.j]. Trong đoạn này, ta xem xét một cách
Phân tích trường hợp xấu nhất trong thuật toán sắp xếp chèn
Trong kỹ thuật phân tích sắp xếp chèn trên đây, ta đã xem xét cả ca tốt nhất, ỏ đó mảng đầu vào đã được sắp xếp sẩn, lẫn trường hợp xấu nhất, ở đó mảng đầu vào được sắp xếp đảo ngược. Tuy nhiên, với phần còn lại của cuốn sách, ta thường tập