Trong thực tế, ước tính tốt nhất (có nghĩa là, với chức năng chiếu nhỏ nhất) có thể được
thể hiện đang được sử dụng. Tuy nhiên, ước tính big- thời gian phức tạp không thể dịch trực tiếp vào
số tiền thực tế của máy tính thời gian sử dụng. Một lý do là một f dự big- (n) là (g (n)),
trong đó f (n) là độ phức tạp của thuật toán và g (n) là một chức năng tham khảo, có nghĩa
rằng C1g (n) ≤ f (n) ≤ C2G (n) khi n> k, nơi C1, C2, và k là hằng số. Vì vậy mà không
biết các hằng số C1, C2, và k trong sự bất bình đẳng, ước tính này không thể được sử dụng để xác định
một ràng buộc thấp hơn và một trên ràng buộc về số lượng các hoạt động sử dụng trong trường hợp xấu nhất. Như
nhận xét trước đó, thời gian cần thiết cho một hoạt động phụ thuộc vào các loại hình hoạt động và các
máy tính đang được sử dụng. Thông thường, thay vì một ước tính big- trên phức tạp thời gian tồi tệ nhất của
một thuật toán, chúng ta chỉ có một ước tính lớn-O. Lưu ý rằng một O lớn ước tính về độ phức tạp
của một thuật toán cung cấp trên, nhưng không phải là thấp, bị ràng buộc về thời gian tồi tệ nhất cần thiết cho
các thuật toán như là một hàm của kích thước đầu vào. Tuy nhiên, để đơn giản, chúng tôi sẽ thường xuyên sử dụng
ước tính lớn-O khi mô tả sự phức tạp thời gian của thuật toán, với sự hiểu biết
rằng big- ước tính sẽ cung cấp thêm thông tin.
Bảng 2 hiển thị thời gian cần thiết để giải quyết vấn đề của các kích cỡ khác nhau với một thuật toán sử dụng
các chỉ số n hoạt động bit, giả sử rằng mỗi hoạt động chút mất 10-11 giây, một
ước tính hợp lý của thời gian cần thiết cho một hoạt động bit bằng cách sử dụng máy tính nhanh nhất hiện
nay. Times của hơn 10100 năm được thể hiện với một dấu sao. Trong tương lai, những lần
sẽ giảm khi các máy tính nhanh hơn được phát triển. Chúng tôi có thể sử dụng thời gian thể hiện trong Bảng 2 để xem
cho dù đó là hợp lý để mong đợi một giải pháp cho một vấn đề của một kích thước quy định sử dụng một thuật toán
với tiếng phức tạp thời gian tồi tệ nhất khi chúng tôi chạy thuật toán này trên một máy tính hiện đại.
Lưu ý rằng chúng ta không thể xác định thời gian chính xác một máy tính sử dụng để giải quyết một vấn đề với đầu vào của
một kích thước cụ thể vì vô số các vấn đề liên quan đến phần cứng máy tính và đặc biệt là
phần mềm thực hiện các thuật toán.
Điều quan trọng là phải có một ước tính hợp lý trong bao lâu nó sẽ mất một máy tính để giải quyết một
vấn đề. Ví dụ, nếu một thuật toán đòi hỏi khoảng 10 giờ, nó có thể là đáng giá để
dành thời gian máy tính (và tiền bạc) cần thiết để giải quyết vấn đề này. Nhưng, nếu một thuật toán đòi hỏi
khoảng 10 tỷ năm để giải quyết một vấn đề, nó sẽ là bất hợp lý để sử dụng các nguồn lực để
thực hiện thuật toán này. Một trong những hiện tượng thú vị nhất của công nghệ hiện đại là
sự gia tăng rất lớn trong tốc độ và không gian bộ nhớ của máy tính. Một yếu tố quan trọng
làm giảm thời gian cần thiết để giải quyết các vấn đề trên máy tính là xử lý song song, đó
là kỹ thuật thực hiện các trình tự của các hoạt động cùng một lúc.
Thuật toán hiệu quả, bao gồm hầu hết các thuật toán có độ phức tạp thời gian đa thức, được hưởng lợi
nhiều nhất từ những cải tiến công nghệ đáng kể. Tuy nhiên, những cải tiến công nghệ
BẢNG 2 Thời gian máy tính sử dụng bởi thuật toán.
Operations Vấn đề Kích Bit sử dụng
đang được dịch, vui lòng đợi..