Προς το περιεχόμενο

C Sequence


Επισκέπτης

Προτεινόμενες αναρτήσεις

Επισκέπτης
Δημοσ.

Διαβαζω ενα βιβλιο για αλγοριθμους για C και δεν μπορω να καταλαβω τι ακριβως ζηταει και πως θα μπορουσε να γινει.

 

Αναφορά σε κείμενο

Suppose we are given a sequence of n elements, on which a total order relation is defined. Describe an efficient method for determining whether there are two equal elements in S. What is the running time of your method?

 

Θα μπορουσε να βοηθήσει κάποιος ?

Δημοσ.

Έτσι όπως το καταλαβαίνω, εννοεί ότι η ακολουθία είναι ταξινομημένη. Αν ισχύει αυτό, τότε ένας τρόπος να βρεις δύο ίδια στοιχεία είναι να ελέγχεις για ισότητα ανά δύο, κάπως έτσι:

for (i = 0; i < N-1; ++i) {
    if (sequence[i] == sequence[i+1]) {
        break;
    }
}

 

Επισκέπτης
Δημοσ. (επεξεργασμένο)

Κατ'αρχάς total order:

https://en.wikipedia.org/wiki/Total_order

@GReaperEx Δεν νομίζω ότι είναι ταξινομημένη. Υπάρχει η σχέση μεταξύ των στοιχείων, αλλά δεν προκύπτει κάπου ταξινόμηση

https://www.geeksforgeeks.org/find-duplicates-in-on-time-and-constant-extra-space/

 

Επεξ/σία από Orestis_G
Επισκέπτης
Δημοσ.

Με merge sort μπορει να γινει απο οτι καταλαβα

Δημοσ.

Χωρίς να είναι υποχρεωτικό φυσικά, είθισται όταν λύνεις ένα πρόβλημα να βάζεις και την λύση (ή τουλάχιστον την μεθοδολογία που ακολούθησες για να το λύσεις αν δεν είναι εφικτό να μπει η λύση) ώστε στο μέλλον να βοηθηθούν και άλλοι που ενδεχομένως να έχουν το ίδιο πρόβλημα. Το ίδιο και στο άλλο νήμα σου.

  • Like 1

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...