Skip to content

dmst-algorithms-course/assignment-1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 

Repository files navigation

Υπολογισμός Ανοίγματος DJIA

Το αρχείο DJIA.csv περιέχει τις τιμές του δίκτη Dow Jones (Dow Jones Industrial Average, DJIA) από τη δημιουργία του στις 26/05/1896 μέχρι τις 19/02/2014.

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

Η εργασία είναι προσωπική.

Κάθε φοιτητής θα εργαστεί στο προσωπικό του αποθετήριο στο GitHub. Για να αξιολογηθεί μια εργασία θα πρέπει να πληροί τις παρακάτω προϋποθέσεις:

  1. Όλη η εργασία θα πρέπει να βρίσκεται σε έναν κατάλογο assignment-1 μέσα στο αποθετήριο του φοιτητή.

  2. Ο πηγαίος κώδικας του προγράμματος που θα γραφτεί θα πρέπει να βρίσκεται σε έναν υποκατάλογο src του καταλόγου assignment-1.

  3. Ο μεταγλωττισμένος κώδικας του προγράμματος που θα γραφτεί θα πρέπει να βρίσκεται σε έναν υποκατάλογο bin του καταλόγου assignment-1. Έτσι, αν το αποθετήριο του φοιτητή είναι το example-repo, η δομή των καταλόγων θα είναι:

    example-repo
        assignment-1
            src
            bin
    
  4. Το πρόγραμμα θα πρέπει να έχει όνομα StockSpan.

  5. Το πρόγραμμα θα πρέπει να εκτελείται με τους παρακάτω τρόπους:

    java StockSpan -n DJIA.csv
    

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

    YYYY-MM-DD,n
    

    όπου YYYY-MM-DD είναι μια ημερομηνία της μορφής 2014-02-02 και n είναι το άνοιγμα που έχει υπολογιστεί για αυτήν την ημερομηνία.

    java StockSpan -s DJIA.csv
    

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

    YYYY-MM-DD,n
    

    δηλαδή από ημερομηνία και άνοιγμα όπως και προηγουμένως.

    java StockSpan -b DJIA.csv
    

    Τότε το πρόγραμμα θα πρέπει να διαβάζει μία φορά το αρχείο DJIA.csv και στη συνέχεια θα υπολογίζει 100 φορές το άνοιγμα του δείκτη με την απλοϊκή μέθοδο, θα τυπώνει στην έξοδο το χρόνο που απαιτήθηκε σε χιλιοστά του δευτερολέπου και στη συνέχεια θα υπολογίζει 100 φορές το άνοιγμα του δείκτη με χρήση στοίβας και θα εμφανίζει το χρόνο που απαιτήθηκε σε χιλιοστά του δευτερολέπτου για αυτό. Συνολικά λοιπόν η έξοδος του προγράμματος θα πρέπει να είναι όπως:

    Naive implementation took: 6133 millis
    Stack implementation took: 146 millis    
    

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

Αν μια εργασία δεν ικανοποιεί τις παραπάνω απαιτήσεις δεν θα είναι δυνατή η αξιολόγησή της. Επιβεβαιώστε λοιπόν ότι πράγματι το πρόγραμμά σας μπορεί να κληθεί ακριβώς με τις εντολές που δίνονται παραπάνω, και ότι παράγει ακριβώς την έξοδο που περιγράφεται. Ένα παράδειγμα εξόδου μπορείτε να δείτε στο αρχείο sample_output.csv.

Προσέξτε ότι σύμφωνα με τα παραπάνω το πρόγραμμά σας δεν θα πρέπει από μόνο του να σώζει τα αποτελέσματα σε κάποιο αρχείο, απλώς να τα εμφανίζει στην έξοδο. Αν θέλετε να τα σώσετε σε αρχείο θα πρέπει να το καλείτε αναλόγως: java StockSpan -s DJIA.csv > output.csv

About

Stock Span Problem Assignment

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published