Τα αγαπημένα μου δωρεάν μαθήματα για να μάθω σε βάθος τις δομές δεδομένων και τους αλγορίθμους

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

Εάν είστε εξοικειωμένοι με τις βασικές δομές δεδομένων, π.χ. πίνακας, συμβολοσειρά, συνδεδεμένη λίστα, δέντρο, χάρτης και προηγμένες δομές δεδομένων, όπως δοκιμές, και αυτο-ισορροπημένα δέντρα όπως δέντρα AVL κ.λπ., θα ξέρετε πότε να χρησιμοποιήσετε ποια δομή δεδομένων και υπολογίστε το CPU και το κόστος μνήμης του κωδικού σας.

Ακόμα κι αν δεν χρειάζεται να γράψετε τη δική σας συστοιχία, μια συνδεδεμένη λίστα ή hashtable, δεδομένου ότι κάθε SDK προγραμματισμού τους παρέχει, π.χ. βιβλιοθήκη JDK ή C ++ STL, θα πρέπει να τα κατανοήσετε έτσι ώστε να μπορείτε να τα χρησιμοποιήσετε στο σωστό μέρος .

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

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

Για εμάς, είναι απλώς οι αλγόριθμοι και οι δομές δεδομένων, π.χ. κάποια ιδέα, όχι ένα εργαλείο που μπορείτε να χρησιμοποιήσετε για να γράψετε καλά προγράμματα. Δεν γνωρίζαμε ότι το Facebook θα τα χρησιμοποιούσε για να αποθηκεύσει τα στοιχεία μας ή ότι το Google θα τα χρησιμοποιούσε για να αποθηκεύσει ιστοσελίδες και να συνδεθεί με ερωτήματα αναζήτησης.

Τέλος πάντων, δεν είναι ποτέ πολύ αργά.

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

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

Δωρεάν μαθήματα για την εκμάθηση δομών δεδομένων και αλγορίθμων

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

Παρόλο που μερικές φορές δεν ταιριάζουν με την ποιότητα και την κάλυψη των πληρωμένων πόρων, στην πραγματικότητα είναι οι καλύτεροι πόροι για να ξεκινήσετε.

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

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

Μάθημα # 1: Έννοιες δομής δεδομένων στο Γ

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

Οι δομές δεδομένων που διδάσκονται στο μάθημα περιλαμβάνουν Stack, Queue και Linked List χρησιμοποιώντας τη γλώσσα προγραμματισμού C.

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

Αυτό δεν είναι εξαντλητικό μάθημα, αλλά θα μάθετε για Stack, Queue και Linked List.

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

Μάθημα # 2: Αλγόριθμοι Μέρος 1 - Coursera

Αυτό είναι το πρώτο μέρος μιας σειράς μαθημάτων δύο μερών που καλύπτει αλγόριθμους και δομές δεδομένων στο Courera από τον Robert Sedgewick.

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

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

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

Μάθημα # 3: Αλγόριθμοι - Μέρος 2

Αυτό είναι το δεύτερο μέρος μιας σειράς δύο τμημάτων δωρεάν διαδικτυακών μαθημάτων Coursera που καλύπτουν δομές δεδομένων και αλγόριθμους από τους Robert Sedgewick και Kevin Wayne, και οι δύο είναι καθηγητές της Πληροφορικής.

Ο Robert Sedgewick είναι επίσης συγγραφέας του βιβλίου Αλγόριθμοι 4ης Έκδοσης , ένα από τα πιο δημοφιλή βιβλία για Αλγόριθμους για προγραμματιστές Java.

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

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

Μιλώντας για την κοινωνική απόδειξη, τόσο οι Αλγόριθμοι Μέρος 1 όσο και οι Αλγόριθμοι Μέρος 2 είναι ιδιαίτερα προτεινόμενα μαθήματα και έχουν εντυπωσιακές κριτικές και βαθμολογίες.

Μάθημα # 4. Δομές δεδομένων σε Java

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

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

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

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

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

Μάθημα # 5. Εύκολη έως προηγμένη δομή δεδομένων

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

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

Ο συγγραφέας @William Fiset είναι Μηχανικός Λογισμικού στην Google και πρώην παγκόσμιος φιναλίστ ACM-ICPC και έχει εξαιρετικές δεξιότητες προγραμματισμού υπολογιστών και επίλυσης προβλημάτων.

Μιλώντας για κοινωνικές αποδείξεις, το μάθημα έχει περισσότερους από 25 χιλιάδες μαθητές και κατά μέσο όρο 4,1 βαθμολογίες από 683 βαθμολογίες που είναι εντυπωσιακές.

Εν ολίγοις, είναι ένας πλήρης οδηγός για να μάθετε ό, τι πρέπει να γνωρίζετε σχετικά με τις δομές δεδομένων.

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

Έτσι, εάν θέλετε να βρείτε δουλειά με εταιρείες που βασίζονται σε προϊόντα όπως το Amazon, το Google, η Microsoft ή το Facebook, μπορείτε να χρησιμοποιήσετε αυτό το μάθημα για να ξεκινήσετε την προετοιμασία σας.

Περαιτέρω μάθηση

  • Δομές δεδομένων και αλγόριθμοι: Deep Dive χρησιμοποιώντας Java
  • Δομή δεδομένων και αλγόριθμοι - Μέρος 1 και 2
  • 10 βιβλία για την προετοιμασία συνεντεύξεων εργασίας τεχνικού προγραμματισμού / κωδικοποίησης
  • 10 Αλγόριθμος Βιβλία Κάθε Προγραμματιστής Πρέπει να Διαβάζει
  • Κορυφαία 5 βιβλία δομής δεδομένων και αλγορίθμου για προγραμματιστές Java
  • Από 0 έως 1: Δομές δεδομένων και αλγόριθμοι στην Java
  • Δομή δεδομένων και ανάλυση αλγορίθμων - Συνέντευξη εργασίας

Σημειώσεις κλεισίματος

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

Αν σας αρέσει αυτό το άρθρο, τότε μοιραστείτε με τους φίλους και τους συναδέλφους σας και μην ξεχάσετε να ακολουθήσετε το javinpaul στο Twitter!