☰
☰
←Back
←
Next→
→
Contents
Reset Progress
✕
ΕΝΟΤΗΤΑ 1 — PACKAGES & PROJECT
Go Modules
go mod init
Το αρχείο go.mod
Εξωτερικές εξαρτήσεις
Packages
Import και alias
Το δικό μας package
Exported vs unexported
Η function init()
Οργάνωση project
Sub-packages
Κυκλικές εξαρτήσεις
Standard project layout
ΕΝΟΤΗΤΑ 2 — CLI
os.Args
Iteration στα ορίσματα
Το package flag
Ορισμός flag
Ανίχνευση flags
flag.Args()
Από string σε αριθμό
ΕΝΟΤΗΤΑ 3 — PATTERNS
Γιατί χρειαζόμαστε patterns
Result variable — accumulator
Boolean switch
Break, continue, early return
Sentinel value
Η αξία των patterns
Min/Max Tracking
Προηγούμενη τιμή
Two pointers
Sliding window
Variable-size window
Complement lookup
Challenge: δεύτερος μεγαλύτερος
Όλα τα patterns
ΕΝΟΤΗΤΑ 4 — ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ
Βασικές δομές δεδομένων
Stack — LIFO
Challenge: ισορροπημένες παρενθέσεις
Queue — FIFO
Deque
Αφαίρεση από τη μέση
Hash map, set, heap
Εισαγωγή στη μέση
Όλες οι δομές
ΕΝΟΤΗΤΑ 5 — ΑΝΑΖΗΤΗΣΗ & ΤΑΞΙΝΟΜΗΣΗ
Big-O
Οι έξι περιπτώσεις
Μέτρηση σε δικό σου κώδικα
Αναζήτηση
Binary search
Ταξινόμηση
Το package slices
slices.SortFunc
Anonymous functions
slices.Sort vs sort.Slice
Bubble sort
Οι υπόλοιποι αλγόριθμοι
Challenge: binary search
Αναζήτηση & ταξινόμηση
ΕΝΟΤΗΤΑ 6 — RECURSION
Recursion
Base case
Το call stack
Τα δύο υποχρεωτικά μέρη
Unwinding phase
Arguments στην αναδρομή
Divide and conquer
Merge sort
Γιατί βγαίνει O(n log n)
Πώς σκέφτεσαι αναδρομικά
Οι τρεις παγίδες
Υπάρχει break στο recursion;
Challenge: άθροισμα ψηφίων
Challenge: λαβύρινθος
Recursion, με μια ματιά
ΕΝΟΤΗΤΑ 7 — GREEDY & BACKTRACKING
Greedy
Ρωμαϊκοί αριθμοί
Συσκέψεις στην αίθουσα
Ο σκελετός ενός greedy
Πότε να το εμπιστευτείς
Challenge: πόσες εργασίες
Backtracking
Ο σκελετός σε τρεις γραμμές
Το base case
Επιλογές «ναι» ή «όχι»
Το δέντρο αποφάσεων
Pruning
Loop μέσα στο recursion
N βασίλισσες
Ο έλεγχος απειλής
Ο αλγόριθμος
Sudoku
Πότε ποιο
Ο πίνακας απόφασης
Greedy & backtracking
ΕΝΟΤΗΤΑ 8 — DYNAMIC PROGRAMMING
Memoization
Tabulation
Πότε λύνεται με DP
Τα ρέστα, σωστά αυτή τη φορά
Δύο διαστάσεις
Τι άλλο υπάρχει
Challenge: πόσοι τρόποι
Δυναμικός προγραμματισμός
ΕΠΙΛΟΓΟΣ
Όλα όσα είδαμε
Το δέντρο αποφάσεων
Τελικό glossary