• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
June 18, 2025, 01:23:32 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 18, 2025, 01:23:32 am

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Πρακτική Άσκηση ΤΗΜΜΥ 201...
by chris_p30
[Today at 00:45:33]

[Μεταφορά και Διανομή ΗΕ]...
by Nikos_313
[Today at 00:10:29]

Ισραήλ - Ιράν: Πόλεμος στ...
by Katarameno
[June 17, 2025, 21:32:50 pm]

[Ψηφιακά Ολοκληρωμένα Κυκ...
by tzortzis
[June 17, 2025, 21:25:42 pm]

[Εφ.Θερμοδυναμική] Γενικέ...
by PAPARI69
[June 17, 2025, 20:59:13 pm]

[Γραφική] Λυμένα θέματα
by okanpala
[June 17, 2025, 18:56:22 pm]

Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[June 17, 2025, 14:25:00 pm]

Αντικατάστασης πυκνωτή σε...
by george14
[June 17, 2025, 13:58:20 pm]

Πότε θα βγει το μάθημα; -...
by tzortzis
[June 17, 2025, 13:19:53 pm]

Αποτελέσματα Εξεταστικής ...
by george14
[June 17, 2025, 12:08:25 pm]

[ΨEE] Γενικές απορίες και...
by Juror8
[June 17, 2025, 12:06:57 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 _Trob
[June 16, 2025, 13:28:21 pm]

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

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

[Σ.Π.Η.Ε.] Παλιά θέματα -...
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]
Στατιστικά
Members
Total Members: 9961
Latest: Poli
Stats
Total Posts: 1426704
Total Topics: 31710
Online Today: 205
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 33
Guests: 128
Total: 161
stelinas
Stelios V.
tasos gourd
Captain
Η ΤΡΑΠΟΥΛΑ ΤΟΥ ΠΑΠΠΟΥ ΜΟΥ
rafail zisiadis
kakousios
aplos paratiritis
GeorgeGk
Theislander
asimomyti
Mr Watson
Tsn
maestros
thomasdt
babistso
Aria10
Kelly Tsimpouri
stavr0s16
nikpapoutsi
ThanosV
chriskazakos
kouf
AA RE LEWN
Saint_GR
antreassv
palladas
eed
PolarBear
mayia psarikoglou
Εμφάνιση

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

Νέα!
  Όταν ανεβάζουμε φωτογραφίες στις Ανακοινώσεις και Έκτακτα νέα, βάζουμε τη μεγαλύτερη πλευρά 400 (width=400 ή height=400 ). π.χ. [img height=400 (κλείνει η αγκύλη) 
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 5651 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...