מבני נתונים ואלגוריתמים ב־Go
Go נותנת לכם slices ו־maps ומשאירה את השאר לכם: אין טיפוס של מחסנית, תור או קבוצה, והערימה ב־container/heap לא עושה כלום עד שאתם מממשים את heap.Interface. במסלול הזה אתם בונים כל מבנה ב־Go עם structs ומצביעים, ואז ממיינים, משתמשים ברקורסיה ומחפשים בגרפים בעזרתם, ומסיימים בשאלות ראיונות שנבדקות. בחינם, בדפדפן, עם תעודה ברוב הקורסים.
377 שיעורים228 אתגרים702 שאלות חידון
- ידידותי למתחילים
עזרה בתכנות בליווי AI
שיעורים אינטראקטיביים ומעשיים
הקראה קולית בכל שיעור
חידונים לבדיקת הידע
23 תעודות חינמיות לאורך המסלול
DSA ב־Go, שלב אחר שלב
כל שלב הוא אוסף של קורסים קיימים ב־Coddy, וכל כפתור התחלה פותח אותם ב־Go. שלושת הקורסים שעדיין לא נלמדים ב־Go מופיעים אחרי השלבים.
- 1שלב 15 קורסים, לפי הסדר
- 2שלב 2
סדרת מבני הנתונים, חלק שני
להתחיל את השלב הזהלהתחילרשימה מקושרת דו־כיוונית, ערימות ותורי עדיפויות, עצי trie, גרפים ועץ AVL המאזן את עצמו.container/listהיא הראשונה מביניהם, מוכנה מראש; אחרי השלב הזה חמש המתודות שלheap.Interfaceהגיוניות, כי בניתם ערימה בעצמכם, והעץ המאוזן ש־Go אף פעם לא סיפקה הוא אחד שאתם יכולים לבנות.להתחיל5 קורסים, לפי הסדר - 3שלב 3
אלגוריתמי מיון
להתחיל את השלב הזהלהתחילמיון בועות, בחירה, הכנסה, מיזוג, מהיר, ערימה, מנייה ובסיס, נכתבים ב־Go ונצפים בוויזואלייזר.sort.Sliceמשתמשת ב־pattern-defeating quicksort מאז Go 1.19, גםslices.Sortמשתמשת בו, ואף אחת מהן לא יציבה, ולכן קיימתsort.SliceStable; אחרי השלב הזה תדעו מה פירוש כל אחת מהמילים האלה.להתחיל8 קורסים, לפי הסדר- מיון בועות11 שיעורים10 אתגרים
- מיון בחירה - סדרת DSA9 שיעורים3 אתגרים54 שאלות
- מיון הכנסה - סדרת DSA9 שיעורים3 אתגרים
- מיון מיזוג - סדרת מבני נתונים ואלגוריתמים9 שיעורים3 אתגרים52 שאלות
- מיון מהיר – סדרת DSA9 שיעורים3 אתגרים52 שאלות
- מיון ערימה – סדרת DSA9 שיעורים3 אתגרים54 שאלות
- מיון ספירה – סדרת DSA9 שיעורים3 אתגרים52 שאלות
- מיון רדיקס – סדרת DSA9 שיעורים3 אתגרים55 שאלות
- 4שלב 4
חשיבה רקורסיביתדף ייעודי
להתחיל את השלב הזהלהתחילאתגרי רקורסיה ב־Go, שבה המחסניות של goroutines מתחילות קטנות וגדלות לפי הצורך, כך שרקורסיה בעומק של אלפי קריאות כמעט אף פעם לא גולשת. תנאי עצירה חסר עדיין פוגע בתקרה, 1 GB של מחסנית במערכות 64 ביט כברירת מחדל, ונגמר בשגיאה קטלנית ולא בתוכנית איטית. תכנות דינמי ומניפולציית ביטים מופיעים אחרי השלבים, כי הם נלמדים ב־Python וב־C++.להתחילדף ייעודי - 5שלב 5
אלגוריתמים על גרפים
להתחיל את השלב הזהלהתחילחיפוש לרוחב ולעומק, Dijkstra, Bellman-Ford, מיון טופולוגי, Kruskal ו־Prim ב־Go, על הגרף שבניתם בשלב השני. תור העדיפויות של Dijkstra ב־Go הואcontainer/heapמעל slice מטיפוס משלכם: הערימה משלב שתיים, מאחורי ממשק.להתחיל7 קורסים, לפי הסדר- חיפוש לרוחב – אלגוריתמים על גרפים9 שיעורים3 אתגרים54 שאלות
- חיפוש לעומק תחילה – אלגוריתמים בגרפים9 שיעורים3 אתגרים54 שאלות
- אלגוריתם דייקסטרה – אלגוריתמים בגרפים9 שיעורים3 אתגרים54 שאלות
- אלגוריתם בלמן-פורד – אלגוריתמים על גרפים9 שיעורים3 אתגרים54 שאלות
- מיון טופולוגי – אלגוריתמים על גרפים9 שיעורים3 אתגרים55 שאלות
- האלגוריתם של קרוסקל - אלגוריתמים בגרפים9 שיעורים3 אתגרים57 שאלות
- האלגוריתם של פרים – אלגוריתמים על גרפים9 שיעורים3 אתגרים55 שאלות
- 6שלב 6
תרגול לראיונות
להתחיל את השלב הזהלהתחילעשר חבילות אתגרי ראיונות ושני מאגרי בעיות תכנות ב־Go, שנבדקים במקרי בדיקה: בעיות לא מוכרות, שנפתרות בלי מדריך, עם slices, maps והמבנים שבניתם בדרך.להתחיל12 קורסים, לפי הסדר- אתגרי קידוד לראיונות עבודה – חלק א׳3 שיעורים3 אתגרים
- אתגרי קידוד לראיונות עבודה – מקבץ II3 שיעורים3 אתגרים
- אתגרי קידוד לראיונות עבודה - חבילה III3 שיעורים3 אתגרים
- אתגרי תכנות לראיונות עבודה – חבילה IV3 שיעורים3 אתגרים
- אתגרי תכנות לראיונות עבודה – חבילה V3 שיעורים3 אתגרים
- אתגרי קידוד לראיונות עבודה - מקבץ VI3 שיעורים3 אתגרים
- אתגרי קוד לראיונות עבודה – חבילה VII3 שיעורים3 אתגרים
- אתגרי קידוד לראיונות – מארז VIII3 שיעורים3 אתגרים
- אתגרי קוד לראיונות עבודה - חבילה IX3 שיעורים3 אתגרים
- אתגרי תכנות לראיונות - X3 שיעורים3 אתגרים
- אתגרי תכנות32 שיעורים31 אתגרים
- אתגרי תכנות: כרך 225 שיעורים24 אתגרים
ללמוד תוך כדי עשייה
כתבו קוד אמיתי, שלפו נתונים ממסדי נתונים, בנו אתרים ושלטו בפרומפטים ל-AI. השיעורים האינטראקטיביים שלנו מכסים כל מיומנות שמפתחים מודרניים צריכים.
לבנות רצף
שמרו על עקביות וראו איך ההתקדמות שלכם גדלה! עקבו אחרי הרגל התכנות היומי, הגנו על הרצף עם ימי הקפאה וקבלו פרסים על כל יום שאתם מגיעים.
12 ימי רצף
חזרו מחר כדי לשמור על הרצף!
January 2026
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
21
22
23
24
25
26
27
28
29
30
הכל או כלום
יום 5 מתוך 7
הקפאת רצף
2 left
לתכנת מכל מקום
קחו את מסע התכנות שלכם לכל מקום! בלי התקנות, בלי הורדות - פשוט פותחים ומתחילים לתכנת. זמין ב-iOS, ב-Android ובאתר עם דירוג של 4.9 כוכבים.
אתם לא לבד
התחרו בטבלאות דירוג עולמיות, הזמינו חברים כדי לקבל פרסים וחגגו את ההצלחות אחד של השני. תכנות עם חברים זה יותר כיף!
כל הדרכים ללמוד
לקרוא, להאזין, לבחון את עצמכם, לשאול את ה-AI או לחפש כל דבר שכבר למדתם. כל שיעור פוגש אתכם בדיוק איפה שאתם.
משתנה הוא מיכל עם שם ששומר ערך שאפשר להתייחס אליו בהמשך התוכנית.
ב-Python יוצרים משתנה על ידי כתיבת השם, סימן שווה, ואז הערך שרוצים לשמור.
הערך יכול להשתנות עם הזמן - השמה מחדש לאותו שם פשוט מפנה אותו לערך חדש.
לקבל תעודה
קבלו תעודה על כל קורס שתסיימו. הוסיפו אותן לפרופיל ה-LinkedIn ולקורות החיים כדי להציג למעסיקים את כישורי התכנות שלכם.
למה ללמוד DSA ב־Go ב־Coddy
- המבנים ש־Go משאירה לכם. Go כוללת slices ו־maps ונעצרת שם: מחסנית היא slice שעושים לו
appendוחותכים אותו מחדש, קבוצה היאmap[T]struct{}, ואין בכלל טיפוס של תור או עץ. לדעת לכתוב את החסרים, ומה עולה כל פעולה על slice, זה חלק מלדעת Go. - structs ומצביעים, בלי שום דבר נסתר. אין ב־Go מחלקות: צומת הוא
structעם מצביע לצומת הבא, ומתודות נתלות על הטיפוס. רשימה מקושרת או עץ נראים בדיוק כמו מה שהם, גנריות (מאז Go 1.18) הופכת אותם לשימושיים לכל טיפוס איבר, ואיסוף הזבל אומר שאיןmallocאוfreeלנהל. - כמעט כל המסלול ב־Go. כל מבנה נתונים, מיון, אלגוריתם גרפים, אתגר רקורסיה וחבילת ראיונות נלמדים ב־Go. שלושה נלמדים במקום אחר ומופיעים אחרי השלבים עם קישור לכל אחד: תכנות דינמי וסדרת הראיונות של Python ב־Python, ומניפולציית ביטים ב־C++. מניפולציית ביטים נקראת בטבעיות מתוך Go, שיש בה את
&,|,^,<<ו־>>של C++ והיא כותבת NOT בתור^x. - נבדק כמו בראיון. כל שיעור מסתיים באתגר Go שנבדק במקרי בדיקה, וכשאחד נכשל, Bugsy קורא את הקוד שלכם ומכוון אתכם לתיקון בלי לתת את התשובה. תעודה חינמית ברוב הקורסים, וכל אחת ניתנת לאימות בכתובת משלה.
שאלות נפוצות על DSA ב־Go
האם Go טובה למבני נתונים ואלגוריתמים?
container/list ול־container/heap, את המבנים אתם כותבים בעצמכם, ובמסלול לימוד זו בדיוק הנקודה. Go גם מריצה חלק גדול מתשתיות הענן של היום, כולל Docker ו־Kubernetes, מה שהופך אותה לשפת ראיונות טבעית לתפקידי Backend.איזה טיפוס או חבילה של Go מתאימים לאיזה מבנה נתונים?
append וחיתוך מחדש הוא גם המחסנית שלכם; map היא טבלת גיבוב, ו־map[T]struct{} היא הקבוצה האידיומטית; container/list היא רשימה מקושרת דו־כיוונית; ו־container/heap מריצה ערימה בינארית מעל כל טיפוס שמממש את heap.Interface. אין טיפוס של תור, עץ, trie או גרף, ולכן אותם אתם בונים בעצמכם, בשלבים אחד ושתיים.איך עובדת container/heap ב־Go?
container/heap ב־Go?heap.Interface על טיפוס slice משלכם: Len, Less ו־Swap מתוך sort.Interface, ועוד Push ו־Pop, שרק מוסיפות לסוף ה־slice ומסירות ממנו. אחר כך קוראים לפונקציות החבילה heap.Push ו־heap.Pop, אף פעם לא למתודות שלכם, והן מבצעות את ההזזות למעלה ולמטה ששומרות על הסדר. זה נראה מוזר עד שכתבתם ערימה בעצמכם, ובשלב השני אתם עושים בדיוק את זה.למה מעבר על map ב־Go נותן סדר שונה בכל פעם?
אילו קורסים במסלול הזה לא נלמדים ב־Go?
&^, AND NOT, שמאפס באופרנד השמאלי כל ביט שדלוק באופרנד הימני.