GithubHelp home page GithubHelp logo

dituoi_dsa's Introduction

Δομές Δεδομένων και Αλγόριθμοι

Πανεπιστήμιο Ιωαννίνων - Τμήμα Πληροφορικής και Τηλεπικοινωνιών

Γκόγκος Χρήστος - Άρτα@2020

Τελευταία ενημέρωση: 31/10/2020

Θεωρία

Παρουσιάσεις


Εργαστήριο (C++)

Εργαστήριο 1 - Βασικές έννοιες στη C και στη C++

Δείκτες, δέσμευση-αποδέσμευση μνήμης, πίνακες, πέρασμα παραμέτρων με τιμή και με αναφορά σε συναρτήσεις, δομές - εγγραφές , κλάσεις - αντικείμενα, ανάγνωση - εγγραφή αρχείων.

Εργαστήριο 2 - Εισαγωγή στα templates και στην STL (Standard Template Library)

Templates, STL containers, STL iterators, STL αλγόριθμοι, lambdas.

Εργαστήριο 3 - Αλγόριθμοι αναζήτησης και ταξινόμησης

Θεωρητική μελέτη αλγορίθμων (ασυμπτωτική πολυπλοκότητα), μέτρηση χρόνου εκτέλεσης κώδικα, αλγόριθμοι ταξινόμησης (ταξινόμηση με εισαγωγή, ταξινόμηση με συγχώνευση, γρήγορη ταξινόμηση, ταξινόμηση κατάταξης), σταθερή ταξινόμηση, αλγόριθμοι αναζήτησης (σειριακή αναζήτηση, δυαδική αναζήτηση, αναζήτηση με παρεμβολή).

Εργαστήριο 4 - Γραμμικές λίστες

Στατικές λίστες (υλοποίηση στατικής γραμμικής λίστας), συνδεδεμένες λίστες (υλοποίηση απλά συνδεδεμένης λίστας), λίστες της STL (std::array, std::bitset, std::forward_list, std::list, std::vector, std::deque).

Εργαστήριο 5 - Στοίβες και ουρές

Στοίβα (υλοποίηση στοίβας στη C++), Ουρά (υλοποίηση ουράς στη C++), στοίβες και ουρές στην STL (οι adaptors std::stack και std::queue).

Εργαστήριο 6 - Σωροί

Σωροί ελαχίστων (MINHEAPS) και σωροί μεγίστων (MAXHEAPS), η ταξινόμηση heapsort, σωροί μεγίστων και σωροί ελαχίστων στην STL (std::priority_queue).

Εργαστήριο 7 - Κατακερματισμός

Συναρτήσεις κατακερματισμού (hash functions), κατακερματισμός με ανοικτή διευθυνσιοδότηση (γραμμική ανίχνευση), κατακερματισμός με αλυσίδες, δομές κατακερματισμού στην STL (std::unordered_map, std::unordered_set), η std::hash.

Εργαστήριο 8 - Γραφήματα

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

Εργαστήριο 9 - Δένδρα

Δυαδικά δένδρα, τρόποι διάσχισης δένδρων (προ-διατακτική, ένδο-διατακτική, μέτα-διατακτική, κατά πλάτος), ισοζυγισμένα δυαδικά δένδρα. Δυαδικά δένδρα αναζήτησης.

Εργαστηριακές ασκήσεις 2019-2020

Θέματα εξετάσεων

dituoi_dsa's People

Contributors

chgogos avatar

Stargazers

Konstantinos Nasiotis avatar

Watchers

 avatar James Cloos avatar Konstantinos Nasiotis avatar Evangelos Karampoulis avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.