Это то, что я до сих пор:граф событие в списке с временной сложностью O (NlogN)
alist=[1,1,1,2,2,3,4,2,2,3,2,2,1]
def icount(alist):
adic={}
for i in alist:
adic[i]=alist.count(i)
return adic
print(icount(alist))
Я сделал некоторые исследования, чтобы выяснить, что временная сложность list.count() является O (n), таким образом, этот код будет O (n^2).
Есть ли способ уменьшить это до O (nlogn)?
См [ 'collections.Counter'] (HTTP: // документы .python.org/3/библиотека/collections.html # collections.Counter). Это для такого рода работы. – falsetru
Если вы просто увеличиваете 'adic [i]', сложность должна быть O (n). – Barmar
Но как узнать временную сложность? –