< Return to Video

Algorithms Lesson 1: Bubblesort

  • 0:10 - 0:13
    Μάθημα 1ο: Αλγόριθμος Φυσαλίδας
  • 0:13 - 0:17
    Για την κατανόηση του παρόντος video απαιτείται βασική γνώση άλγεβρας
  • 0:18 - 0:22
    O Αλγόριθμος Φυσαλίδας είναι η απλούστερη διαδικασία ταξινόμησης
  • 0:22 - 0:25
    Σε αυτό το πλαίσιο η ταξινόμηση σημαίνει να βάζουμε σε σειρά
  • 0:25 - 0:27
    ένα πίνακα από δεδομένα όπως ακέραιοι
  • 0:28 - 0:32
    Αρχικά φανταστείτε ένα πίνακα με στοιχεία που θέλουμε να ταξινομίσουμε
  • 0:32 - 0:35
    Χρησιμοποιύμε έναν άδειο πίνακα για επίδειξη
  • 0:35 - 0:38
    Ο Αλγόριθμος Φυσαλίδας περιγράφεται ως εξής
  • 0:39 - 0:44
    Συγκρίνουμε τα δύο πρώτα στοιχεία του πίνακα και αν δεν είναι σε σειρά ανταλάζουμε τις θέσεις τους
  • 0:44 - 0:49
    Κάνουμε το ίδιο για τα ζεύγη γειτονικών στοιχείων του πίνακα μέχρι και το τελευταίο στοιχείο
  • 0:49 - 0:53
    Σε αυτό το σημείο το τελευταίο στοιχείο είναι το μεγαλύτερο του πίνακα
  • 0:53 - 0:57
    Στην συνέχεια επαναλαμβάνουμε την διαδικασία για όλα τα ζευγάρια πλην του τελευταίου στοιχείου
  • 0:57 - 1:01
    μέχρι ο πίνακας να είναι πλήρως ταξινομημένος
  • 1:07 - 1:12
    Τώρα γεμίζουμε τον πίνακα με στοιχεία για να δείξουμε την λειτουργία του αλγορίθμου
  • 1:12 - 1:14
    Ξεκινάμε συγκρίνοντας το 5 με το 9
  • 1:14 - 1:17
    Από την στιγμή που το 5 είναι μικρότερο του 9 δεν κάνουμε τίποτα
  • 1:17 - 1:20
    Στην συνέχεια συγκρίνουμε το 9 με το 2
  • 1:20 - 1:24
    Επειδή το 9 είναι μεγαλύτερο του 2 ανταλλάσουμε τα στοιχεία
  • 1:24 - 1:30
    Κάνουμε το ίδιο ώσπου το 9 που είναι το μεγαλύτερο στοιχείο να φτάσει στη τελευταία θέση
  • 1:30 - 1:33
    Αυτός είναι και ο λόγος που ο αλγόριθμος πήρε το όνομα φυσαλίδα
  • 1:33 - 1:35
    Όταν το 9 φτάσει στην τελευταία θέση
  • 1:35 - 1:41
    συνεχίζουμε με τα επόμενα περάσματα του αλγορίθμου και ταξινομούμαι τον πίνακα
  • 1:51 - 1:54
    Ο ψευδοκώδικας για τον αλγόριθμο Φυσαλίδας είναι αρκετά απλός
  • 1:54 - 1:57
    Μόνο αυτές οι 4 γραμμές που βλέπετε
  • 1:59 - 2:02
    Ο Αλγόριθμος Φυσαλίδας είναι αργός
  • 2:02 - 2:06
    Για να σας δείξουμε τι εννοούμε υπολογίζουμε την πολυπλοκότητά του
  • 2:06 - 2:09
    Υποθέστε ότι έχουμε έναν πίνακα ν στοιχείων
  • 2:09 - 2:13
    Στο πρώτο πέρασμα εκτελούμε ν-1 συγκρίσεις
  • 2:13 - 2:16
    για να πάμε το μεγαλύτερο στοιχείο στο τέλος του πίνακα
  • 2:16 - 2:19
    Στο επόμενο εκτελούμε ν-2 συκρίσεις
  • 2:19 - 2:22
    και συνεχίζοντας με τον ίδιο τρόπο παίρνουμε το ακόλουθο άθροισμα:
  • 2:22 - 2:24
    Συκρίσεις = (ν-1) + (ν-2) + ... + 1
  • 2:24 - 2:37
    Με μαθηματικές πράξεις το παραπάνω άθροισμα ισούται με ν(ν-1)/2 το οποίο είναι ίσο με ν^2/2 - ν/2
  • 2:37 - 2:42
    Για μεγάλες τιμές του ν, το ν^2 υπερισχύει από τους υπόλοιπους όρους
  • 2:42 - 2:48
    και λέμε ότι ο αλγόριθμος φυσαλίδας έχει πολυπλοκότητα της τάξης του ν^2
Title:
Algorithms Lesson 1: Bubblesort
Video Language:
Greek
Duration:
02:53

Greek subtitles

Revisions