2014-10-30 32 views
0

最近我有一個Java軟件開發人員的採訪和麪試官問了我一些,據我,愚蠢的問題。其中之一是如果你有e鏈表,如何找到鏈表中是否存在循環。現在我的問題不是如何檢查週期,但是,我需要一個真正的例子,當這個問題將會產生,我什麼時候需要檢查開發java web應用程序的列表?什麼時候需要檢查鏈接列表循環?

+0

我用一個旋轉緩衝區我的一個項目。該緩衝區存儲在一個數組中,並使用花哨的光標跟蹤進行旋轉,但它也可以作爲循環緩衝區來實現。 – Adam 2014-10-30 07:46:45

+0

看看這個問題,它似乎與你所問的相似,並且在答案中有例子。 http://stackoverflow.com/questions/494830/how-to-determine-if-a-linked-list-has-a-cycle-using-only-two-memory-locations – guribe94 2014-10-30 07:47:25

+0

你的意思'cycle'什麼? – Babel 2014-10-30 07:48:52

回答

0

鏈表是最簡單和最常見的數據結構中。它們可以被用來實現一些其他常見的抽象數據類型,包括列表(抽象數據類型),棧,隊列,關聯數組和S-表情,雖然這種情況並不少見,直接實現另一個數據結構不使用列表作爲實施的依據。{}維基百科

畸形鏈表與循環導致無限遍歷所有列表失敗,因爲迭代永遠不會到達列表的末尾。因此,希望能夠在嘗試迭代之前檢測鏈接列表是否格式錯誤。因此,在鏈接列表中查找循環將有助於避免錯誤及其來自計算機科學的基本問題。 你應該知道。

+0

這還是書籍講座,理論。給我一個真正的例子作爲開發者,你必須檢查一些鏈表是否有循環:) – Adelin 2014-10-30 12:15:44