Mặc dù câu trả lời được chấp nhận là khá tốt, nhưng nó vẫn không chạm vào lý do thực sự tại sao O(n)=O(2n) .
Ký hiệu Big-O mô tả khả năng mở rộng
Về cốt lõi, Ký hiệu Big-O không phải là một mô tả về thời gian chạy thuật toán. Nó cũng không phải là một mô tả về bao nhiêu bước, dòng mã hoặc so sánh một thuật toán tạo ra. Nó hữu ích nhất khi được sử dụng để mô tả cách thuật toán chia tỷ lệ với số lượng đầu vào.
Lấy một tìm kiếm nhị phân, ví dụ. Đưa ra một danh sách được sắp xếp, làm thế nào để bạn tìm thấy một giá trị tùy ý bên trong nó? Vâng, bạn có thể bắt đầu ở giữa. Vì danh sách được sắp xếp, giá trị giữa sẽ cho bạn biết một nửa danh sách mà giá trị mục tiêu của bạn nằm trong. Vì vậy, danh sách bạn phải tìm kiếm hiện được chia làm một nửa. Điều này có thể được áp dụng đệ quy, sau đó đi đến giữa danh sách mới, và cứ thế cho đến khi kích thước danh sách là 1 và bạn đã tìm thấy giá trị của mình (hoặc nó không tồn tại trong danh sách). Nhân đôi kích thước của danh sách chỉ thêm một bước nữa vào thuật toán, đó là mối quan hệ logarit. Do đó, thuật toán này là O(logn). Logarit là cơ sở 2, nhưng điều đó không thành vấn đề - cốt lõi của mối quan hệ là nhân danh sách với một giá trị không đổi chỉ thêm một giá trị không đổi theo thời gian.
Đối chiếu một tìm kiếm tiêu chuẩn thông qua một danh sách chưa được sắp xếp - cách duy nhất để tìm kiếm một giá trị trong trường hợp này là kiểm tra từng cái. Trường hợp xấu nhất (đó là điều Big-O đặc biệt ngụ ý) là giá trị của bạn ở cuối cùng, có nghĩa là đối với danh sách kích thước n , bạn phải kiểm tra n giá trị. Nhân đôi kích thước của danh sách nhân đôi số lần bạn phải kiểm tra, đó là mối quan hệ tuyến tính. O(n) . Nhưng ngay cả khi bạn phải thực hiện hai thao tác trên mỗi giá trị, một số xử lý, ví dụ, mối quan hệ tuyến tính vẫn giữ. O(2n) đơn giản là không hữu ích như một mô tả, vì nó sẽ mô tả chính xác khả năng mở rộng tương tự như O(n) .
Tôi đánh giá cao rằng rất nhiều câu trả lời về cơ bản là bảo bạn tự đi đến kết luận này bằng cách đọc định nghĩa của Big-O. Nhưng sự hiểu biết trực quan này đã khiến tôi mất khá nhiều thời gian để quấn đầu và vì vậy tôi đưa nó ra cho bạn rõ ràng nhất có thể.