Συγχώνευση πινάκων

Ξεκίνησε από elepap, 02 Μαΐου 2012, 12:45:34 ΜΜ

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

elepap

Καλημέρα!Θα ήθελα να σας ρωτήσω αν μπορώ να συγχωνεύσω 2 μονοδιάστατους πίνακες Α,Β με Ν και Μ θέσεις αντίστοιχα σε ένα καινούργιο πίνακα Γ με τον παρακάτω τρόπο:

Αλγόριθμος Συγχώνευση
Δεδομένα //Α,Β,Ν,Μ//
i<--1
j<--1
Για κ από 1 μέχρι Ν+Μ
    Αν j>Μ τότε
        Γ[κ]<--Α
        i<--i+1
    αλλιώς_αν i>Ν τότε
        Γ[κ]<--Β[j]
        j<--j+1
    αλλιώς_αν Α<Β[j] τότε
        Γ[κ]<--Α
        i<--i+1
    αλλιώς
        Γ[κ]<--Β[j]
        j<--j+1
    Τέλος_αν
Τέλος_επανάληψης
Αποτελέσματα //Γ//
Τέλος Συγχώνευση

Χρειάζεται να προσθέσω κάτι άλλο;

twisted

Εντάξει το βλέπω μόνο κάτι δείκτες σου έχουν ξεφύγει:

Αλγόριθμος Συγχώνευση
Δεδομένα //Α,Β,Ν,Μ//
i<--1
j<--1
Για κ από 1 μέχρι Ν+Μ
    Αν j>Μ τότε
        Γ[κ]<--Α[ i ]
        i<--i+1
    αλλιώς_αν i>Ν τότε
        Γ[κ]<--Β[j]
        j<--j+1
    αλλιώς_αν Α[ i ]<Β[j] τότε
        Γ[κ]<--Α[ i ]
        i<--i+1
    αλλιώς
        Γ[κ]<--Β[j]
        j<--j+1
    Τέλος_αν
Τέλος_επανάληψης
Αποτελέσματα //Γ//
Τέλος Συγχώνευση

elepap

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

twisted

Μάλλον δεν στα έβγαλε λόγω του bb code για τα italics.

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

Stefevan

Γεια σου!  :) Προσωπικά δεν θα το χρησιμοποιούσα γιατί μπλέκει δύο διαφορετικά πράγματα μαζί σε μια δομή Αν! Γούστα είναι αυτά!  :P Που ήταν γραμμένος ο αλγόριθμος?

elepap

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

elepap

Κανένα σχόλιο από κάποιον άλλον;Για ποιον λόγο δεν θα χρησιμοποιούσατε τον παραπάνω αλγόριθμο;;

Καρκαμάνης Γεώργιος

Παράθεση από: elepap στις 02 Μαΐου 2012, 11:28:45 ΜΜ
Το έγραψε ένας μαθητής για να λύσει μία άσκηση και δεν το πήρα λάθος. Μου φαίνεται πιο εύκολος και πιο κατανοητός για τους μαθητές αυτός ο αλγόριθμος.

ΟΙ πίνακες που συγχωνεύονται είναι ταξινομημένοι ή όχι;

elepap

Οι πίνακες Α και Β είναι ταξινομημένοι.

ipoulis

Πολύ ωραία ιδέα και σαφώς ποιο κατανοητή από αυτή του τετραδίου μαθητή.

epsilonXi

προσωπικά προτιμώ γενικά να δείχνω την απλοϊκή λύση της αντιγραφής των Α, Β στον Γ, και εκ των υστέρων ταξινόμησης του Γ, εξηγώντας ότι δεν είναι καλή λύση από άποψη αποδοτικότητας...

σε τμήματα που «τραβάνε» προτιμώ να δείχνω τον αλγόριθμο που παρατέθηκε, αλλά συντομευμένο ακόμα περισσότερο:

Αλγόριθμος Συγχώνευση
Δεδομένα //Α,Β,Ν,Μ//
i<--1
j<--1
Για κ από 1 μέχρι Ν+Μ
    Αν j>Μ ή (i <= N και Α[ i ]<Β[j]) τότε
        Γ[κ]<--Α[ i ]
        i<--i+1
    αλλιώς
        Γ[κ]<--Β[j]
        j<--j+1
    Τέλος_αν
Τέλος_επανάληψης
Αποτελέσματα //Γ//
Τέλος Συγχώνευση