Блог Майкова

«Информация на данном сайте предоставляется "КАК ЕСТЬ" без каких-либо гарантий и передачи прав. Мнения, высказанные здесь, являются отражением моего личного взгляда, а не позиции работодателя.»

Решение

Решение задачи из предыдущего поста http://blogs.technet.com/maykov/archive/2006/06/21/438071.aspx

Заводим два указателя - быстрый и медленный. Допустим, быстрый прыгает через два элемента, а медленный идет последовательно по каждому элементу. Если они встретятся - есть цикл. Если дойдут до конца - нет. Тут есть две проблемы:

1. Доказать, что они встретятся.

2. Оценить число итераций в случае если есть цикл. Когда его нет, очевидно число итераций n/m, где n - длина списка, а m - шаг быстрого указателя.

Published Monday, September 18, 2006 8:28 PM by maykov

Comments

No Comments
Anonymous comments are disabled

© 2008 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Microsoft
Page view tracker