Κατά τη γνώμη μου τέτοιες ερωτήσεις που δεν καθορίζεται ρητά η είσοδος θέλουν προσοχή.
Αν υποθέσουμε ότι οι είσοδος είναι τα στοιχεία του πίνακα, ναι μεν γίνονται m*n επαναλήψεις, αλλά τόσα είναι τα στοιχεία έτσι κι αλλιώς. Για κάθε στοιχείο γίνεται μόνο δύο πράξεις διάβασμα και προσπέλαση. Άρα ο αλγόριθμος είναι γραμμικός (ως προς το mn όμως)
Συμφωνώ απόλυτα. Θα πρέπει να καθορίζεται από την εκφώνηση το μέγεθος του προβλήματος. Π.χ. σε έναν τετραγωνικό πίνακα nxn μπορείς να θεωρήσεις ως μέγεθος εισόδου τη διάσταση n, οπότε ο παραπάνω αλγόριθμος έχει τάξη Ο(n
2), ενώ αν θεωρήσεις ως μέγεθος εισόδου το πλήθος των στοιχείων του n
2, τότε είναι γραμμικός ως προς αυτό. Συνηθίζεται όμως για λόγους κατανόησης και αποφυγής παρεξηγήσεων με μονοδιάστατους πίνακες, να θεωρούμε ως μέγεθος εισόδου στους δισδιάστατους πίνακες τις διαστάσεις τους και όχι το πλήθος των στοιχείων τους. Είναι θέμα επιλογής ανεξάρτητης μεταβλητής ως μέγεθος εισόδου, γι αυτό όταν ζητείται συγκεκριμένη απάντηση αυτό θα πρέπει να καθορίζεται απ' την εκφώνηση.
Όταν δεν καθορίζεται, τότε αυτός που απαντά θα πρέπει να αναφέρει τι θεωρεί μέγεθος εισόδου με το οποίο θα εκφράσει την τάξη του αλγορίθμου.
Ναι. Σωστά. Εξάλλου, τώρα που το ξανασκέφτομαι, στο O(n2) δεν φαίνεται καν ότι η πολυπλοκότητα εξαρτάται και από το m.
Σωστά, το μέγεθος του προβλήματος εδώ εξαρτάται από δύο ανεξάρτητες μεταβλητές, θεωρώντας ότι ο αλγόριθμος επιλύει το πρόβλημα γεμίσματος ενός τυχαίου δισδιάστατου πίνακα nxm, οπότε έχει τάξη Ο(n*m).
Το Ο(n
2) θα ίσχυε σε ένα υποσύνολο τέτοιων πινάκων όπου θα ξέραμε ότι οι διαστάσεις τους διατηρούν μια γραμμική σχέση μεταξύ τους, π.χ. m=c1*n + c2, όπου c1, c2 κατάλληλοι σταθεροί ακέραιοι (για c1=0, c2>1 θα είχαμε Ο(n)).