Select the statement that is most correct. Basically, the complexity of inserting new element before a given node in the middle of a singly linked lists is

4 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "O(n)". Trong danh sách liên kết đơn, mỗi nút chỉ giữ liên kết tới nút sau. Muốn chèn nút mới đứng trước một nút đã cho thì phải sửa liên kết next của nút đứng ngay trước nó, mà từ nút đã cho không có đường đi lùi; cách duy nhất là dò lại từ đầu danh sách cho tới khi gặp nút có next trỏ đúng vào nút đó. Lượt dò ấy có thể đi qua gần hết danh sách nên chi phí tỉ lệ với số nút, tức O(n), còn phần gắn liên kết chỉ là vài phép gán. "O(1)" chỉ đúng với danh sách liên kết đôi, nơi nút đã cho giữ sẵn liên kết prev tới nút trước. "O(log n)" đòi mỗi bước loại bỏ được một nửa dữ liệu như tìm nhị phân, điều không làm được trên danh sách liên kết vì không truy cập ngẫu nhiên tới phần tử giữa. "O(n^2)" ứng với hai vòng lặp lồng nhau, trong khi thao tác này chỉ cần một lượt dò.

Cùng phần 1

Xuất hiện trong 1 bộ đề