Daniel
Sapoundjiev on
Outrun algorithm - Catch me if you can Outrun algorithmOutrun algorithms 8 March 2014 ВъведениеМного полезно е понякога вместо да се изпробват всички възможни варианти да се надбягват стойностите При догонващия алгоритъм броят на итерациите които ще направим не надвишава сбора на стойностите на двата списъка. Така например ако всеки списък има по 100 стойности, то няма да надвиши 200 итерации. Докато ако се правят проверки на всички възможни ще бъде 10 000. Разликата е 50 пъти. При първоначалното настигане няма извършване на проверки. Също след задминаване на края, също няма проверки, дори не се итерира там. Така примерно от тези 200 може в началото да няма проверки. Примерно за първите 50. И ако се задмине края на 150, то последните 50 въобще да не се итерират. Което ще бъде 100 итерации с проверки, и 50 итерации без проверки.
Примерно имаме поредица от стойности 1, 10, 25, 50 Но може да има няколко числа от първата поредица, които да са преди първото число от втората поредица. Примерно 1,3,4, 6 и 5,7,9. Така 1,3,4 ще бъдат преди първото число от втората поредица. ПрограмиранеВ програмирането надбягващия се алгоритъм може да се изнесе в отделен клас. Който да си има първоначално догонване, проверки. Да си прави всичко. Да си взема стойности за двата списъка. Да вика за проверка. Може да ползва и компаратор. И да му се подават стандартни списъци и да ги надбягва. Back to main menu |