Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
数据偏好¶
在面对问题 X 的时候,你有没有对应该使用数据结构 Y 还是 Z 产生过困惑?本文会涉及到与这些困境有关的各种主题。
备注
本文会提及“[某某]时间”的操作。这个术语来自于算法分析中的大 O 表示法。
简而言之,它描述了最坏情况下的运行时长。用外行的话来说:
“随着问题域的大小增加,算法的运行时长……”
常量时间,
O(1)
:“……不会增加。”对数时间,
O(log n)
:“……会以较慢的速度增长。”线性时间,
O(n)
:“……会以相同的速度增长。”等等。
想象一下, 如果必须在一帧内处理300万个数据点. 不可能使用线性时间算法来设计这个特性, 因为数据的绝对大小, 将使运行时间大大超出分配的时间. 相比之下, 使用常量时间算法可以毫无问题地处理该操作.
总的来说, 开发人员希望尽可能避免进行线性时间操作. 但是, 如果保持线性时间运算的规模很小,