今天刚去网易笔试了,有一道题目不是很懂,上网查了下,但是没找到啥答案,特发贴到此,真诚的希望各位高手给指点一二,小弟我不胜感激。注明我是学java的。
设计一种改进型的链表结构来优化随机定位操作的性能?给出设计思路及改进后随机定位操作的时间复杂度?

解决方案 »

  1.   

    设置另外一个“标准”链表作为这个链表的索引,这个“标准”链表的每个结点存储的都是原链表的某个结点的地址(具体索引到哪个结点看具体情况,如果不知道具体情况,可以考虑每X个原结点对应一个索引结点),这样查询的时候就可以使用这个索引结点加快速度了。
    比如采用刚才说的每X个原结点对应一个索引结点的方式,比如100个原结点对应一个索引结点,那么比如你要查询第2345个原结点,所需的时间复杂度是2345/100+2345%100。当然,这只是一个思路,看看有没有其他网友给出其他的思路。