Tất cả phụ thuộc vào loại hoạt động bạn đang thực hiện trong khi lặp, tất cả các cấu trúc dữ liệu có sự đánh đổi giữa thời gian và bộ nhớ và tùy thuộc vào nhu cầu của chúng ta, chúng ta nên chọn DS phù hợp. Vì vậy, có một số trường hợp LinkedList nhanh hơn mảng và ngược lại. Hãy xem xét ba hoạt động cơ bản trên cấu trúc dữ liệu.
Vì mảng là cấu trúc dữ liệu dựa trên chỉ mục, việc tìm kiếm Array.get (index) sẽ mất thời gian O (1) trong khi danh sách được liên kết không phải là chỉ mục DS, do đó bạn sẽ cần phải duyệt qua chỉ mục, trong đó chỉ mục <= n, n là kích thước của danh sách được liên kết, vì vậy mảng nhanh hơn danh sách được liên kết khi có quyền truy cập ngẫu nhiên của các phần tử.
Q.So những gì vẻ đẹp đằng sau này?
Vì Mảng là các khối bộ nhớ liền kề, các khối lớn của chúng sẽ được tải vào bộ đệm khi truy cập lần đầu, điều này giúp truy cập các phần tử còn lại của mảng tương đối nhanh, vì chúng ta truy cập vào các phần tử trong tham chiếu mảng cũng tăng nên ít bị bắt hơn bỏ lỡ, địa phương Cache đề cập đến các hoạt động trong bộ đệm và do đó thực thi nhanh hơn nhiều so với trong bộ nhớ, về cơ bản Trong mảng chúng tôi tối đa hóa cơ hội truy cập phần tử tuần tự trong bộ đệm. Mặc dù các danh sách được liên kết không nhất thiết phải nằm trong các khối bộ nhớ liền kề, nhưng không có gì đảm bảo rằng các mục xuất hiện tuần tự trong danh sách thực sự được sắp xếp gần nhau trong bộ nhớ, điều này có nghĩa là ít lần truy cập bộ đệm hơn
Điều này thật dễ dàng và nhanh chóng trong LinkedList vì việc chèn là hoạt động O (1) trong LinkedList (trong Java) so với mảng, hãy xem xét trường hợp khi mảng đầy, chúng ta cần sao chép nội dung sang mảng mới nếu mảng đầy đủ khiến việc chèn một trong trường hợp xấu nhất là ArrayList của O (n), trong khi ArrayList cũng cần cập nhật chỉ mục của nó nếu bạn chèn một cái gì đó ngoại trừ ở cuối mảng, trong trường hợp danh sách được liên kết, chúng ta không cần thay đổi kích thước, bạn chỉ cần thay đổi kích thước cập nhật con trỏ.
Nó hoạt động như các phần chèn thêm và tốt hơn trong LinkedList so với mảng.