• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
June 17, 2025, 01:35:43 am

Login with username, password and session length
Links
  Thmmy.gr portal
   Forum
   Downloads
   Ενεργ. Λογαριασμού
   Επικοινωνία
  
  Χρήσιμα links
   Σελίδα τμήματος
   Βιβλιοθήκη Τμήματος
   Elearning
   Φοιτητικά fora
   Πρόγραμμα Λέσχης
   Πρακτική Άσκηση
   Ηλεκτρονική Εξυπηρέτηση Φοιτητών
   Διανομή Συγγραμμάτων
   Ψηφιακό Καταθετήριο Διπλωματικών
   Πληροφορίες Καθηγητών
   Instagram @thmmy.gr
   mTHMMY
  
  Φοιτητικές Ομάδες
   ACM
   Aristurtle
   ART
   ASAT
   BEAM
   BEST Thessaloniki
   EESTEC LC Thessaloniki
   EΜΒ Auth
   IAESTE Thessaloniki
   IEEE φοιτητικό παράρτημα ΑΠΘ
   SpaceDot
   VROOM
   Panther
  
Πίνακας Ελέγχου
Welcome, Guest. Please login or register.
June 17, 2025, 01:35:43 am

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Ισραήλ - Ιράν: Πόλεμος στ...
by Yamal
[June 16, 2025, 23:46:31 pm]

[Οργάνωση Υπολογιστών] Γε...
by RAFI
[June 16, 2025, 22:46:54 pm]

[Σ.Π.Η.Ε.] Γενικές απορίε...
by Nikos_313
[June 16, 2025, 19:49:00 pm]

[ΘΤΠΑ] Γενικές απορίες κα...
by Nikos_313
[June 16, 2025, 16:56:56 pm]

[Εφ.Θερμοδυναμική] Γενικέ...
by Λαμπτήρας
[June 16, 2025, 15:55:08 pm]

[Αρχές Οικονομίας] Να επι...
by _Trob
[June 16, 2025, 13:28:21 pm]

[Σ.Α.Π.Γ.] Εργασία 2025
by Nikos_313
[June 16, 2025, 12:13:45 pm]

Αποτελέσματα Εξεταστικής ...
by Nikos_313
[June 16, 2025, 12:01:53 pm]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by George_RT
[June 16, 2025, 10:22:18 am]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[June 16, 2025, 01:56:37 am]

Αντικατάστασης πυκνωτή σε...
by nmpampal
[June 15, 2025, 16:25:56 pm]

[Σ.Π.Η.Ε.] Παλιά θέματα -...
by nmpampal
[June 15, 2025, 06:43:15 am]

Το thmmy.gr στο instagram...
by Mr Watson
[June 15, 2025, 00:50:23 am]

[Λογισμός ΙΙ] Απορίες σε...
by el mariachi
[June 14, 2025, 20:47:07 pm]

ΠΡΟΣΟΧΗ στο ανέβασμα θεμά...
by tzortzis
[June 14, 2025, 16:54:08 pm]

Ρυθμίσεις Θεμάτων της Ανώ...
by el mariachi
[June 14, 2025, 11:56:45 am]

Πότε θα βγει το μάθημα; -...
by Nikos_313
[June 14, 2025, 10:00:55 am]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[June 14, 2025, 09:58:14 am]

Αλέξης Τσίπρας, η επιστρο...
by Yamal
[June 14, 2025, 04:42:23 am]

Έναρξη Δηλώσεων Συμμετοχή...
by IEEE SB
[June 14, 2025, 00:10:19 am]
Στατιστικά
Members
Total Members: 9960
Latest: valco08
Stats
Total Posts: 1426678
Total Topics: 31710
Online Today: 167
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 35
Guests: 127
Total: 162
ZontanosThrylos
fopapadopoulos
thomasdt
andyy
Yamal
chaniotism
athena_apo
Mr Watson
akoil
stloukas
gpapadimi
Athinaaz
vaggelisx
κοτζακ
stavrosk
lasef
nasos
Saint_GR
Loudis1
eed
thegreekbaron
thathas12
iliaspapam
ArchieHadCells
ValKar
vagelismo
ilias123
dimitris585
μιλτοςμ
Christina_R
Stathiss
Εμφάνιση

Νέα για πρωτοετείς
Είσαι πρωτοετής;... Καλώς ήρθες! Μπορείς να βρεις πληροφορίες εδώ. Βοήθεια για τους καινούργιους μέσω χάρτη.
Κατεβάστε εδώ το Android Application για εύκολη πρόσβαση στο forum.
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads με προσοχή στα ονόματα των αρχείων!

Νέα!
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads
με προσοχή στα ονόματα των αρχείων!
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 3ο Εξάμηνο > Δομές Δεδομένων (Moderators: chatzikys, Tasos Bot, tzortzis) >  [Δομές δεδομένων]Απορίες στις ασκήσεις 2012/13
0 Members and 1 Guest are viewing this topic.
Pages: [1] 2 3 Go Down Print
Author Topic: [Δομές δεδομένων]Απορίες στις ασκήσεις 2012/13  (Read 5622 times)
Elade
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 1077



View Profile
[Δομές δεδομένων]Απορίες στις ασκήσεις 2012/13
« on: October 17, 2012, 14:45:58 pm »

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

Οποιοδήποτε μήνυμα άσχετο με τον παρόν τόπικ, θα το διαχειριζόμαστε αναλόγως.
Logged
pentium4
Veteran
Καταστραμμένος
******
Posts: 7940


εφακ


View Profile
Re: [Δομές δεδομένων]Απορίες στις ασκήσεις 2012/13
« Reply #1 on: January 30, 2013, 22:48:38 pm »

θεμα 2011 java θα βοηθησει κανεις; εχω μπερδευτει και δε ξερω τι να χρησιμοποιησω/υλοποιησω
Logged

https://www.youtube.com/watch?v=doMu-YNc4wM&feature=emb_title

nlogn
Καταξιωμένος/Καταξιωμένη
***
Posts: 150



View Profile
Re: [Δομές δεδομένων]Απορίες στις ασκήσεις 2012/13
« Reply #2 on: January 30, 2013, 23:41:17 pm »

Quote from: pentium4 on January 30, 2013, 22:48:38 pm
θεμα 2011 java θα βοηθησει κανεις; εχω μπερδευτει και δε ξερω τι να χρησιμοποιησω/υλοποιησω

Αν δεν κάνω λάθος ρωτάς για το 4ο θέμα.

Πάει κάπως έτσι:

import την βιβλιοθήκη που σου λέει

Δημιουργείς την κλάση job
      μέσα έχει 2 μεταβλητές μία τύπου string και η άλλη τύπου int
      

Δημιουργείς την κλάση PriorityStack
     Η στοίβα σου θα βρίσκεται μέσα σε μια μεταβλητή τύπου Arraylist που θα έχει αντικείμενα
     τύπου job.
     Η push ψάχνει που να βάλει το αντικείμενο στη στοίβα με σειριακή αναζήτηση αν θες, διότι  
     είναι ταξινομημένα με βάση την προτεραιότητα.
     Η pop απλά εξάγει το στοιχείο στην κορυφή
     στη size εκμεταλέυεσαι την κλάση ArrayList από τη βιβλιοθήκη
     στην empty τα ίδια
     στην GetMedianPriority κοιτάς στο μεσαίο στοιχείο της στοίβας αν είναι ζυγός τότε κοιτάς τα 2
     μεσαία

Θα μπορούσες να χρησιμοποιήσεις και πίνακα δορυφόρο...

Αυτό πιστεύω ότι είναι το γενικό πλάνο.
« Last Edit: January 30, 2013, 23:46:22 pm by nlogn » Logged
Ναταλία
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Female
Posts: 1209



View Profile
Re: [Δομές δεδομένων]Απορίες στις ασκήσεις 2012/13
« Reply #3 on: January 31, 2013, 01:05:53 am »

Quote from: nlogn on January 30, 2013, 23:41:17 pm
Quote from: pentium4 on January 30, 2013, 22:48:38 pm
θεμα 2011 java θα βοηθησει κανεις; εχω μπερδευτει και δε ξερω τι να χρησιμοποιησω/υλοποιησω

Αν δεν κάνω λάθος ρωτάς για το 4ο θέμα.

Πάει κάπως έτσι:

import την βιβλιοθήκη που σου λέει

Δημιουργείς την κλάση job
      μέσα έχει 2 μεταβλητές μία τύπου string και η άλλη τύπου int
      

Δημιουργείς την κλάση PriorityStack
     Η στοίβα σου θα βρίσκεται μέσα σε μια μεταβλητή τύπου Arraylist που θα έχει αντικείμενα
     τύπου job.
     Η push ψάχνει που να βάλει το αντικείμενο στη στοίβα με σειριακή αναζήτηση αν θες, διότι  
     είναι ταξινομημένα με βάση την προτεραιότητα.
     Η pop απλά εξάγει το στοιχείο στην κορυφή
     στη size εκμεταλέυεσαι την κλάση ArrayList από τη βιβλιοθήκη
     στην empty τα ίδια
     στην GetMedianPriority κοιτάς στο μεσαίο στοιχείο της στοίβας αν είναι ζυγός τότε κοιτάς τα 2
     μεσαία

Θα μπορούσες να χρησιμοποιήσεις και πίνακα δορυφόρο...

Αυτό πιστεύω ότι είναι το γενικό πλάνο.

ευχαριστουμε!
μηπως θα μπορουσες να εξηγησεις την push και τι κανει η add που έχει  ως συναρτηση της ArrayList?
Ουσιαστικα στην push ταξινομεις τα στοιχεια με βαση την προτεραιοτητα?
Smiley
Logged
Left_Behind
Θαμώνας
****
Posts: 342



View Profile
Re: [Δομές δεδομένων]Απορίες στις ασκήσεις 2012/13
« Reply #4 on: January 31, 2013, 01:43:41 am »

Παλιό θέμα...
Έχω τον πίνακα ΕΧΩΜΙΑΛΥΣΗ να ταξινομηθεί με τη μέθοδο της ευθείας επιλογής και να δώσετε το αποτέλεσμα μετά από 5 και μετά από 10 συγκρίσεις.
Όμοια για ταξινόμηση φυσαλίδας και ταξινόμηση ευθείας επιλογής.

μπορεί να δώσει κάποιος τα αποτελέσματα????   
Logged
Επικο Burger
Θαμώνας
****
Posts: 388



View Profile
Re: [Δομές δεδομένων]Απορίες στις ασκήσεις 2012/13
« Reply #5 on: January 31, 2013, 02:06:59 am »

Εγω βρισκω τα εξης:
Για φυσαλιδα: Μετα απο 5 συγκρισεις ΑΧΩΜΙΕΛΥΣΗ , μετα απο 10 συγκρισεις ΑΕΩΜΙΧΛΥΣΗ
Για επιλογης: Μετα απο 5 συκγρισεις ΕΧΩΜΙΑΛΥΣΗ, μετα απο 10 συγκρισεις ΑΧΩΜΙΕΛΥΣΗ

Τωρα αν εχει κανα λαθος δεν ειμαι σιγουρος, ειναι λιγο αργα  Cheesy

edit: Στη φυσαλιδα ειχα κανει μαλακια, αυτα νομιζω ειναι τα σωστα: 5 συγκρισεις:ΕΧΜΙΑΩΛΥΣΗ, 10 συγκρισεις ΕΜΧΙΑΛΥΣΗΩ
« Last Edit: January 31, 2013, 02:58:22 am by Thesilmaril » Logged
nlogn
Καταξιωμένος/Καταξιωμένη
***
Posts: 150



View Profile
Re: [Δομές δεδομένων]Απορίες στις ασκήσεις 2012/13
« Reply #6 on: January 31, 2013, 02:23:08 am »

Quote from: natalia_3005 on January 31, 2013, 01:05:53 am
Quote from: nlogn on January 30, 2013, 23:41:17 pm
Quote from: pentium4 on January 30, 2013, 22:48:38 pm
θεμα 2011 java θα βοηθησει κανεις; εχω μπερδευτει και δε ξερω τι να χρησιμοποιησω/υλοποιησω

Αν δεν κάνω λάθος ρωτάς για το 4ο θέμα.

Πάει κάπως έτσι:

import την βιβλιοθήκη που σου λέει

Δημιουργείς την κλάση job
      μέσα έχει 2 μεταβλητές μία τύπου string και η άλλη τύπου int
      

Δημιουργείς την κλάση PriorityStack
     Η στοίβα σου θα βρίσκεται μέσα σε μια μεταβλητή τύπου Arraylist που θα έχει αντικείμενα
     τύπου job.
     Η push ψάχνει που να βάλει το αντικείμενο στη στοίβα με σειριακή αναζήτηση αν θες, διότι  
     είναι ταξινομημένα με βάση την προτεραιότητα.
     Η pop απλά εξάγει το στοιχείο στην κορυφή
     στη size εκμεταλέυεσαι την κλάση ArrayList από τη βιβλιοθήκη
     στην empty τα ίδια
     στην GetMedianPriority κοιτάς στο μεσαίο στοιχείο της στοίβας αν είναι ζυγός τότε κοιτάς τα 2
     μεσαία

Θα μπορούσες να χρησιμοποιήσεις και πίνακα δορυφόρο...

Αυτό πιστεύω ότι είναι το γενικό πλάνο.

ευχαριστουμε!
μηπως θα μπορουσες να εξηγησεις την push και τι κανει η add που έχει  ως συναρτηση της ArrayList?
Ουσιαστικα στην push ταξινομεις τα στοιχεια με βαση την προτεραιοτητα?
Smiley

Δεν ταξινομείς, απλά βάζεις τα στοιχεία σου κατά τέτοιον τρόπο, ώστε να είναι κάθε στιγμή ταξινομημένα με βάση την προτεραιότητα, σαν μια ουρά προτεραιότητας...  Smiley .

Με τη διαφορά ότι εδώ κάνεις pop την κορυφή της στοίβας (και όχι την κεφαλή της ουράς)  έτσι εξασφαλίζεις ότι εάν 2 στοιχεία έχουν την ίδια τιμή, τότε με την pop θα πάρεις αυτό που ήρθε τελευταίο (και καλά LIFO).

Code:
   public  void push(job j) { // we take 0 as the to top of the stack
        if(j.p<0) return; //avoiding errors
        if(empty()){ // no reason to search -> stack is empty
            C.add(j);
        }
        else {
            int i=0;
            boolean added=false;
            while(i<C.size() & !added) {
                if(j.p>=C.get(i).p) {//if job j has greater priority than job C[i]
                    C.add(i, j);
                    added = true;
                }
                i++;
            }
        }
    }

Για την add δες εδώ :
 http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html#add%28int,%20E%29
« Last Edit: January 31, 2013, 02:30:38 am by nlogn » Logged
pentium4
Veteran
Καταστραμμένος
******
Posts: 7940


εφακ


View Profile
Re: [Δομές δεδομένων]Απορίες στις ασκήσεις 2012/13
« Reply #7 on: January 31, 2013, 07:31:09 am »

Quote from: nlogn on January 31, 2013, 02:23:08 am
Quote from: natalia_3005 on January 31, 2013, 01:05:53 am
Quote from: nlogn on January 30, 2013, 23:41:17 pm
Quote from: pentium4 on January 30, 2013, 22:48:38 pm
θεμα 2011 java θα βοηθησει κανεις; εχω μπερδευτει και δε ξερω τι να χρησιμοποιησω/υλοποιησω

Αν δεν κάνω λάθος ρωτάς για το 4ο θέμα.

Πάει κάπως έτσι:

import την βιβλιοθήκη που σου λέει

Δημιουργείς την κλάση job
      μέσα έχει 2 μεταβλητές μία τύπου string και η άλλη τύπου int
      

Δημιουργείς την κλάση PriorityStack
     Η στοίβα σου θα βρίσκεται μέσα σε μια μεταβλητή τύπου Arraylist που θα έχει αντικείμενα
     τύπου job.
     Η push ψάχνει που να βάλει το αντικείμενο στη στοίβα με σειριακή αναζήτηση αν θες, διότι  
     είναι ταξινομημένα με βάση την προτεραιότητα.
     Η pop απλά εξάγει το στοιχείο στην κορυφή
     στη size εκμεταλέυεσαι την κλάση ArrayList από τη βιβλιοθήκη
     στην empty τα ίδια
     στην GetMedianPriority κοιτάς στο μεσαίο στοιχείο της στοίβας αν είναι ζυγός τότε κοιτάς τα 2
     μεσαία

Θα μπορούσες να χρησιμοποιήσεις και πίνακα δορυφόρο...

Αυτό πιστεύω ότι είναι το γενικό πλάνο.

ευχαριστουμε!
μηπως θα μπορουσες να εξηγησεις την push και τι κανει η add που έχει  ως συναρτηση της ArrayList?
Ουσιαστικα στην push ταξινομεις τα στοιχεια με βαση την προτεραιοτητα?
Smiley

Δεν ταξινομείς, απλά βάζεις τα στοιχεία σου κατά τέτοιον τρόπο, ώστε να είναι κάθε στιγμή ταξινομημένα με βάση την προτεραιότητα, σαν μια ουρά προτεραιότητας...  Smiley .

Με τη διαφορά ότι εδώ κάνεις pop την κορυφή της στοίβας (και όχι την κεφαλή της ουράς)  έτσι εξασφαλίζεις ότι εάν 2 στοιχεία έχουν την ίδια τιμή, τότε με την pop θα πάρεις αυτό που ήρθε τελευταίο (και καλά LIFO).

Code:
   public  void push(job j) { // we take 0 as the to top of the stack
        if(j.p<0) return; //avoiding errors
        if(empty()){ // no reason to search -> stack is empty
            C.add(j);
        }
        else {
            int i=0;
            boolean added=false;
            while(i<C.size() & !added) {
                if(j.p>=C.get(i).p) {//if job j has greater priority than job [b] C[i] [/b]
                    C.add[b](i,[/b] j);
                    added = true;
                }
                i++;
            }
        }
    }

Για την add δες εδώ :
 http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html#add%28int,%20E%29

"κλεβει" τη θεση του και τα προηγουμενα τα βαζει μια θεση μετα; (το προηγουμενο C [ i] που υπηρχε εκει )
« Last Edit: January 31, 2013, 07:33:36 am by pentium4 » Logged

https://www.youtube.com/watch?v=doMu-YNc4wM&feature=emb_title

nlogn
Καταξιωμένος/Καταξιωμένη
***
Posts: 150



View Profile
Re: [Δομές δεδομένων]Απορίες στις ασκήσεις 2012/13
« Reply #8 on: January 31, 2013, 12:14:43 pm »

Quote from: pentium4 on January 31, 2013, 07:31:09 am
Quote from: nlogn on January 31, 2013, 02:23:08 am
Quote from: natalia_3005 on January 31, 2013, 01:05:53 am
Quote from: nlogn on January 30, 2013, 23:41:17 pm
Quote from: pentium4 on January 30, 2013, 22:48:38 pm
θεμα 2011 java θα βοηθησει κανεις; εχω μπερδευτει και δε ξερω τι να χρησιμοποιησω/υλοποιησω

Αν δεν κάνω λάθος ρωτάς για το 4ο θέμα.

Πάει κάπως έτσι:

import την βιβλιοθήκη που σου λέει

Δημιουργείς την κλάση job
      μέσα έχει 2 μεταβλητές μία τύπου string και η άλλη τύπου int
      

Δημιουργείς την κλάση PriorityStack
     Η στοίβα σου θα βρίσκεται μέσα σε μια μεταβλητή τύπου Arraylist που θα έχει αντικείμενα
     τύπου job.
     Η push ψάχνει που να βάλει το αντικείμενο στη στοίβα με σειριακή αναζήτηση αν θες, διότι  
     είναι ταξινομημένα με βάση την προτεραιότητα.
     Η pop απλά εξάγει το στοιχείο στην κορυφή
     στη size εκμεταλέυεσαι την κλάση ArrayList από τη βιβλιοθήκη
     στην empty τα ίδια
     στην GetMedianPriority κοιτάς στο μεσαίο στοιχείο της στοίβας αν είναι ζυγός τότε κοιτάς τα 2
     μεσαία

Θα μπορούσες να χρησιμοποιήσεις και πίνακα δορυφόρο...

Αυτό πιστεύω ότι είναι το γενικό πλάνο.

ευχαριστουμε!
μηπως θα μπορουσες να εξηγησεις την push και τι κανει η add που έχει  ως συναρτηση της ArrayList?
Ουσιαστικα στην push ταξινομεις τα στοιχεια με βαση την προτεραιοτητα?
Smiley

Δεν ταξινομείς, απλά βάζεις τα στοιχεία σου κατά τέτοιον τρόπο, ώστε να είναι κάθε στιγμή ταξινομημένα με βάση την προτεραιότητα, σαν μια ουρά προτεραιότητας...  Smiley .

Με τη διαφορά ότι εδώ κάνεις pop την κορυφή της στοίβας (και όχι την κεφαλή της ουράς)  έτσι εξασφαλίζεις ότι εάν 2 στοιχεία έχουν την ίδια τιμή, τότε με την pop θα πάρεις αυτό που ήρθε τελευταίο (και καλά LIFO).

Code:
   public  void push(job j) { // we take 0 as the to top of the stack
        if(j.p<0) return; //avoiding errors
        if(empty()){ // no reason to search -> stack is empty
            C.add(j);
        }
        else {
            int i=0;
            boolean added=false;
            while(i<C.size() & !added) {
                if(j.p>=C.get(i).p) {//if job j has greater priority than job [b] C[i] [/b]
                    C.add[b](i,[/b] j);
                    added = true;
                }
                i++;
            }
        }
    }

Για την add δες εδώ :
 http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html#add%28int,%20E%29

"κλεβει" τη θεση του και τα προηγουμενα τα βαζει μια θεση μετα; (το προηγουμενο C [ i] που υπηρχε εκει )

Ναι αυτό κάνει.
Τo προηγούμενο C(i) που ήταν εκεί, μετακινείται επίσης μια θέση μετά.
Logged
pentium4
Veteran
Καταστραμμένος
******
Posts: 7940


εφακ


View Profile
Re: [Δομές δεδομένων]Απορίες στις ασκήσεις 2012/13
« Reply #9 on: January 31, 2013, 12:17:02 pm »

Quote from: nlogn on January 31, 2013, 12:14:43 pm
Quote from: pentium4 on January 31, 2013, 07:31:09 am
Quote from: nlogn on January 31, 2013, 02:23:08 am
Quote from: natalia_3005 on January 31, 2013, 01:05:53 am
Quote from: nlogn on January 30, 2013, 23:41:17 pm
Quote from: pentium4 on January 30, 2013, 22:48:38 pm
θεμα 2011 java θα βοηθησει κανεις; εχω μπερδευτει και δε ξερω τι να χρησιμοποιησω/υλοποιησω

Αν δεν κάνω λάθος ρωτάς για το 4ο θέμα.

Πάει κάπως έτσι:

import την βιβλιοθήκη που σου λέει

Δημιουργείς την κλάση job
      μέσα έχει 2 μεταβλητές μία τύπου string και η άλλη τύπου int
      

Δημιουργείς την κλάση PriorityStack
     Η στοίβα σου θα βρίσκεται μέσα σε μια μεταβλητή τύπου Arraylist που θα έχει αντικείμενα
     τύπου job.
     Η push ψάχνει που να βάλει το αντικείμενο στη στοίβα με σειριακή αναζήτηση αν θες, διότι  
     είναι ταξινομημένα με βάση την προτεραιότητα.
     Η pop απλά εξάγει το στοιχείο στην κορυφή
     στη size εκμεταλέυεσαι την κλάση ArrayList από τη βιβλιοθήκη
     στην empty τα ίδια
     στην GetMedianPriority κοιτάς στο μεσαίο στοιχείο της στοίβας αν είναι ζυγός τότε κοιτάς τα 2
     μεσαία

Θα μπορούσες να χρησιμοποιήσεις και πίνακα δορυφόρο...

Αυτό πιστεύω ότι είναι το γενικό πλάνο.

ευχαριστουμε!
μηπως θα μπορουσες να εξηγησεις την push και τι κανει η add που έχει  ως συναρτηση της ArrayList?
Ουσιαστικα στην push ταξινομεις τα στοιχεια με βαση την προτεραιοτητα?
Smiley

Δεν ταξινομείς, απλά βάζεις τα στοιχεία σου κατά τέτοιον τρόπο, ώστε να είναι κάθε στιγμή ταξινομημένα με βάση την προτεραιότητα, σαν μια ουρά προτεραιότητας...  Smiley .

Με τη διαφορά ότι εδώ κάνεις pop την κορυφή της στοίβας (και όχι την κεφαλή της ουράς)  έτσι εξασφαλίζεις ότι εάν 2 στοιχεία έχουν την ίδια τιμή, τότε με την pop θα πάρεις αυτό που ήρθε τελευταίο (και καλά LIFO).

Code:
   public  void push(job j) { // we take 0 as the to top of the stack
        if(j.p<0) return; //avoiding errors
        if(empty()){ // no reason to search -> stack is empty
            C.add(j);
        }
        else {
            int i=0;
            boolean added=false;
            while(i<C.size() & !added) {
                if(j.p>=C.get(i).p) {//if job j has greater priority than job [b] C[i] [/b]
                    C.add[b](i,[/b] j);
                    added = true;
                }
                i++;
            }
        }
    }

Για την add δες εδώ :
 http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html#add%28int,%20E%29

"κλεβει" τη θεση του και τα προηγουμενα τα βαζει μια θεση μετα; (το προηγουμενο C [ i] που υπηρχε εκει )

Ναι αυτό κάνει.
Τo προηγούμενο C(i) που ήταν εκεί, μετακινείται επίσης μια θέση μετά.

παλι καλα που σαι και εσυ γιατι δε με εβλεπα καλα Tongue
Logged

https://www.youtube.com/watch?v=doMu-YNc4wM&feature=emb_title

teslaaaa
Αbsolute ΤΗΜΜΥ.gr
*******
Gender: Female
Posts: 2687


Buongiorno Principessa!


View Profile WWW
Re: [Δομές δεδομένων]Απορίες στις ασκήσεις 2012/13
« Reply #10 on: January 31, 2013, 15:33:54 pm »

η pop πως θα επιστρεφει αντικειμενο τυπου job οταν η στοιβα ειναι αδεια? Undecided
Logged

Κάντε την εφαρμογή μου για να πάρω πτυχίο!!

http://www.youtube.com/watch?v=ipjaLMd8TqM

https://www.youtube.com/watch?v=gQU3EphIpMY
nlogn
Καταξιωμένος/Καταξιωμένη
***
Posts: 150



View Profile
Re: [Δομές δεδομένων]Απορίες στις ασκήσεις 2012/13
« Reply #11 on: January 31, 2013, 16:29:15 pm »

Quote from: teslaaaa on January 31, 2013, 15:33:54 pm
η pop πως θα επιστρεφει αντικειμενο τυπου job οταν η στοιβα ειναι αδεια? Undecided

θα επιστρέφει NULL
Logged
teslaaaa
Αbsolute ΤΗΜΜΥ.gr
*******
Gender: Female
Posts: 2687


Buongiorno Principessa!


View Profile WWW
Re: [Δομές δεδομένων]Απορίες στις ασκήσεις 2012/13
« Reply #12 on: January 31, 2013, 17:11:47 pm »

ευχαριστω!!
εχει κανει κανεις το θεμα 5 απο την 2η αυτοαξιολογηση?αν ναι μπορει να πει αποτελεσματα?οι συγκρισεις μετρουνται οπως στις διαφανειες ?(εκει που λεει κ για την αναζητηση)
Logged

Κάντε την εφαρμογή μου για να πάρω πτυχίο!!

http://www.youtube.com/watch?v=ipjaLMd8TqM

https://www.youtube.com/watch?v=gQU3EphIpMY
jt26
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Posts: 510


View Profile
Re: [Δομές δεδομένων]Απορίες στις ασκήσεις 2012/13
« Reply #13 on: January 31, 2013, 17:16:36 pm »

γτ εξαφανιστηκε η αυτοαξιολογηση απ το ethmmy?
Logged
teslaaaa
Αbsolute ΤΗΜΜΥ.gr
*******
Gender: Female
Posts: 2687


Buongiorno Principessa!


View Profile WWW
Re: [Δομές δεδομένων]Απορίες στις ασκήσεις 2012/13
« Reply #14 on: January 31, 2013, 17:20:22 pm »

Quote from: manos3 on January 31, 2013, 17:16:36 pm
γτ εξαφανιστηκε η αυτοαξιολογηση απ το ethmmy?
τη βουτηξαν  Cheesy
υποθετω τη βγαλανε τελειως επειδη ετσι κ αλλιως ειχε προβλημα
Logged

Κάντε την εφαρμογή μου για να πάρω πτυχίο!!

http://www.youtube.com/watch?v=ipjaLMd8TqM

https://www.youtube.com/watch?v=gQU3EphIpMY
Pages: [1] 2 3 Go Up Print
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Scribbles2 | TinyPortal © Bloc | XHTML | CSS
Loading...