Στο μάθημα (αν θυμάμαι καλά) είχαμε αναφέρει ότι στην ML δεν είναι εφικτό να πάρεις κατ' ευθείαν το τελευταίο στοιχείο μιας λίστας, σε αντίθεση με το πρώτο (hd x
). Εδώ βρήκα ότι υπάρχει η συνάρτηση val last : 'a list -> 'a
(List.last
), που δίνει πράγματι το τελευταίο στοιχείο. Δυστυχώς, ο ιστότοπος δεν αναφέρει κάτι για την πολυπλοκότητά της. Η ερώτηση μου, λοιπόν, είναι εάν έχει καλή πολυπλοκότητα η List.last
, δηλαδή $Ο(1)$ κι όχι $Ο(n)$ (=κάθε φορά που την καλώ να διατρέχει όλη τη λίστα μέχρι να φτάσει στο τέλος).