Λάθος (?) στο θέμα 30806 - Τράπεζα Θεμάτων

Ξεκίνησε από noname, 05 Ιουν 2024, 08:30:27 ΜΜ

« προηγούμενο - επόμενο »

noname

Στο θέμα #30806 της Τράπεζας Θεμάτων λέει:

ΠαράθεσηΣε ένα μονοδιάστατο πίνακα Ν θέσεων υπάρχει ακριβώς σε έναν κόμβο (θέση) το στοιχείο key. Προκειμένου να βρεθεί η θέση του πόσες επαναλήψεις το πολύ θα χρειαστεί να υλοποιήσει ένα πρόγραμμα αναζήτησης στις παρακάτω περιπτώσεις; (Να γράψετε στο τετράδιο σας τον αριθμό της κάθε περίπτωσης και δίπλα πόσες το πολύ επαναλήψεις θα χρειαστούν). 
Α/ΑNΜέθοδος Αναζήτησης
12Σειριακή
22Δυαδική
34Σειριακή
44Δυαδική
5129Δυαδική

και δίνει προτεινόμενη λύση:

Παράθεση
Α/ΑNΜέθοδος Αναζήτησης Απάντηση
12Σειριακή 1
22Δυαδική 1
34Σειριακή 3
44Δυαδική 2
5129Δυαδική 8

Παρακαλώ, θα ήθελα τη γνώμη σας.


johnk

Νομίζω τα 3 πρώτα μου φαίνονται λάθος. Τα 2 τελευταιά αν πάμε με τον τύπο Log2(N) + 1 βγαίνουν σωστά. Γενικά και άλλα θέματα τις τράπεζας έχουν παράξενες εκφωνήσεις και λύσεις, σε προγράμματα βασικά πιο πολύ

noname

Όλα εκτός από το τελευταίο θεωρώ ότι είναι λάθος. 

Όπως και να έχει θεωρώ απαράδεκτο να έχουν λάθος λύσεις στην Τράπεζα Θεμάτων. 

Κυρίως για μαθητές που χρησιμοποιούν την Τράπεζα Θεμάτων για μελέτη. 

ApoAntonis

Στην πρώτη περίπτωση όπου το Ν είναι 2 και το στοιχείο key υπάρχει, χρειάζεται 1 επανάληψη.
Αν δεν το βρούμε στην πρώτη θέση βρίσκεται στην επόμενη. 

Ομοίως και παρακάτω.

Μπερδεύει όπως έχει γραφτεί γιατί στην εκφώνηση το Ν είναι η διάσταση του πίνακα και στην απάντηση το Ν είναι ο αριθμός των επαναλήψεων. Θέλει λίγο φτιάξιμο.

noname

Αλήθεια τώρα; 
Ο αλγόριθμος της σειριακής αναζήτησης ελέγχει Ν-1 στοιχεία; Είναι αστείο το θέμα αυτό και παραπλανητικο για τους μαθητές. 

ApoAntonis


lospsi

ΣΤΟ ΙΔΙΟ ΘΕΜΑ το 2.1
Σε πρόγραμμα υλοποίησης του αλγόριθμου της σειριακής αναζήτησης χωρίς τερματισμό του αλγορίθμου όταν βρεθεί το ζητούμενο στοιχείο αναζητούμε τη θέση ενός στοιχείου που υπάρχει περισσότερες από μία φορές στον πίνακα.
Α) Ποια θέση θα μας επιστρέψει το πρόγραμμα και γιατί;
Β) Τι επιπλέον πρέπει να προστεθεί στον κώδικα ώστε να μας επιστρέφει πόσες φορές και σε ποιες θέσεις υπάρχει το ζητούμενο στοιχείο;

ΕΝΔΕΙΚΤΙΚΗ ΑΠΑΝΤΗΣΗ

2.1
Α) Την τελευταία θέση που θα βρεθεί το στοιχείο διότι ο αλγόριθμος θα διατρέξει όλο τον πίνακα.
Β) Θα πρέπει να μετρηθούν οι φορές που βρίσκεται τιμή ίση με τη ζητούμενη (key) και να καταχωρούνται σε πίνακα οι θέσεις που βρέθηκε η ζητούμενη τιμή.

Ο πίνακας στην απάντηση που δίνει στο Β είναι περιττός. Θέλει ενα μετρητή (ποσες φορές το βρίσκει το ζητούμενο στοιχείο) και μια εντολή εμφάνισε μέσα στην επανάληψη της αναζήτησης για τη θέση που το εντοπίζει κάθε φορά 

petrosp13

Επειδή αναφέρει την λέξη "επιστρέφει" και όχι "εμφανίζει", νομίζω ότι η λύση τους είναι ενδεδειγμένη. Μάλλον επιθυμεί να αποθηκευτούν οι θέσεις για χρήση αργότερα και όχι απλά να εμφανιστούν εκεί
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής