【问题标题】:Algorithmic complexity of PHP function strlen()PHP函数strlen()的算法复杂度
【发布时间】:2011-07-14 14:54:25
【问题描述】:

最近面试被问到这个问题,不知道怎么回答。

谁能回答这个问题并描述一下?

【问题讨论】:

    标签: php algorithm complexity-theory


    【解决方案1】:

    我会假设该函数是 O(n),因为它需要遍历字符串一次。

    【讨论】:

    • 为什么需要这样做?你假设它被存储为一个没有额外信息的字符数组。
    【解决方案2】:

    O(1) 因为长度被存储为属性:source

    然而,我们的主持人herehere 提供的关于微优化剧院的讨论值得反驳;阅读这两个链接,无论您是否知道特定答案,您都会找到一个很好的谈话点来改变下次出现类似问题时的谈话势头!

    面试官对你的切线的反应会告诉你很多关于你想与他们合作的程度..

    【讨论】:

    • 谢谢。能不能多发一些类似的文章来阅读?面试官呢 - 他正在寻找比我更有资格的开发人员,这个问题不仅仅是“为了好玩”。但它让我更好地了解了我的技能弱点。
    • +1 表示“微优化影院”。个人资料,profileprofile
    • 面试官可能正在阅读准备好的问题清单?即使在谷歌。越早让他们离开赛道越好。
    • 我没有看到您的来源提到字符串长度作为属性存储的位置。
    • 比较一个 O(n) 字符串连接实现与其他一些 O(n) 字符串连接实现可能是微优化剧场。知道 strlen 是 O(1) 还是 O(n) 会产生巨大的影响;看看sscanf's unexpected O(n) implementation led to O(n^2) parsing如何。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-09
    • 1970-01-01
    • 1970-01-01
    • 2017-09-26
    • 2015-02-27
    相关资源
    最近更新 更多