Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Γ΄ Λυκείου => Μήνυμα ξεκίνησε από: elepap στις 02 Μαΐου 2012, 12:45:34 ΜΜ

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

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

Χρειάζεται να προσθέσω κάτι άλλο;
Τίτλος: Απ: Συγχώνευση πινάκων
Αποστολή από: twisted στις 02 Μαΐου 2012, 01:00:03 ΜΜ
Εντάξει το βλέπω μόνο κάτι δείκτες σου έχουν ξεφύγει:

Αλγόριθμος Συγχώνευση
Δεδομένα //Α,Β,Ν,Μ//
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 στις 02 Μαΐου 2012, 01:21:00 ΜΜ
Τους είχα βάλει τους δείκτες αλλά δεν ξέρω για ποιον λόγο δεν εμφανίστηκαν. Τέλος πάντων.
Κι εγώ όταν τον είδα μου φάνηκε σωστός και απόρησα για ποιον λόγο δεν χρησιμοποιούμε αύτον τον αλγόριθμο και χρησιμοποιούμε τον άλλον που έχουν στο τετράδιο του μαθητή;
Θα μπορούσε να μου πει κάποιος για ποιον λόγο ΔΕΝ θα χρησιμοποιούσε αυτόν τον αλγόριθμο;
Τίτλος: Απ: Συγχώνευση πινάκων
Αποστολή από: twisted στις 02 Μαΐου 2012, 03:43:31 ΜΜ
Μάλλον δεν στα έβγαλε λόγω του bb code για τα italics.

Πάντως σε αυτό που λες δε νομίζω να τίθεται θέμα χρησιμοποίησης αποκλειστικά του αλγορίθμου που έχει στο τετράδιο του μαθητή. Μέσα σε άσκηση όπως θέλει ο καθένας μπορεί να συγχωνεύσει.
Τίτλος: Απ: Συγχώνευση πινάκων
Αποστολή από: Stefevan στις 02 Μαΐου 2012, 09:13:25 ΜΜ
Γεια σου!  :) Προσωπικά δεν θα το χρησιμοποιούσα γιατί μπλέκει δύο διαφορετικά πράγματα μαζί σε μια δομή Αν! Γούστα είναι αυτά!  :P Που ήταν γραμμένος ο αλγόριθμος?
Τίτλος: Απ: Συγχώνευση πινάκων
Αποστολή από: elepap στις 02 Μαΐου 2012, 11:28:45 ΜΜ
Το έγραψε ένας μαθητής για να λύσει μία άσκηση και δεν το πήρα λάθος. Μου φαίνεται πιο εύκολος και πιο κατανοητός για τους μαθητές αυτός ο αλγόριθμος.
Τίτλος: Απ: Συγχώνευση πινάκων
Αποστολή από: elepap στις 04 Μαΐου 2012, 08:02:34 ΜΜ
Κανένα σχόλιο από κάποιον άλλον;Για ποιον λόγο δεν θα χρησιμοποιούσατε τον παραπάνω αλγόριθμο;;
Τίτλος: Απ: Συγχώνευση πινάκων
Αποστολή από: Καρκαμάνης Γεώργιος στις 09 Μαΐου 2012, 09:32:24 ΠΜ
Παράθεση από: elepap στις 02 Μαΐου 2012, 11:28:45 ΜΜ
Το έγραψε ένας μαθητής για να λύσει μία άσκηση και δεν το πήρα λάθος. Μου φαίνεται πιο εύκολος και πιο κατανοητός για τους μαθητές αυτός ο αλγόριθμος.

ΟΙ πίνακες που συγχωνεύονται είναι ταξινομημένοι ή όχι;
Τίτλος: Απ: Συγχώνευση πινάκων
Αποστολή από: elepap στις 09 Μαΐου 2012, 05:06:21 ΜΜ
Οι πίνακες Α και Β είναι ταξινομημένοι.
Τίτλος: Απ: Συγχώνευση πινάκων
Αποστολή από: ipoulis στις 31 Μαΐου 2012, 10:33:25 ΜΜ
Πολύ ωραία ιδέα και σαφώς ποιο κατανοητή από αυτή του τετραδίου μαθητή.
Τίτλος: Απ: Συγχώνευση πινάκων
Αποστολή από: epsilonXi στις 01 Ιουν 2012, 08:10:16 ΜΜ
προσωπικά προτιμώ γενικά να δείχνω την απλοϊκή λύση της αντιγραφής των Α, Β στον Γ, και εκ των υστέρων ταξινόμησης του Γ, εξηγώντας ότι δεν είναι καλή λύση από άποψη αποδοτικότητας...

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

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