我想我已经知道了答案,但我想确定一下.我正在构建一个字典作为静态查找表(即,字典在创建后将是不可变的),并且发现这符合以下目的:
L = [{keyA, "A"}, {keyB, "B"}, {keyC, "C"}].
D = dict:from_list(L).
V = dict:fetch(keyA, D).
Run Code Online (Sandbox Code Playgroud)
这是一种可以接受的方法还是还有其他一些我还不熟悉的魔法?
作为一个后续,如果我正在创建一个可变字典,是否真的必须接受诸如此类的阴谋
D = dict:from_list(L).
D1 = dict:append(keyD, "D", D).
Run Code Online (Sandbox Code Playgroud)
最后,而不是围绕通过字典从功能作用,是有持久存储,我可以藏匿和检索,沿的线条register/2- whereis/1常规?
大O记法的正式定义是,如果我们有一个函数f(n)(时间和算法的空间)和其他功能g(x),并有常数c,并no使得c*g(n) > f(x)所有n > no的话f(n) = O(g(n))。但是使用这个定义以及不断增长的二次函数总是会在某个时候超过线性函数的事实,所有O(n)函数都是真的O(n²)吗?或者更好地说,是n = O(n²)?
algorithm complexity-theory big-o time-complexity space-complexity