Nhưng kéo dài hóa số liệu kết cấu tóm tắt
Tóm tắt
Nhưng kéo dài hóa số liệu kết cấu (Persistent data structure) luôn là có thể giữ lại mỗi một cái lịch sử phiên bản, hơn nữa duy trì thao tác không thể đổi đặc tính (immutable).
Nhưng kéo dài hoá phân loại
Bộ phận nhưng kéo dài hóa (Partially Persistent)
Sở hữu phiên bản đều có thể phỏng vấn, nhưng là chỉ có mới nhất phiên bản có thể sửa chữa.
Hoàn toàn nhưng kéo dài hóa (Fully Persistent)
Sở hữu phiên bản đều đã có thể phỏng vấn lại có thể sửa chữa.
Nếu duy trì đem hai cái lịch sử phiên bản xác nhập, tắc lại xưng là Confluently Persistent
Thực tế ứng dụng
Bao nhiêu tính toán
Ở bao nhiêu tính toán trung có rất nhiều ly tuyến thuật toán, như rà quét tuyến thuật toán một lần đảo qua đi trả lời sở hữu dò hỏi, ở thời gian phức tạp độ phân tích thượng tương đương ưu dị. Nhưng cưỡng bách tại tuyến dưới tình huống, mỗi một lần đều rà quét một lần, dò hỏi thao tác thời gian phức tạp độ liền từ đối số thời gian hàng thành tuyến tính. Vì giải quyết này một loại tình huống, kéo dài hóa kỹ thuật cho một loại khác tư duy, chúng ta đem rà quét tuyến thời gian trục làm một cái biến động căn cứ, kéo dài hóa tương quan kết cấu, chỉ cần chúng ta có thể đem dò hỏi ở đối số thời gian nội xuyên qua với thời gian này trục, nhất định có thể động thái giải quyết lúc trước vấn đề.
Tự xuyến xử lý
Vì đạt tới phi thường hiệu suất cao xác nhập thao tác, phòng ngừa đại lượng lặp lại tính tự xuyến sinh thành cùng với hiệu năng thoái hóa, khiến cho các phương diện thao tác đều có thể xa thấp hơn tuyến tính thao tác. Như C++ rope chính là một cái kéo dài hóa số liệu kết cấu. Không chỉ là tự xuyến thao tác, nếu xử lý loại hình có đại lượng lặp lại tình huống, kéo dài hóa khái niệm liền có thể có tác dụng.
Phiên bản hồi tưởng
Trên thực tế chính là đối ứng đại bộ phận ứng dụng mềm thể trung redo/undo. Nếu cơ sở dữ liệu / thao tác biến động vì hiệu suất cao thao tác mà sẽ xứng với phức tạp kết cấu ( cũng không giống hash, set xoay ngược lại thao tác chỉ cần hằng số hoặc đối số thời gian ), như vậy vì nhanh chóng hồi đẩy biến động kết quả, kéo dài hóa kết cấu chính là muốn giảm bớt redo/undo tiêu phí.
Cơ sở dữ liệu bản thân có thể hằng số hồi đẩy, kỷ lục biến động bộ phận tình huống là được. Mà ứng dụng tầng tính toán, đại bộ phận thật làm đều là chém rớt mau lấy, hơn nữa một lần nữa tính toán ra một phần tân kết cấu, có đôi khi hồi đẩy biến động lớn nhỏ vì m, vì một lần nữa tính toán kết cấu mà tiêu hao n+m, nếu n cùng m chênh lệch phi thường đại, kia liên tục hồi đẩy thể cảm liền rất không xong.
Hàm số thức biên trình
Hàm số thức biên trình yêu cầu đặc biệt số liệu kết cấu lấy phù hợp ngôn ngữ đặc tính, trong đó không thể đổi tính chất càng vì quan trọng, lấy lợi cho song hành hoàn cảnh cùng trừ sai. Như mặt hướng đối tượng biên trình Java 8 sau dẫn vào stream loại, chi viện viết ra hàm số thức ngữ pháp thiết kế, nhưng cung cấp tính trơ cầu giá trị, vô hạn giá trị vực chờ đặc thù công năng.
Tham khảo
- https://en.wikipedia.org/wiki/Persistent_data_structure
- MIT chương trình họchttps://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-854j-advanced-algorithms-fall-2005/lecture-notes/persistent.pdf
Bổn giao diện gần nhất đổi mới:2023/2/18 07:57:07,Đổi mới lịch sử
Phát hiện sai lầm? Tưởng cùng nhau hoàn thiện?Ở GitHub thượng biên tập này trang!
Bổn giao diện cống hiến giả:morris821028,Enter-tainer,GavinZhengOI,Ir1d,Xeonacid
Bổn giao diện toàn bộ nội dung ởCC BY-SA 4.0CùngSATAHiệp nghị chi điều khoản hạ cung cấp, phụ gia điều khoản cũng khả năng ứng dụng