data-structures - d=θ(N) 在 d 堆中是什么意思,其中 N 是元素的数量?
问题描述
我想解决的问题:如果您必须在最初具有 N 个元素的 d 堆上执行 M 渗透和 N deleteMins。d=θ(N) 的运行时间是多少?
我对 d=θ(N) 的含义感到困惑。θ 应该表示平均案例运行时间,但在这种情况下,它用于表示 d 的值。
我的问题:我假设这意味着 d = N 所以这意味着实际的堆只是一个根,所有其他元素都连接到那个根。我的解释准确吗?
解决方案
Big-theta 符号通常用于渐近运行时间,但它只是值和函数之间的关系,也可以在其他上下文中使用。
d=θ(N)表示存在常数a和b使得当N足够大时,aN < d < bN
显然,在这种情况下你不能有d > N,因为堆只有N个元素,但是一个常数可以任意小。例如,您可以有d = 0.1N。
问题的措辞表明,无论这些常数a和b是什么,渐近运行时间都是相同的,这对于答案是什么来说是一个很大的暗示。例如,您可以假设d = N,然后检查以确保在d = 0.1N时得到相同的答案。
推荐阅读
- reactjs - 除非我复制数组,否则 useState 不会重新渲染
- javascript - 如何将请求实例默认代理设置为函数
- angular - Angular 服务私有字段是否安全?
- scala - 如何在scala中减去两个向量?
- azure - 同一 Azure 应用服务环境中的两个 Web 应用之间的连接
- javascript - 如何使用 @nuxtjs/auth-module 持久化基于 cookie 的会话?
- java - 将唯一 ID 设置为存储上的文件
- c# - MouseDown 事件处理程序似乎阻止调用 Click 事件处理程序
- javascript - 将 Node.js 数组从端点传递到 Javascript 函数
- c++ - SFML loadFromFile 不起作用,奇怪的错误