gpt4 book ai didi

scala - scala中模式匹配的时间复杂度是多少?

转载 作者:行者123 更新时间:2023-12-02 08:01:39 24 4
gpt4 key购买 nike

时间复杂度是否取决于匹配的内容,或者它是否被编译成某种形式的可以执行 O(1) 查找的查找表?

最佳答案

一些 Scala 的 match statements 可以编译成与 Java 的 switch 语句。有一个 annotation以确保。
但是,对于大多数情况,尤其是像解构这样的复杂情况,它将被编译为与一系列 if/else statements 相同的字节码。

一般来说,我不希望它们是“常量” 操作,而是“线性” 操作。无论如何,由于输入的最大检查次数不会改变,通常不会超过十个。正式地说,它具有 O(1) 复杂性。
有关更详细的解释,请参阅 yǝsʞǝlA 的回答。

如果你担心的话,你可以把最常见的情况放在前面,然后再放其他的。但是,我不会真正关心它的性能,您的应用程序不会真正注意到它。我更喜欢代码的可读性和正确性。

关于scala - scala中模式匹配的时间复杂度是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56469026/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com