Δομές Δεδομένων

Συζητήσεις για μαθήματα του 3ου έτους στην κατεύθυνση Μαθηματικού Εφαρμογών.

Συντονιστές: Ryu, markelos, meleneemil, Nasia!

stavrakos
Δημοσιεύσεις: 67
Εγγραφή: Σάβ Απρ 14, 2007 8:04 pm

Δημοσίευση από stavrakos »

Παιδιά ανέβασα κάποια παλιά θέματα και κάτι λύσεις. Για τον σωρό έχω μια μικρή επιφύλαξη.
"What's your scene, man?"  "Reification."
"Yeah?  I guess that means pretty hard work with big books and piles of paper on a big table."
"Nope. I drift.  Mostly I just drift."
Άβαταρ μέλους
ntouzos
Δημοσιεύσεις: 87
Εγγραφή: Παρ Δεκ 15, 2006 12:06 pm

Δημοσίευση από ntouzos »

γιατι δεν  μπορω να τα βρω;σε ποια κατηγορια βρισκονται;
Άβαταρ μέλους
pao132003
Δημοσιεύσεις: 1904
Εγγραφή: Παρ Νοέμ 03, 2006 10:06 am
Real Name: Γιάννης
Gender: Male
Τοποθεσία: Αθήνα(ως επί το πλείστον)
Επικοινωνία:

Δημοσίευση από pao132003 »

μόλις τα προσέθεσα στο εργαλείο. (μη μου πείτε ότι άργησα!)
No battle is ever won he said. They are not even fought. The field only reveals to man his own folly and despair, and victory is an illusion of philosophers and fools.
-William Faulkner, novelist (1897-1962)

H πιο επαναστατική πράξη σήμερα (2013) είναι να κρατήσεις ένα σχολείο ανοικτό.
-Άγνωστου
nef
Δημοσιεύσεις: 47
Εγγραφή: Κυρ Σεπ 30, 2007 6:23 pm
Real Name: nefeli
Gender: Female
Facebook ID: 0

domes dedomenon

Δημοσίευση από nef »

thanks a lot gia ta limena :) oi selides pou anevases einai 4 synolika..mipos leipei kamia?gt stin teleytaia selida to teleytaio erotima kovetai..
Άβαταρ μέλους
ntouzos
Δημοσιεύσεις: 87
Εγγραφή: Παρ Δεκ 15, 2006 12:06 pm

Δημοσίευση από ntouzos »

παιδια βρηκε κανεις ακρη με το τελευταιο θεμα;οχι τπταλλο αλλα παντα μπαινει παρομοιο.οποιος ειχε αποψη ας την εκφρασει..   :roll:
Άβαταρ μέλους
theos
Δημοσιεύσεις: 762
Εγγραφή: Κυρ Νοέμ 05, 2006 4:53 am
Real Name: Αριστοτέλης-Εμμανουήλ Θάνος-Φίλης (Μάνος) ge04017
Gender: Male
Τοποθεσία: Alwaysland

Δημοσίευση από theos »

Έχω μια ιδέα, αυτό που έγραψα δηλαδή.

Θέμα 5o

Κώδικας: Επιλογή όλων

int c;
entry=new PQentry;
PQ= new PriorityQueue;
char[] k[];
int[] a[];
char z;
int l=1;
boolean diakritostoixeio=true;
int m=1;
k[0]=getnext();
a[0]=1;
while (getNext()=!null)
{      z=getNext(); 
        for (0<i<=k.length)
        {     if (z=k[i])
              {      a[i]=a[i]+1;
                      l=l+1;
                      diakritostoixeio=false;
                      break; *bgainei eksw apo to for*
              }
        }
        if (diakritostoixeio==true) 
        {      k[a.length]=z;
                a[k.length-1]=1
        }
        m=m+1
}
 
for (0<i<a>c)
{        for (0<i<c)
         {     entry=PQ.findMax;
               System.out.println(entry.getkey()+entry.getdata)
               PQ.deleteMax
         }
}
else
{         for (0<i<a.length)
         {     entry=PQ.findMax;
               System.out.println(entry.getkey()+entry.getdata())
               PQ.deleteMax;
         }
}
[/hide]
Αυτό έκανα εγώ... Τώρα, μπορεί να υπάρχει και πολύ καλύτερος χρονικά αλγόριθμος. Το παραπάνω είναι ψευδογλώσσα. Να πω και περίπου τι κάνει γιατί αλλιώς φαίνεται βουνό

Με τη μέθοδο getNext παίρνουμε την επόμενη λέξη. Η ιδέα είναι να αποθηκεύουμε τις λέξεις σε ένα διάνυσμα k και τις φορές που εμφανίζονται σε ένα διάνυσμα a

Οπότε σε κάθε καινούργια λέξη που παίρνουμε ελέγχουμε αν υπάρχει ήδη στο διάνυσμα k και αν υπάρχει ας πούμε στη θέση 3 τότε αυξάνουμε το a[3] κατά 1.

Αν δεν υπάρχει (είναι η πρώτη φορά που εμφανίζεται) τότε την τοποθετούμε στο τέλος του διανύσματος k και στο τέλος του διανύσματος α προσθέτουμε την μονάδα.

Μόλις τελειώσουν οι λέξεις τοποθετούμε σε μια ουρά προτεραιότητας τα στοιχεία όπου σαν data έχουν την λέξη και σαν κλειδί έχουν τον αριθμό των φορών που υπάρχει η λέξη. Μετά εκτυπώνουμε αυτά που θέλει όπως φαίνεται στον κώδικα. Χοντρικά αυτό κάνω με αυτόν τον αλγόριθμο...


Edit: Έκρυψα τον αλγόριθμο για να μην τον διαβάζει κάποιος άδικα
-Wizard
Λογική είναι η τέχνη να κάνεις λάθος με αυτοπεποίθηση!!!
Άβαταρ μέλους
theos
Δημοσιεύσεις: 762
Εγγραφή: Κυρ Νοέμ 05, 2006 4:53 am
Real Name: Αριστοτέλης-Εμμανουήλ Θάνος-Φίλης (Μάνος) ge04017
Gender: Male
Τοποθεσία: Alwaysland

Δημοσίευση από theos »

Άκυρος ο παραπάνω αλγόριθμος. Βαθμολογήθηκε με 0/2. Ο Συμβώνης ήθελε να λυθεί μόνο με πίνακα συμβόλων και παρόλο που είναι προγραμματιστικά σωστός τον έπιασε όλο λάθος. Πριν δώσουμε, αν καταφέρω να τον κάνω θα γράψω τον σωστό χρησιμοποιώντας πίνακα συμβόλων.

Χαιρετώ
Λογική είναι η τέχνη να κάνεις λάθος με αυτοπεποίθηση!!!
nikolakisxa
Δημοσιεύσεις: 112
Εγγραφή: Κυρ Μάιος 20, 2007 11:17 am
Real Name: Nikolas Xatzis
Gender: Male
Facebook ID: 0
Τοποθεσία: Kifisia

Re: Δομές Δεδομένων

Δημοσίευση από nikolakisxa »

hi oloi....dwthike kai i prwti ergasia pros paradosi....mipws exei kaneis idees epilisis....?
Άβαταρ μέλους
pantazi
Δημοσιεύσεις: 26
Εγγραφή: Τρί Ιουν 17, 2008 2:25 pm
Real Name: PANTAZI IRO
Gender: Female
Facebook ID: 0

Ασκήσεις στις Δομές Δεδομένων ΕΠΕΙΓΟΝ!!!

Δημοσίευση από pantazi »

Ελπίζω να διαβαστεί εγκαίρως το μήνυμά μου. Υπάρχει κάποιος, ο οποίος να έχει κάνει τις ασκήσεις προς παράδοση του κ. Συμβώνη για τις Δομές Δεδομένων και να μπορεί να τις στείλει ή να τις ανεβάσει; Πρέπει να τις παραδώσουμε μέχρι την Παρασκευή. Αν έχει κάποιος την ευγενή καλωσύνη να βοηθήσει... Ευχαριστώ!
Τελευταία επεξεργασία από το μέλος timos_m την Παρ Σεπ 18, 2009 6:13 pm, έχει επεξεργασθεί 1 φορά συνολικά.
Λόγος: Merged
brian
Δημοσιεύσεις: 48
Εγγραφή: Δευ Ιούλ 02, 2007 12:37 pm

Re: Ασκήσεις στις Δομές Δεδομένων ΕΠΕΙΓΟΝ!!!

Δημοσίευση από brian »

nai paidia opoios mporei as tis anevasei giati paizei na valei kai kanena thema apo aftes!SOS!!!!
Άβαταρ μέλους
kostas213
Forum Administrator
Forum Administrator
Δημοσιεύσεις: 1531
Εγγραφή: Τρί Νοέμ 28, 2006 8:03 pm
Real Name: Κωνσταντίνος
Gender: Male
Τοποθεσία: Zürich

Re: Δομές Δεδομένων

Δημοσίευση από kostas213 »

Δόθηκε παράταση για την 2η εργαστηριακή άσκηση. Τώρα μπορούμε να την παραδόσουμε μέχρι τη Δευτέρα (ρωτήσαμε σήμερα τον Συμβώνη). :D
DrCox
Δημοσιεύσεις: 88
Εγγραφή: Δευ Σεπ 10, 2007 12:07 am

Re: Δομές Δεδομένων

Δημοσίευση από DrCox »

re paidia mipws kserei kaneis na lynei to thema me tis parentheseis...?an mporeite as to lysei kaneis kai as to anebasei...oso gia tous swrous kai ta dendra...den einai tpt...apla to thema me tis parentheseis an kserei kapoios giati kaigomaste.... thanx...
Άβαταρ μέλους
theos
Δημοσιεύσεις: 762
Εγγραφή: Κυρ Νοέμ 05, 2006 4:53 am
Real Name: Αριστοτέλης-Εμμανουήλ Θάνος-Φίλης (Μάνος) ge04017
Gender: Male
Τοποθεσία: Alwaysland

Re: Δομές Δεδομένων

Δημοσίευση από theos »

Το θέμα με τις παρενθέσεις:

Χρησιμοποιείς μια στοίβα s. Κάθε φορά που διαβάζεις "(" κάνεις push Χ. Κάθε φορά που διαβάζεις ")" κάνεις pop. Αν η στοίβα είναι άδεια στο τέλος τότε η έκφραση που δόθηκε είναι σωστή. Αυτή είναι η ιδέα της λύσης. Σύμφωνα με αυτό δεν είναι δύσκολο να γράψετε τον αλγόριθμο.

Παράδειγμα: ((())()())
Βλέπει τρεις αριστερές και τις κάνει push. Οπότε η στοίβα έχει μέσα {Χ,Χ,Χ}
Βλέπει δύο δεξιές και κάνει δύο φορές pop. Οπότε η στοίβα έχει: {Χ}
Με την ίδια λογική λειτουργεί οπότε απλώς γράφω τι θα έχει η στοίβα σε κάθε βήμα
{Χ,Χ}
{Χ}
{Χ,Χ}
{Χ}
{ }
Η στοίβα είναι άδεια στο τέλος (IsEmpty==true) και άρα ήταν σωστή η έκφραση

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

Στο θέμα με τις παρενθέσεις και τις αγκύλες, κάνει push X σε "(" και push Υ σε "[". Και όταν δέχεται ")" κάνει pop. Αν το στοιχείο που έγινε pop ήταν Χ συνεχίζει κανονικά. Αν ήταν Υ τερματίζει λέγοντας ότι η έκφραση δεν είναι σωστή και αντίστοιχα αν δεν υπήρχε στοιχείο να γίνει pop (αν δηλαδή ήταν άδεια η στοίβα)

Καλό διάβασμα :P
Λογική είναι η τέχνη να κάνεις λάθος με αυτοπεποίθηση!!!
DrCox
Δημοσιεύσεις: 88
Εγγραφή: Δευ Σεπ 10, 2007 12:07 am

Re: Δομές Δεδομένων

Δημοσίευση από DrCox »

eisai apla theos...(den einai tyxaio to nickname..) etoimasou to septembri kai gia algorithmous.....
DrCox
Δημοσιεύσεις: 88
Εγγραφή: Δευ Σεπ 10, 2007 12:07 am

Re: Δομές Δεδομένων

Δημοσίευση από DrCox »

re theos gia to thema me tis parentheseis kai tis agkyles...otan synanta ')' kanei pop to X wraia...otan synanta '}' kanei pop to Y. den termatizei pou les..ase pou i prwti ekfrasi (())() einai lathos symfwna me ta legomena tou...gt mesa se ena zeugari agkylwn parenthesewn prepei na exoume swsti ekfrasi.an paroume tis parentheseis 1 kai 3 tha exoun mesa tous mono tin (...ara einai lathos i ekfrasi auti...i lathos ta lew egw..?gia tsekare to...kai an ginetai kaneis na eksigisei auto me ta 'insert' thema 4 epanaliptikis 2005.thanx..
Απάντηση

Επιστροφή στο “Μαθηματικού Εφαρμογών”