我正在嘗試使用search_slow和search_fast算法來查看兩者之間是否存在顯着差異,並在不同計算機上運行此代碼以查看時間差也。我已經讓他們工作,但是,針似乎沒有工作。無法在search_slow中定義某些「針」和python中的search_fast算法
如果某個單詞在文本文件中並不重要,如果在test.txt文件中找不到指針,它應該返回false。有點困難來解釋,所以我希望下面的代碼將介紹一些關於我嘗試做了一下:
import timeit
haystack = open('test.txt', 'r+')
haystack = list(haystack.read().split())
needle = "Hello"
def search_fast(haystack, needle):
for item in haystack:
if item == needle:
return_value = True
return True
return False
def search_slow(haystack, needle):
return_value = False
for item in haystack:
if item == needle:
return_value = True
return return_value
search_slow(haystack, needle)
print(timeit.timeit("search_slow(haystack, needle)", setup="from __main__ import search_slow, haystack, needle"))
search_fast(haystack, needle)
print(timeit.timeit("search_fast(haystack, needle)", setup="from __main__ import search_fast, haystack, needle"))
test.txt的內容是:
This is a random text file to test !
值當我運行程序我得到有:
0.77570605278
0.187502861023
請描述當前正在發生的事情,然後解釋這是如何偏離你的期望。 –
我認爲目前發生的事情是它通過test.txt文件,然後花費多長時間才能通過文本文件。 我想要實現的是添加一個更大的文本文件,並查看需要多長時間才能在文本文件中找到某個元素或符號。 目前針沒有任何作用,即使文本文件中沒有元素或符號AKA「needle」,程序也會返回一定的時間。 – user3062391