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