Suppose we have very large sparse vectors (most of the elements in vector are zeros)
- Find a data structure to store them
- Compute the Dot Product.
Follow-up:
What if one of the vectors is very small?
1 a = [(1,2),(2,3),(100,5)] 2 b = [(0,5),(1,1),(100,6)] 3 4 i = 0; j = 0 5 result = 0 6 while i < len(a) and j < len(b): 7 if a[i][0] == b[j][0]: 8 result += a[i][1] * b[j][1] 9 i += 1 10 j += 1 11 elif a[i][0] < b[j][0]: 12 i += 1 13 else: 14 j += 1 15 print(result)
原文地址:https://www.cnblogs.com/beiyeqingteng/p/12268049.html
时间: 2024-10-08 03:27:43