我正在学习算法分析,我遇到了一个问题。
我做了什么
我编写了一个程序,它生成 30 棵随机大小的二叉树,其中每棵树的每个节点都有随机值。现在为了使用摊销分析,我(根据需要)为树的每个节点分配了一个等级,如下所示
" 如果一个节点的等级是 r,那么它的左孩子的等级是 r -1,它的右孩子的等级是 r + 1。"
现在要定义每个节点的摊销复杂度,我将以下等式转换为 C++ 代码
"ai = ti + Φ(Si) − Φ(Si−1)" ,其中 Si−1 是 D 在第 i 次调用开始之前的状态,而 Si 是 D 刚刚完成之后的状态。
还剩下什么
我必须将实验结果与摊销分析的估计进行比较。
我在这部分是盲目的,不知道该怎么做。任何擅长它的人,或者只是把我推向正确的方向。我在其他任何地方都找不到帮助。