Python 3.2.3 (default, Apr 11 2012, 07:15:24) [MSC v.1500 32 bit (Intel)] on win32 Type "copyright", "credits" or "license()" for more information. >>> ================================ RESTART ================================ >>> >>> repeat_naive("ababa", 3) True >>> repeat_naive("ababa", 4) False >>> repeat_naive("hello"*10, 45) True >>> repeat_naive("hello"*10, 46) False >>> s = gen_str(1000) >>> s 'tjsljexoaxyduxccvencctsivgjqesaabtwqbyrpujeuoeuqkqmotkcfiusetouiiyrpwzbcvijgigiykklxgzotxknsycmnjzsbgyshohidhgdvckvurctiprallxcgnfizpctdfzjdgmbssylinwcbzoxmnfnwcluyyyjtzvexlnqwifheabmuphuoygckvzdmwghjsuevvscdvkjqfsgyxvfjiuozofbdnskymykjwgkmvyqsogfxukzknqfccrfqnzydmdtkdnuqvvtosgztaztwokedffwivyfkxyspehlhkbtjnhellcwwzoeiqlljrftnhvhcoqcpqrphlygmtvwsmjfounmxkprorzidkxwgpwwugeejffxlptpvkoijhkidlsxtngonlsfncqgmljnkmempscwirknvjvumybhjcxpcugsovhdojwwjvezqgehcycmubbbqoxckcllnxtsufpqzqwdonxaprjcsihmwxffaflooxokatsdrqxvhvubamojaqkilrgbfpvupqpoegrefwpxdqavcmhpdcbvorzehkwakjpkhaaqqenwmskxcpnapyjbqlghmafjmkkwhexsijmaspebszzffxumemnfctmzqetwuauqwvvjqwreqstxskdcinfqgmvsynjdibzxeceswrisqamcvuxkvxmyiaqaxrimifklwndlfmvfsrvbisqbfigujqmmkurhassdeshvpkjvnkifoviixiapejsipzdqcxfpxtykufyndqtgazkryvkjtywgdhaphkfsmndmaggopsemsyytltarvuxrunuwvslcgzxousqyfkbwubouppuswjwpnhoqyztwtpfcxvnsbozrjfndskfouxxfxcnqlwkwqebnhxiaozwpsvmutyfizogrnirrcqmegyxbgpyuyazsnkkaxrqizdqskhoggqsqlehqqbhmiyswzwprzikotavriegxoxfcdcwuccplr' >>> repeat_naive(s,5) False >>> repeat_naive(s,4) False >>> repeat_naive(s,3) True >>> s = gen_str(10**5) >>> repeat_naive(s,2) True >>> repeat_naive(s,3) True >>> repeat_naive(s,10) #TOO LONG!! Traceback (most recent call last): File "", line 1, in repeat_naive(s,10) File "C:\Documents and Settings\exact_user\Desktop\hash.py", line 69, in repeat_naive if st[i:i+l]==st[j:j+l]: KeyboardInterrupt >>> repeat_hash1(s,10) False #immediate! >>> ================================ RESTART ================================ >>> str_len= 1000 repeating substring len= 10 repeat_naive 0.16465407400516932 found? False repeat_hash1 0.003905117838182648 found? False repeat_hash2 0.0005424739041746673 found? False >>> ================================ RESTART ================================ >>> str_len= 2000 repeating substring len= 10 repeat_naive 0.6860702218560427 found? False repeat_hash1 0.007894430343581171 found? False repeat_hash2 0.0011715912639614912 found? False >>> ================================ RESTART ================================ >>> str_len= 2000 repeating substring len= 10 #alphabet = "ATGC" repeat_naive 0.1802095194115732 found? True repeat_hash1 0.002498753845438295 found? True repeat_hash2 0.00033847996385455437 found? True >>> ================================ RESTART ================================ >>> str_len= 2000 repeating substring len= 10 #alphabet = "01" repeat_naive 0.0007244078191132403 found? True repeat_hash1 0.0004799894354265352 found? True repeat_hash2 3.3421925144348774e-05 found? True >>>