• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
February 03, 2026, 19:31:18 pm

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.
February 03, 2026, 19:31:18 pm

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Μόλις μπήκα απο κατατακτή...
by chatzikys
[Today at 18:51:59]

Πότε θα βγει το μάθημα; -...
by Mr Watson
[Today at 18:17:39]

[ΣΑΕ Ι] Γενικές απορίες κ...
by Mr Watson
[Today at 17:01:02]

Αποτελέσματα Εξεταστικής ...
by chatzikys
[Today at 11:49:01]

[Ηλεκτρονική Ι] Γενικές α...
by Giopan
[Today at 05:46:35]

[ΑΣΗΕ] Απορίες στις ασκήσ...
by Tasos Bot
[February 02, 2026, 20:50:35 pm]

[Μεταφορά και Διανομή ΗΕ]...
by Mr Watson
[February 02, 2026, 18:55:28 pm]

Τι καφέ πίνετε;
by MeTheWizard
[February 02, 2026, 18:27:47 pm]

[Θ.Υ.Α.] Επικαιρότητα, απ...
by OlgaG
[February 01, 2026, 00:17:07 am]

H Στοά των Off Topic
by chatzikys
[January 31, 2026, 21:05:09 pm]

Πολεμοσυνέδριο στο ΑΠΘ
by dimikotz
[January 31, 2026, 20:47:47 pm]

[ΣΦ ΗΛ-ΜΗΧ] Ανακοίνωση Σχ...
by Χαρούμενη Πατάτα
[January 30, 2026, 21:10:34 pm]

[Τηλεπ. Συστήματα ΙΙΙ] Γε...
by sofipout
[January 30, 2026, 20:34:25 pm]

[Η/Μ Πεδίο ΙΙ] Ανάλυση πα...
by Tsn
[January 30, 2026, 18:59:46 pm]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by Διάλεξις
[January 30, 2026, 12:45:58 pm]

[Unofficial Mod] Dark Mod...
by nmpampal
[January 29, 2026, 23:02:21 pm]

[Μετάδοση Θερμότητας] Γεν...
by chatzikys
[January 29, 2026, 20:58:16 pm]

[Ηλεκτρική Οικονομία] Γεν...
by ttsengel
[January 29, 2026, 19:29:04 pm]

[Οπτική] Γενικές Πληροφορ...
by Σουλης
[January 29, 2026, 16:07:44 pm]

Erasmus στο Università de...
by georgino
[January 28, 2026, 17:58:29 pm]
Στατιστικά
Members
Total Members: 10347
Latest: Panagiotis2007
Stats
Total Posts: 1430042
Total Topics: 31901
Online Today: 365
Online Ever: 6054
(January 14, 2026, 06:07:19 am)
Users Online
Users: 74
Guests: 78
Total: 152
femanak
nchatzo
aggelikit
Νικη
Evripidis
Dimos Bachlas
Deviate
xorxe
superkolios
azarkad
stolieras
vasilikitsatsi
ProffesorBee
3rdDegreeBurn
Ilias007
ChrisKaloy-Kakou
Petross
Louis Litt
dsaragiotis
sassi
Mr Z
LelisNiko
τσακαλι
mzacharop
tmpadasn
Tsomp
jason6157
ntoulker
popman
ntinos²
kutsukellis
tasos potsakis
panpapachri
ThanosKoutsoump
stefanos hios
Alice_8
makato
georgy
apob
Argiris
summersunshine
dmadarak
serafeim
mmikelo
Xontroulis
stavros0201
nikolihss
hacky
nikpamp
parvanitid
0restis
kkalamar
vivbi
vaggelisx
geoarg
jojos
mantzjim
Niki kiose
koulakidis
alexandraskol
harischris
Saint_GR
zontos
micelethe
akoumia
Sanaia
jim1313
leolam
pelopidt
Εμφάνιση

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

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



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

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

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


εφακ


View Profile
Re: [Δομές δεδομένων]Απορίες στις ασκήσεις 2012/13
« Reply #1 on: January 30, 2013, 21: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, 22:41:17 pm »

Quote from: pentium4 on January 30, 2013, 21: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, 22:46:22 pm by nlogn » Logged
Ναταλία
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Female
Posts: 1209



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

Quote from: nlogn on January 30, 2013, 22:41:17 pm
Quote from: pentium4 on January 30, 2013, 21: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, 00:43:41 am »

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

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



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

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

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

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



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

Quote from: natalia_3005 on January 31, 2013, 00:05:53 am
Quote from: nlogn on January 30, 2013, 22:41:17 pm
Quote from: pentium4 on January 30, 2013, 21: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, 01:30:38 am by nlogn » Logged
pentium4
Veteran
Καταστραμμένος
******
Posts: 7940


εφακ


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

Quote from: nlogn on January 31, 2013, 01:23:08 am
Quote from: natalia_3005 on January 31, 2013, 00:05:53 am
Quote from: nlogn on January 30, 2013, 22:41:17 pm
Quote from: pentium4 on January 30, 2013, 21: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, 06: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, 11:14:43 am »

Quote from: pentium4 on January 31, 2013, 06:31:09 am
Quote from: nlogn on January 31, 2013, 01:23:08 am
Quote from: natalia_3005 on January 31, 2013, 00:05:53 am
Quote from: nlogn on January 30, 2013, 22:41:17 pm
Quote from: pentium4 on January 30, 2013, 21: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, 11:17:02 am »

Quote from: nlogn on January 31, 2013, 11:14:43 am
Quote from: pentium4 on January 31, 2013, 06:31:09 am
Quote from: nlogn on January 31, 2013, 01:23:08 am
Quote from: natalia_3005 on January 31, 2013, 00:05:53 am
Quote from: nlogn on January 30, 2013, 22:41:17 pm
Quote from: pentium4 on January 30, 2013, 21: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, 14: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, 15:29:15 pm »

Quote from: teslaaaa on January 31, 2013, 14: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, 16: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, 16: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, 16:20:22 pm »

Quote from: manos3 on January 31, 2013, 16: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...