Написах следната функция за намиране на даден елемент "x" в даден списък "lst" и връщане на неговия индекс, ако бъде намерен, в противен случай ще върне грешка:
exception Failure of string
let rec func x lst c = match lst with
| [] -> raise(Failure "Not Found")
| hd::tl -> if (hd=x) then c else func x tl (c+1)
let find x lst = func x lst 0
Функцията работи напълно, само се чудя каква е консумацията на памет от нея? Това означава, че консумацията на памет зависи от дължината на списъка? или е O(1)?
Ако не е O(1), може ли някой да ме уведоми какво трябва да направя, за да стане така?
Благодаря ти
Not_found
само за този вид неща. - person gsg   schedule 08.07.2015