众所周知,数组根据定义是同构的。因此,我们必须在数组中放入相同类型的数据。但是,如果我们想存储不同类型的数据,那么有什么技巧呢?在像 C 这样的旧语言中,我们可以使用联合体来人为地将不同类型合并成一种类型。然后,我们可以在此新类型上定义一个数组。这里,数组元素实际包含的对象类型由一个标记确定。让我们来看一下这样的结构 - struct Vehicle{ int id; union { Bus ... 阅读更多
有多种方法可以估计某些算法的成本。一种方法是使用操作计数。我们可以通过选择不同的操作之一来估计算法的时间复杂度。这些操作例如加法、减法等。我们必须检查执行了多少次这些操作。这种方法的成功取决于我们识别出对时间复杂度贡献最大的操作的能力。假设我们有一个大小为 n [0 到 n - 1] 的数组。我们的算法将找到最大元素的索引。我们可以通过计算…阅读更多