3.1.38

上次更新:2019-04-17
发现了题解错误/代码缺陷/排版问题?请点这里:如何:提交反馈

解答

实验结果如下:
BinarySearchST

SequentialSearchST

对于 BinarySearchST ,每次比较之后以及移动元素时令 Cost 增加。
对于 SequentialSearchST,统计每次的查找次数即可。
然后绘制成散点图即可。

代码

有关绘图的函数,传入的参数为第 iPut() 的开销。

public void Draw(int[] data)
{
    Graphics panel = this.CreateGraphics();
    float unitX = (float)this.ClientRectangle.Width / data.Length;
    float unitY = (float)this.ClientRectangle.Height / data.Max();

    int accumulation = 0;
    for (int i = 0; i < data.Length; i++)
    {
        // Gray
        panel.FillEllipse(Brushes.Gray, (i + 1) * unitX, this.ClientRectangle.Bottom - data[i] * unitY, 2, 2);
        // Red
        panel.FillEllipse(Brushes.Red, (i + 1) * unitX, this.ClientRectangle.Bottom - accumulation / (i + 1) * unitY, 2, 2);
        accumulation += data[i];
    }
}

另请参阅

SymbolTable 库

上一题 下一题