Bất cứ ai có thể giải thích sự phức tạp của các phương pháp Dictionary
sau đây là gì?Sự phức tạp của các phương pháp từ điển này là gì?
ContainsKey(key)
Add(key,value);
Tôi đang cố gắng tìm ra sự phức tạp của một phương pháp tôi đã viết:
public void DistinctWords(String s)
{
Dictionary<string,string> d = new Dictionary<string,string>();
String[] splitted = s.split(" ");
foreach (String ss in splitted)
{
if (!d.containskey(ss))
d.add(ss,null);
}
}
Tôi giả định rằng 2 phương pháp từ điển có của log (n) sự phức tạp nơi n là số các phím trong từ điển. Điều này có đúng không?
Không, tôi tin rằng cả hai '' ContainsKey'' và '' Add'' là hằng số trong trường hợp trung bình. * Chỉnh sửa *: Ngoài ra bạn nên kiểm tra một '' HashSet''. Nó làm những gì bạn đang cố gắng sử dụng một '' Dictionary'' cho sạch hơn nhiều. – BishopRook