You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

算法复杂度表达式#+(n) = [log n] + (ν(n)-1)中#+(n)的含义是什么?

关于《From Mathematics to Generic Programming》中#+符号的解释

这个符号是本书作者为算法复杂度分析自定义的专用计数符号,不属于通用标准数学函数范畴,也不是英文词汇无需翻译。

具体含义

#+的完整意义是执行加法操作的总次数,#+(n)即使用埃及乘法计算时,以n作为减半基准乘数所需的加法操作总次数,对应你提到的复杂度公式:
#+(n) = ⌊log₂n⌋ + (ν(n) - 1)

  • 公式中⌊log₂n⌋是对n的以2为底对数向下取整,对应将n不断减半到1的过程中,对被乘数做加倍操作需要的加法次数
  • 公式中ν(n)是数论中通用的popcount函数,代表n的二进制表示里1的个数,减1是因为k个数值累加只需要k-1次加法操作

注意:该符号仅在本书的算法复杂度分析语境下使用,不属于通用数学符号体系,其他场景下极少出现相同用法。

内容的提问来源于stack exchange,提问作者Dmitry L.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 17:36:03