ΑΝΑΠΤΥΞΗ ΛΟΓΙΣΜΙΚΟΥ ΓΙΑ ΤΗΝ ΥΠΟΛΟΓΙΣΤΙΚΗ ΣΥΓΚΡΙΣΗ ΑΛΓΟΡΙΘΜΩΝ

SOFTWARE DEVELOPMENT FOR COMPUTATIONAL COMPARISON OF ALGORITHMS (Αγγλική)

  1. MSc thesis
  2. ΚΥΡΑΜΑΣ, ΕΥΑΓΓΕΛΟΣ
  3. Μεταπτυχιακή Εξειδίκευση στα Πληροφοριακά Συστήματα (ΠΛΣ)
  4. 30 Μαίου 2020 [2020-05-30]
  5. Ελληνικά
  6. 175
  7. ΣΑΜΑΡΑΣ, ΝΙΚΟΛΑΟΣ
  8. PYTHON | ΤΑΞΙΝΟΜΗΣΗ | ΑΝΑΖΗΤΗΣΗ | ΑΛΓΟΡΙΘΜΟΙ
  9. 1
  10. 8
  11. 22
  12. ΠΕΡΙΕΧΕΙ ΠΙΝΑΚΕΣ, ΕΙΚΟΝΕΣ ΚΑΙ ΔΙΑΓΡΑΜΜΑΤΑ
    • Η εργασία αυτή αφορά στην ανάπτυξη λογισμικού - με τη χρήση της γλώσσας προγραμματισμού python - , για την υπολογιστική σύγκριση αλγορίθμων, σε κοινά προβλήματα, και τη δημιουργία κατάλληλων αναφορών, σχετικά με τη χρονική απόδοση των αλγορίθμων. Εστιάσαμε στη μελέτη δύο βασικών κατηγοριών προβλημάτων: στο πρόβλημα της ταξινόμησης και στο πρόβλημα της αναζήτησης. Στα πλαίσια αυτής της μελέτης παρουσιάστηκαν, αναλύθηκαν, και κωδικοποιηθήκαν σε python, έντεκα (11) βασικοί αλγόριθμοι ταξινόμησης, και επτά (7) βασικοί αλγόριθμοι για το πρόβλημα της αναζήτησης. Στη παρουσίαση κάθε αλγορίθμου ακολουθήθηκε η σειρά: περιγραφή –ψευδοκώδικας –παράδειγμα εκτέλεσης - και τέλος κωδικοποίηση σε python. Στη συνέχεια, περιγράψαμε τα βασικά χαρακτηριστικά αλλά και τα πλεονεκτήματα της γλώσσας python έναντι άλλων γλωσσών προγραμματισμού και επικεντρώσαμε στην παρουσίαση βιβλιοθηκών, πακέτων και αρθρωμάτων, καθώς και στις σημαντικές κλάσεις τους, οι οποίες αποτέλεσαν τα βασικά δομικά στοιχεία για το «χτίσιμο» της εφαρμογής, και την ικανοποίηση των λειτουργικών απαιτήσεων του λογισμικού. Στο επόμενο κεφάλαιο της παρούσας εργασίας, αναλύθηκαν και παρουσιάστηκαν τα βασικά δεδομένα αλλά και τα υποπρογράμματα που υλοποιήθηκαν και αποτέλεσαν τις στοιχειώδεις μονάδες λογισμικού, ως αποτέλεσμα της ιεραρχικής σχεδίασης, και της διαδικαστικής προσέγγισης στην υλοποίηση. Για κάθε υποπρόγραμμα, γίνεται η περιγραφή της λειτουργικότητας του και η παρουσίαση του αντίστοιχου κώδικα. Τέλος συμπεριλήφθηκαν δύο κεφάλαια τόσο για την επεξήγηση και την επίδειξη του τρόπου χρήσης της εφαρμογής, και την αλληλεπίδραση του χρήστη με το γραφικό περιβάλλον επικοινωνίας της, όσο και για την παρουσίαση των αποτελεσμάτων και των αναφορών, σε όλες τις διαφορετικές μορφές (αρχεία xls, pdf, tex), που παράγει το λογισμικό.
    • This dissertation pertains to software development- by means of the use of python programming language, - on the computing comparison of algorithms, in common problems, as well as the creation of proper reports, relating to the execution time in terms of performance of algorithms. We focused on the study of two main categories of problems: the sorting problem, and the searching problem. Within the terms of the current study, eleven (11) basic sorting algorithms and seven (7) basic algorithms concerning the searching problem were presented, analyzed and codified in python. As to the presentation of each algorithm, the order is described in what follows: description- pseudo code- execution example- and, finally, codification in python. Following that, we described the basic characteristics as well as the advantages of python over other programming languages, and we concentrated on the presentation of libraries, packages and modules and their important classes, which constituted the fundamental elements for ‘building’ the application, and meeting the functional demands of the software. In the next chapter of the current dissertation, the basic data as well as the functions which were materialized and constituted the essential software units, as a result of the hierarchical design, and the procedural approach in the implementation, were analyzed. For each subprogram, its functionality and presentation of the corresponding code is described. Finally, two chapters were included, with the aim of both clarifying and demonstrating the way the application is used, and the interaction between the user and the graphical user interface of its communication, as well as the presentation of the outcomes and the reports on all its different forms (xlsx, pdf, & latex files), produced by the software.
  13. Items in Apothesis are protected by copyright, with all rights reserved, unless otherwise indicated.