精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>C/C++>>算法集锦--------梦入玄机>>Re:微软面试题目:单链表的Loop判断

主题:Re:微软面试题目:单链表的Loop判断
发信人: wenbobo()
整理人: wenbobo(2003-08-23 11:06:54), 站内信件
表项是有深度的,依次为0(表头),1,2,3....n....

我所说的查找,是指第n个表项,从第一个到第n-1个遍历,看看前面的next指针有没有和第n个的next相等的。

我所说的step是指查找第n个表项后,直接查找第n+step个,以减少查找次数。

如果在n+step的查找中发现有重复,则链表末尾肯定在n~n+step之间。

接下来,检测表项(n + ( n + step ) ) / 2,看看有无重复,“二分发”不用我说了吧,只是其中的比较函数是我们的查找函数而已。


----

太阳当头照,花儿对我笑,小鸟说早早早,你为什么背个炸药包?
我去炸学校,谁也不知道,一拉线儿,我就跑,轰隆一声学校不见了。
     

[关闭][返回]