我正在修改 Big O 和其他相关边界的正式定义,有些事情让我感到困惑。在我正在阅读的书中 (Skiena) Big O 被定义为:
f(n) = O(g(n)) 当存在一个常数 c 使得 f(n) 对于某个 n > n0 的值总是 <= c*g(n)
这对我来说通常是有意义的。我们只关心足够大的 n 值,以至于增长率实际上很重要。但是为什么将 g(n) 乘以 c?似乎我可以为 c 选择一个非常大的值,并通过消除较小的 g(n) 值的大小来使整个事情变得随意。
辅助问题:选择将算法分类为复杂性类时,是拇指的一般规则,只需根据大O的定义选择仍然保存的最低增长类?根据定义,将恒定时间算法分类为 O(n!) 似乎是有效的,因为 f(n) 将 <= c*g(n)。当然,这没有任何价值。
谢谢!
我有一个标准程序来确定列表的成员资格:
member(X, [X|_]).
member(X, [_|T]) :- member(X, T).
Run Code Online (Sandbox Code Playgroud)
当我提出以下查询时,我不明白的原因是:
?- member(a,[a,b]).
Run Code Online (Sandbox Code Playgroud)
结果是
True;
False.
Run Code Online (Sandbox Code Playgroud)
我会想到,在使用第一条规则满足目标时(作为列表的头部),将返回True,这将是if的结束.看起来好像是在试图用第二条规则来满足目标并且失败了?
Prolog翻译是SWI-Prolog.
我正在运行OSX Mavericks并已安装Macports。我gcc通过Macports它安装,工作正常。但是,当我输入时,man gcc我只得到:
No manual entry for gcc
Run Code Online (Sandbox Code Playgroud)
有人告诉我需要将以下内容添加到我的.bash_profile
export MANPATH=/opt/local/share/man:$MANPATH
Run Code Online (Sandbox Code Playgroud)
我已经做了但没有效果。Macports 是否确实安装了相应的手册页?“port”命令的手册页以及其他预装工具(例如 clang)都可以正常工作。
有什么帮助吗?干杯。
有没有人知道我是否可以导入与Xcode中使用的语法颜色相匹配的Sublime Text的配色方案?我看起来高低,找不到任何东西.我喜欢崇高,但我不喜欢配色方案而更喜欢Xcode.
干杯!
algorithm ×1
big-o ×1
gcc ×1
macports ×1
prolog ×1
sublimetext ×1
sublimetext2 ×1
swi-prolog ×1
xcode ×1