gpt4 book ai didi

language-agnostic - 您多久担心需要处理多少个 if 案例?

转载 作者:行者123 更新时间:2023-12-03 16:04:53 24 4
gpt4 key购买 nike

如果您有以下情况:

$var = 3; // we'll say it's set to 3 for this example
if ($var == 4) {
// do something
} else if ($var == 5) {
// do something
} else if ($var == 2) {
// do something
} else if ($var == 3) {
// do something
} else {
// do something
}

如果说 80% 的时间 $var是 3,你是否担心在找到真实案例之前它会经历 4 个 if 案例?

我想在一个小网站上这没什么大不了的,但是如果语句每秒运行 1000 次呢?

我正在使用 PHP,但我认为语言无关紧要。

最佳答案

以下是我过去为雷达系统编写软件时我们是如何做到的。 (速度在雷达中很重要。这是“实时”实际上意味着“真实”而不是“快速”的少数几个地方之一。)

[我将切换到 Python 语法,这对我来说更容易,而且我相信你能理解它。]

if var <= 3:
if var == 2:
# do something
elif var == 3:
# do something
else:
raise Exception
else:
if var == 4:
# do something
elif var == 5:
# do something
else:
raise Exception

你的 if 语句形成一棵树而不是一个平面列表。当您向此列表添加条件时,您会在树的中心周围摇晃。 n 次比较的平坦序列平均需要 n/2 步。该树导致进行 log(n) 次比较的一系列比较。

关于language-agnostic - 您多久担心需要处理多少个 if 案例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/172831/

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