Corrected complexity for build_stats method.
This commit is contained in:
parent
cfc9c1939d
commit
0a92dcc89d
8
app.py
8
app.py
@ -14,12 +14,17 @@ class Stats:
|
||||
a linear amount of time, in the data length.
|
||||
"""
|
||||
_data = {}
|
||||
# loop is linear in the data.
|
||||
for v in data:
|
||||
# Dictionary access should be constant time.
|
||||
_data[v] = _data.get(v, 0) + 1
|
||||
|
||||
_list, prev = [], 0
|
||||
# Adding a constant 1001 steps.
|
||||
for i in range(0, 1002):
|
||||
# Constant time step
|
||||
new = _data.get(i, 0) + prev
|
||||
# constant time step
|
||||
_list.append(new)
|
||||
prev = new
|
||||
self._list = _list
|
||||
@ -72,7 +77,8 @@ class DataCapture:
|
||||
which I think it's a good assumption to start
|
||||
with.
|
||||
"""
|
||||
return Stats(sorted(self._values))
|
||||
# The sorted where turns this in to O(n*log(n))
|
||||
return Stats(self._values)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
Loading…
Reference in New Issue
Block a user