Αποστολέας Θέμα: 2 ΕΡΩΤΗΣΕΙΣ ΓΙΑ ΤΗΝ ΤΑΞΙΝΟΜΗΣΗ  (Αναγνώστηκε 2781 φορές)

landreou

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 124
2 ΕΡΩΤΗΣΕΙΣ ΓΙΑ ΤΗΝ ΤΑΞΙΝΟΜΗΣΗ
« στις: 28 Μαΐ 2013, 01:19:01 μμ »
Γεια σε όλους τους φίλους του ΣτΠ.

Η ΠΡΩΤΗ ΕΡΩΤΗΣΗ (ισως χαζή) να σας κάνω για το bubble sorting

Αν έχουμε παράλληλους πίνακες (πάνω από 2) μπορούμε να ταξινομήσουμε με βάση δύο πίνακες δηλ
αυξουσα τον έναν και φθίνουσα τον άλλον ;

πχ εχουμε 3 πινακες εναν με ονοματα εναν με λεπτα συμετοχής έναν με γκολ
μπορουμε να ταξινομήσουμε ταυτόχρονα τους 3 αυξουσα ως προς λεπτά και φθίνουσα ως προς γκόλ ;

Η ΔΕΥΤΕΡΗ ΕΡΩΤΗΣΗ

Μπορούμε να κάνουμε ταξινόμηση για ένα τμήμα πίνακα (όχι απο τη αρχή μέχρι το τέλος δηλαδή)

Σας ευχαριστώ

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2321
Απ: 2 ΕΡΩΤΗΣΕΙΣ ΓΙΑ ΤΗΝ ΤΑΞΙΝΟΜΗΣΗ
« Απάντηση #1 στις: 28 Μαΐ 2013, 04:01:30 μμ »
Για την πρώτη ερώτηση
Ταξινομημένος μπορεί να είναι πάντα ένας και μοναδικός πίνακας και οι άλλοι παράλληλοι με αυτόν
Αυτό που μπορεί να γίνει είναι σε περίπτωση ισότητας στοιχείων του ταξινομημένου πίνακα, οι υπόλοιποι να ταξινομούνται με βάση κάποιο άλλο κριτήριο

Για την δεύτερη ερώτηση
Σαφώς και μπορεί να γίνει
Για i από αρχή+1 μέχρι τέλος
   Για j από τέλος μέχρι αρχή+1 με βήμα -1

Όπου αρχή και τέλος βάζεις ό,τι θέλεις
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

landreou

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 124
2 ΕΡΩΤΗΣΕΙΣ ΓΙΑ ΤΗΝ ΤΑΞΙΝΟΜΗΣΗ
« Απάντηση #2 στις: 29 Μαΐ 2013, 07:49:29 πμ »
Από ότι κατάταλα ( αν κατάλαβα ) αν έχουμε το εξής :

Μια ποδοσφαιρική ομάδα διαθέτει 22 ποδοσφαιριστές για κάθε έναν από τους οποίους αποθηκεύουμε το ονοματεπώνυμό τους, τα λεπτά συμμετοχής τους και τη θέση στην οποία παίζουν (“Ε” για επίθεση, “Α” για άμυνα, “Κ” για κέντρο και “Τ” όταν ο παίκτης είναι τερματοφύλακας). Να γίνει αλγόριθμος που θα διαβάζει τα παραπάνω δεδομένα και θα εντοπίζει τους παίκτες που έχουν τα περισσότερα λεπτά συμμετοχής για κάθε θέση.

Στην παραπάνω άσκηση μπορούμε να ταξινομήσουμε
[α] τον πίνακα ΘΕΣΗ κατα αύξουσα
[β] τον πίνακα ΛΕΠΤΑ_ΣΥΜΜΕΤΟΧΗΣ κατα φθίνουσα

και να βρούμε το ζητούμενο ;

Αν είναι έτσι ο πίνακας με τ αονόματα πως θα ταξινομηθεί .
κατα αύξουσα σειρά ή κατα φθίνουσα ;

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2321
Απ: 2 ΕΡΩΤΗΣΕΙΣ ΓΙΑ ΤΗΝ ΤΑΞΙΝΟΜΗΣΗ
« Απάντηση #3 στις: 29 Μαΐ 2013, 08:02:39 πμ »
Δεν κατάλαβες τι έγραψα μάλλον
Ένας πίνακας είναι πάντα ταξινομημένος και οι άλλοι παράλληλοι με αυτόν
Αν 2 πίνακες είναι ταξινομημένοι, παύουν να είναι παράλληλοι

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

landreou

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 124
Απ: 2 ΕΡΩΤΗΣΕΙΣ ΓΙΑ ΤΗΝ ΤΑΞΙΝΟΜΗΣΗ
« Απάντηση #4 στις: 29 Μαΐ 2013, 10:08:38 πμ »
Αρα ταξινομείται ένας πίνακας μόνο και ακολουθούν οι υπόλοιποι παράλληλοι .

Δίνω τη λύση χωρίς ταξινόμηση (απλά εγώ σκεφτηκα περίπλοκα το μυαλό μου πήγε στα δύσκολα δηλαδή) .

Αλγόριθμος Ασκηση 6

μεγ_Τ <- -10
θεση_Τ <- 0

μεγ_Κ <- -10
θεση_Κ <- 0

μεγ_Ε <- -10
θεση_Ε <- 0

μεγ_Α <- -10
θεση_Α <- 0

Για ι από 1 μέχρι 22

   Αν ΘΕΣΗ[ι] = "Τ" τοτε

      Αν ΛΕΠΤΑ[ι] > μεγ_Τ τοτε

         μεγ_Τ <- ΛΕΠΤΑ[ι]

         θεση_Τ <- ι

      Τέλος_αν
   
   Τέλος_αν

   Αν ΘΕΣΗ[ι] = "Κ" τοτε

      Αν ΛΕΠΤΑ[ι] > μεγ_Κ τοτε

         μεγ_Κ <- ΛΕΠΤΑ[ι]

         θεση_Κ <- ι

      Τέλος_αν
   
   Τέλος_αν

   Αν ΘΕΣΗ[ι] = "Ε" τοτε

      Αν ΛΕΠΤΑ[ι] > μεγ_Τ τοτε

         μεγ_Ε <- ΛΕΠΤΑ[ι]

         θεση_Ε <- ι

      Τέλος_αν
   
   Τέλος_αν

   Αν ΘΕΣΗ[ι] = "Α" τοτε

      Αν ΛΕΠΤΑ[ι] > μεγ_Α τοτε

         μεγ_Α <- ΛΕΠΤΑ[ι]

         θεση_Α <- ι

      Τέλος_αν
   
   Τέλος_αν
   

Τέλος_επανάληψης
   

Τέλος Ασκηση6

landreou

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 124
2 ΕΡΩΤΗΣΕΙΣ ΓΙΑ ΤΗΝ ΤΑΞΙΝΟΜΗΣΗ
« Απάντηση #5 στις: 02 Ιουλ 2013, 02:04:48 μμ »
Αν εχουμε ένα πίνακα με ονόματα πχ ΟΝΟΜΑ[341] και ενα πινακα με τους μέσους όρους βαθμολογιών ΜΟ[341]
και θέλουμε τους πρώτους 87 να τους ταξινομήσουμε σε φθίνουσα σειρά ώς προς τον μέσο όρο βαθμολογίας και απο εκεί και μετα ( από
τον 88 μέχρι τέλος δηλαδή ) με βάση το όνομα σε αλφαβητική σειρά ποιο θα έιναι το τμήμα κώδικα ;

Εγω λεω

! ΤΑΞΙΝΟΜΗΣΗ ΤΩΝ ΠΡΩΤΩΝ 87 ΜΕ ΒΑΣΗ ΤΟ ΜΕΣΟ ΟΡΟ

ΓΙΑ Ι ΑΠΟ 2 ΜΕΧΡΙ 87

      ΓΙΑ Κ ΑΠΟ 87 ΜΕΧΡΙ Ι ΜΕ_ΒΗΜΑ -1

               ΑΝ ΜΟ[Κ-1] > ΜΟ[Κ] ΤΟΤΕ
 
                    Τ <- ΜΟ[Κ-1]
                   ΜΟ[Κ-1] <- ΜΟ[Κ]
                   ΜΟ[Κ] <- Τ

                     Τ1 <- ΟΝΟΜΑ[Κ-1]
                     ΟΝΟΜΑ[Κ-1] <- ΟΝΟΜΑ[Κ]
                     ΟΝΟΜΑ[Κ] <- Τ1

               ΤΕΛΟΣ_ΑΝ

         ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
     
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

! ΕΜΦΑΝΙΣΗ ΤΩΝ ΠΡΩΤΩΝ 87

ΓΙΑ Ι ΑΠΟ 1 ΜΕΧΡΙ 87

           ΓΡΑΨΕ ΟΝΟΜΑ[Ι] , ΜΟ[Ι]

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

! ΤΑΞΙΝΟΜΗΣΗ ΤΩΝ ΥΠΟΛΟΙΠΩΝ ( ΑΠΟ 88 ΜΕΧΡΙ 341) ΑΛΦΑΒΗΤΙΚΑ

ΓΙΑ Ι ΑΠΟ 88 ΜΕΧΡΙ 341

         ΓΙΑ Κ ΑΠΟ 341 ΜΕΧΡΙ Ι ΜΕ_ΒΗΜΑ -1

                  ΑΝ ΟΝΟΜΑ[Κ-1] < ΟΝΟΜΑ[Κ] ΤΟΤΕ

                                  Τ2 <- ΟΝΟΜΑ[Κ-1]
                            ΟΝΟΜΑ[Κ-1] <- ΟΝΟΜΑ[Κ]
                            ΟΝΟΜΑ[Κ] <- Τ2

                 ΤΕΛΟΣ_ΑΝ

         ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

! ΕΜΦΑΝΙΣΗ ΑΠΟ 88 ΚΑΙ ΚΑΤΩ

ΓΙΑ Ι ΑΠΟ 88 ΜΕΧΡΙ 341

        ΓΡΑΨΕ ΟΝΟΜΑ[Ι]

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΕΡΩΤΗΣΗ
Είναι σωστα τα όρια που βάζω στις ΓΙΑ ΑΠΟ ΜΕΧΡΙ (μπλε γράμματα) ;

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2321
Απ: 2 ΕΡΩΤΗΣΕΙΣ ΓΙΑ ΤΗΝ ΤΑΞΙΝΟΜΗΣΗ
« Απάντηση #6 στις: 02 Ιουλ 2013, 02:13:15 μμ »
Τα όρια σωστά είναι (κάνε το 88 --> 89), οι τελεστές σύγκρισης της αύξουσας και της φθίνουσας είναι ανάποδα
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

landreou

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 124
2 ΕΡΩΤΗΣΕΙΣ ΓΙΑ ΤΗΝ ΤΑΞΙΝΟΜΗΣΗ
« Απάντηση #7 στις: 03 Ιουλ 2013, 08:11:37 πμ »
ΕΡΩΤΗΣΕΙΣ

[1] Το 88 γιατι να γίνει 89 ; Από το 88 και κάτω δε θέλουμε να είναι η ταξινόμηση αλφαβητικά .

[2] Για αύξουσα σειρά είναι το > και για φθίνουσα το < ;

petrosp13

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 2321
Απ: 2 ΕΡΩΤΗΣΕΙΣ ΓΙΑ ΤΗΝ ΤΑΞΙΝΟΜΗΣΗ
« Απάντηση #8 στις: 03 Ιουλ 2013, 09:32:25 πμ »
[1] Όταν ξεκινάς να ταξινομείς από την αρχή, το i δεν ξεκινάει από 2; Με την ίδια λογική
[2] [j-1]...[j]  για φθίνουσα:< και για αύξουσα: >
Παπαδόπουλος Πέτρος
Καθηγητής Πληροφορικής

landreou

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 124
2 ΕΡΩΤΗΣΕΙΣ ΓΙΑ ΤΗΝ ΤΑΞΙΝΟΜΗΣΗ
« Απάντηση #9 στις: 04 Σεπ 2013, 12:58:01 μμ »
Επιστρέφω με μία ερώτηση γιατί για επανάληψη λύνω τις ίδιες ασκήσεις

[1] Όταν ξεκινάς να ταξινομείς από την αρχή, το i δεν ξεκινάει από 2; Με την ίδια λογική
         από το 87+1 δε θα ξεκινήσουμε την ταξινόμηση (αρα όχι 89 .... που έχω  μπερδευτεί δε μπορώ ακόμα να καταλάβω )         

[2] [j-1]...[j]  για φθίνουσα:< και για αύξουσα: >

     ΑΝ είναι > πάμε άυξουσα ταξινόμηση  και
                 < πάμε φθίνουσα ταξινόμηση ότι κάνω και στον κώδικα δηλαδή

Φίλε petrosp13 συγνώμη για την ερώτηση αλλα βλέποντας την άσκηση πάλι καταλήγω στο ίδιο ( λάθος ; ) συμπέρασμα

Εκ προοιμίου σε ευχαριστώ
   
       

Νίκος Αδαμόπουλος

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2825
  • Πύργος Ηλείας
Απ: 2 ΕΡΩΤΗΣΕΙΣ ΓΙΑ ΤΗΝ ΤΑΞΙΝΟΜΗΣΗ
« Απάντηση #10 στις: 04 Σεπ 2013, 01:03:07 μμ »
[1] Όταν ξεκινάς να ταξινομείς από την αρχή, το i δεν ξεκινάει από 2; Με την ίδια λογική
         από το 87+1 δε θα ξεκινήσουμε την ταξινόμηση (αρα όχι 89 .... που έχω  μπερδευτεί δε μπορώ ακόμα να καταλάβω )         

[2] [j-1]...[j]  για φθίνουσα:< και για αύξουσα: >

     ΑΝ είναι > πάμε άυξουσα ταξινόμηση  και
                 < πάμε φθίνουσα ταξινόμηση ότι κάνω και στον κώδικα δηλαδή

Φίλε petrosp13 συγνώμη για την ερώτηση αλλα βλέποντας την άσκηση πάλι καταλήγω στο ίδιο ( λάθος ; ) συμπέρασμα

Εκ προοιμίου σε ευχαριστώ

Στο 87 τελειώνει η 1η λίστα.
Στο 88 ξεκινάει η 2η λίστα.

Στο 88+1 θα ξεκινήσει ο μετρητής...

Βέβαια, έχω αμφιβολίες για το πώς ερμηνεύτηκε η εκφώνηση σε σχέση με τη λύση...

landreou

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 124
Απ: 2 ΕΡΩΤΗΣΕΙΣ ΓΙΑ ΤΗΝ ΤΑΞΙΝΟΜΗΣΗ
« Απάντηση #11 στις: 04 Σεπ 2013, 01:12:34 μμ »
OK παιδια ευχαριστώ για την αμεσότητα της απάντησης . Το είδα καλύτερα και μπορώ να πώ το εμπέδωσα μια χαρά στο μυαλό μου.

Νίκος Αδαμόπουλος

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2825
  • Πύργος Ηλείας
Απ: 2 ΕΡΩΤΗΣΕΙΣ ΓΙΑ ΤΗΝ ΤΑΞΙΝΟΜΗΣΗ
« Απάντηση #12 στις: 04 Σεπ 2013, 01:52:18 μμ »
     ΑΝ είναι > πάμε άυξουσα ταξινόμηση  και
                 < πάμε φθίνουσα ταξινόμηση ότι κάνω και στον κώδικα δηλαδή

Στον κώδικα αυτό κάνεις, αλλά η εκφώνηση ζητάει το αντίθετο...

Βέβαια, έχω αμφιβολίες για το πώς ερμηνεύτηκε η εκφώνηση σε σχέση με τη λύση...

Τι να εννοεί ο ποιητής όταν λέει "...και θέλουμε τους πρώτους 87 να τους ταξινομήσουμε ..." ;
Εννοεί αυτούς που βρίσκονται στις 87 πρώτες θέσεις του πίνακα, ή τους 87 καλύτερους από άποψη βαθμολογίας; Εσύ υλοποιείς λύση για την 1η εκδοχή, αλλά η 2η μου φαίνεται πιο ρεαλιστική!

Gnirut

  • Επισκέπτης
Απ: 2 ΕΡΩΤΗΣΕΙΣ ΓΙΑ ΤΗΝ ΤΑΞΙΝΟΜΗΣΗ
« Απάντηση #13 στις: 04 Σεπ 2013, 04:03:49 μμ »
Δεν καταλαβαίνω τι θέλεις να κάνεις.
Ως προς ένα κλειδί μπορείς να ταξινομείς κάθε φορά.

Το μόνο παραπάνω που μπορείς να κάνεις είναι εαν υπάρχουν κατά την πρώτη ταξινόμηση ίδια στοιχεία (π.χ. ίσος αριθμός λεπτών συμμετοχής) να ταξινομείς αυτά τα στοιχεία με βάση τον αριθμό των γκολ (π.χ. ο χ παίκτης έχει 22 λεπτά συμμετοχής και ο ψ πάλι 22 λεπτά, εαν ο χ έχει 5 γκολ και ο ψ 10 θα βάλεις στην ταξινομημένη σειρα πρώτα τον ψ και μετά τον χ).
« Τελευταία τροποποίηση: 04 Σεπ 2013, 04:14:17 μμ από Gnirut »