这些数据结构的行为和属性不影响像图、二叉树、链表等“高级”数据结构的行为吗?例如:数组的访问是O(1),那么这个属性在二叉树O (log n)的时间复杂度中有什么影响或因素?
发布于 2018-01-26 06:28:31
O(1)是通过数组索引访问数组元素的时间复杂性.
可以使用数组作为二叉树的后备存储。这确实会为最终按索引执行数组访问的操作提供O(1)的时间复杂性,但对其他事情则不然。
例如,您可以在O(1)中获取树的根元素--这只是从0位置的数组中检索它。
但是,如果您想找出树中是否存在一个元素,这可以归结为(一种特殊形式的)二进制搜索,即O(log n)。
还请注意,并不是数组上的每个操作都是O(1)。二进制搜索是O(log n),这假定数组是排序的。如果不是,则需要进行线性搜索,即O(n)。
https://stackoverflow.com/questions/48456461
复制相似问题