MATLAB có bất kỳ hỗ trợ nào cho bảng băm không?
Một số nền
Tôi đang giải quyết một vấn đề trong Matlab yêu cầu biểu diễn không gian theo tỷ lệ của một hình ảnh. Để làm điều này để tạo bộ lọc 2-D Gaussian với phương sai sigma*s^k
cho k
trong một số phạm vi., Và sau đó tôi sử dụng mỗi một lần lượt để lọc hình ảnh. Bây giờ, tôi muốn một số loại ánh xạ từ k
hình ảnh được lọc.
Nếu k
luôn là số nguyên, tôi chỉ cần tạo một mảng 3D sao cho:
arr[k] = <image filtered with k-th guassian>
Tuy nhiên, k
không nhất thiết phải là một số nguyên, vì vậy tôi không thể làm điều này. Những gì tôi nghĩ đến việc làm là giữ một mảng k
như vậy:
arr[find(array_of_ks_ = k)] = <image filtered with k-th guassian>
Thoạt nghe, điều này có vẻ khá tốt, ngoại trừ việc tôi sẽ thực hiện tra cứu này vài nghìn lần với khoảng 20 hoặc 30 giá trị k
và tôi sợ rằng điều này sẽ ảnh hưởng đến hiệu suất.
Tôi tự hỏi nếu tôi sẽ không được phục vụ tốt hơn khi làm điều này với một bảng băm nào đó để tôi có thời gian tra cứu là O (1) thay vì O (n).
Bây giờ, tôi biết rằng tôi không nên tối ưu hóa quá sớm và tôi có thể không gặp sự cố này, nhưng hãy nhớ rằng, đây chỉ là nền và có thể có những trường hợp đây thực sự là giải pháp tốt nhất, bất kể nó có phải là giải pháp tốt nhất cho vấn đề của tôi .