Thuộc tính nào tạo bảng băm, danh sách băm và cây băm khác nhau? Cái nào được sử dụng khi nào? Khi bàn cao hơn cây.Hash table vs Hash list vs Hash tree?
Trả lời
- Hashtable: đó là một cấu trúc dữ liệu mà bạn có thể chèn cặp (key, value), trong đó chủ yếu được sử dụng để tính toán một hashcode rằng là cần thiết để quyết định nơi để lưu trữ các giá trị liên quan đến chủ chốt . Kiểu cấu trúc này hữu ích bởi vì việc tính toán hashcode là O (1), vì vậy bạn có thể tìm hoặc đặt một mục trong thời gian không đổi. (Lưu ý rằng có những cảnh báo và triển khai khác nhau làm thay đổi hiệu suất này một chút)
- Hashlist: nó chỉ là danh sách mã băm được tính toán trên nhiều khối dữ liệu khác nhau. Ví dụ: bạn chia một tệp ở nhiều phần và bạn tính toán mã băm cho mỗi phần, sau đó bạn lưu trữ tất cả chúng trong một danh sách. Sau đó, bạn có thể sử dụng danh sách đó để xác minh tính toàn vẹn của dữ liệu.
- Hashtree: tương tự như danh sách băm băm nhưng thay vì có danh sách băm bạn có cây, vì vậy mọi nút trong cây là mã băm được tính trên con của nó. Tất nhiên lá sẽ là dữ liệu mà từ đó bạn bắt đầu tính toán mã băm.
Hashtable thường là hữu ích (họ còn được gọi là hashmaps) trong khi hashlists và hashtrees có phần cụ thể hơn và hữu ích cho các mục đích chính xác ..
Tôi đang cố triển khai Apriori Algorithm cho Dự án Khai thác dữ liệu của tôi & HashTree là một cấu trúc dữ liệu tốt để tính toán số lượng hỗ trợ của các ứng cử viên được tạo ra. Ai đó có thể chỉ định cách triển khai cây băm (vì tôi không thể tìm thấy thông tin tốt về hashtree trên web). Bất kỳ trợ giúp nào sẽ được đánh giá cao, cảm ơn bạn! – saltmotor
Điều này giả định "cây băm" là một từ đồng nghĩa cho "cây Merkle". Ngoài ra còn có [cấu trúc dữ liệu mục đích chung theo tên đó] (https://en.wikipedia.org/wiki/Hash_tree_%28persistent_data_structure%29). –
sự khác biệt giữa các bộ là gì, danh sách và cây cối? Bây giờ thêm Hashing. –
Tôi không hiểu nhiều từ wikipedia, đó là lý do tại sao tôi đang tìm kiếm một câu trả lời tốt hơn ở đây. –