מבני נתונים ואלגוריתמים ב־Lua
ב־Lua יש מבנה נתונים אחד, הטבלה, ולכן כל מבנה במסלול הזה הוא מבנה שאתם יוצרים ממנה: מחסנית מחלק המערך שלה, תור עם שני אינדקסים, עץ מטבלאות שמצביעות על טבלאות. במסלול הזה אתם בונים כל אחד מהם ב־Lua, ואז ממיינים, משתמשים ברקורסיה ומחפשים בגרפים בעזרתם, ומסיימים בשאלות ראיונות שנבדקות. בחינם, בדפדפן, עם תעודה ברוב הקורסים.
377 שיעורים228 אתגרים702 שאלות חידון
- ידידותי למתחילים
עזרה בתכנות בליווי AI
שיעורים אינטראקטיביים ומעשיים
הקראה קולית בכל שיעור
חידונים לבדיקת הידע
23 תעודות חינמיות לאורך המסלול
DSA ב־Lua, שלב אחר שלב
כל שלב הוא אוסף של קורסים קיימים ב־Coddy, וכל כפתור התחלה פותח אותם ב־Lua. שלושת הקורסים שעדיין לא נלמדים ב־Lua מופיעים אחרי השלבים.
- 1שלב 15 קורסים, לפי הסדר
- 2שלב 2
סדרת מבני הנתונים, חלק שני
להתחיל את השלב הזהלהתחילרשימה מקושרת דו־כיוונית, ערימות ותורי עדיפויות, עצי trie, גרפים ועץ AVL המאזן את עצמו. ב־Lua צומת של trie הוא פשוט טבלה שהמפתח שלה הוא התו הבא, וגרף הוא טבלה של רשימות שכנים, כך שכל מבנה מסובך רק כמו הרעיון שלו.להתחיל5 קורסים, לפי הסדר - 3שלב 3
אלגוריתמי מיון
להתחיל את השלב הזהלהתחילמיון בועות, בחירה, הכנסה, מיזוג, מהיר, ערימה, מנייה ובסיס, נכתבים ב־Lua ונצפים בוויזואלייזר.table.sortאינו יציב, כפי שמדריך העיון של Lua מציין; אחרי השלב הזה תדעו למה מיון מוותר על יציבות, ואיך אינדקס לשבירת שוויון מחזיר אותה.להתחיל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
חשיבה רקורסיביתדף ייעודי
להתחיל את השלב הזהלהתחילאתגרי רקורסיה ב־Lua, שיש בה קריאות זנב אמיתיות: בקריאה בעמדת זנב,return f(x), הפונקציה הנקראת משתמשת מחדש ברשומת המחסנית של הקוראת, כך שלולאה רקורסיבית בזנב אף פעם לא מגדילה את המחסנית. רקורסיה עמוקה רגילה עדיין נגמרת בגלישת מחסנית. תכנות דינמי ומניפולציית ביטים מופיעים אחרי השלבים, כי הם נלמדים ב־Python וב־C++.להתחילדף ייעודי - 5שלב 5
אלגוריתמים על גרפים
להתחיל את השלב הזהלהתחילחיפוש לרוחב ולעומק, Dijkstra, Bellman-Ford, מיון טופולוגי, Kruskal ו־Prim ב־Lua, על הגרף שבניתם בשלב השני. אין ב־Lua תור עדיפויות, ולכן הערימה משלב שתיים היא זו ש־Dijkstra צריך, וחיפוש לרוחב צריך תור שאף פעם לא קורא ל־table.remove(t, 1).להתחיל7 קורסים, לפי הסדר- חיפוש לרוחב – אלגוריתמים על גרפים9 שיעורים3 אתגרים54 שאלות
- חיפוש לעומק תחילה – אלגוריתמים בגרפים9 שיעורים3 אתגרים54 שאלות
- אלגוריתם דייקסטרה – אלגוריתמים בגרפים9 שיעורים3 אתגרים54 שאלות
- אלגוריתם בלמן-פורד – אלגוריתמים על גרפים9 שיעורים3 אתגרים54 שאלות
- מיון טופולוגי – אלגוריתמים על גרפים9 שיעורים3 אתגרים55 שאלות
- האלגוריתם של קרוסקל - אלגוריתמים בגרפים9 שיעורים3 אתגרים57 שאלות
- האלגוריתם של פרים – אלגוריתמים על גרפים9 שיעורים3 אתגרים55 שאלות
- 6שלב 6
תרגול לראיונות
להתחיל את השלב הזהלהתחילעשר חבילות אתגרי ראיונות ושני מאגרי בעיות תכנות ב־Lua, שנבדקים במקרי בדיקה: בעיות לא מוכרות, שנפתרות בלי מדריך, עם טבלאות שמעוצבות לכל מה שכל בעיה צריכה.להתחיל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 ב־Lua ב־Coddy
- מבנה אחד, כל המבנים. טבלה ב־Lua היא חלק מערך וחלק גיבוב באחד, ושום דבר אחר לא מובנה: אין טיפוס רשימה, קבוצה, תור או ערימה. ב־Lua כל מבנה הוא טבלאות שמצביעות על טבלאות, וזו התמונה הברורה ביותר שתקבלו של מה זה באמת רשימה מקושרת או עץ.
- ל־Roblox, למשחקים ולתוספים. Lua מריצה את Roblox (בתור Luau), סקריפטים של משחקים, הגדרות של Neovim וסקריפטים של Redis, וקוד משחקים הוא קוד של מבני נתונים: מלאי הוא טבלת גיבוב, סדר תורות הוא תור, מציאת מסלול היא חיפוש בגרף. ללמוד את המבנים ב־Lua זה ללמוד אותם בשפה שבה אתם כבר כותבים סקריפטים.
- כמעט כל המסלול ב־Lua. כל מבנה נתונים, מיון, אלגוריתם גרפים, אתגר רקורסיה וחבילת ראיונות נלמדים ב־Lua. שלושה נלמדים במקום אחר ומופיעים אחרי השלבים עם קישור לכל אחד: תכנות דינמי וסדרת הראיונות של Python ב־Python, ומניפולציית ביטים ב־C++. כל מה שנשאר ב־Lua עשוי מטבלאות, מהמחסנית הראשונה ועד שאלת הראיון האחרונה.
- נבדק כמו בראיון. כל שיעור מסתיים באתגר Lua שנבדק במקרי בדיקה, וכשאחד נכשל, Bugsy קורא את הקוד שלכם ומכוון אתכם לתיקון בלי לתת את התשובה. תעודה חינמית ברוב הקורסים, וכל אחת ניתנת לאימות בכתובת משלה.
שאלות נפוצות על DSA ב־Lua
האם Lua טובה למבני נתונים ואלגוריתמים?
nil במקום שגיאה, ואופרטור האורך #t אמין רק על רצף בלי חורים של nil. מעט ראיונות נערכים ב־Lua, ולכן אם ראיון הוא המטרה שלכם, חבילות הראיונות מוצעות גם בשפה שבה תשתמשו שם.איך בונים מחסנית ותור מטבלה ב־Lua?
table.insert(t, x) דוחפת ו־table.remove(t) שולפת. תור דורש יותר זהירות, כי table.remove(t, 1) מזיזה כל איבר שנשאר מקום אחד אחורה, כך שכל הוצאה מהתור היא O(n). במקום זה החזיקו שני אינדקסים, first ו־last: הוסיפו ב־last + 1, קראו ב־first, הציבו nil במקום הזה והתקדמו, והוצאה מהתור הופכת לזמן קבוע. בשלב הראשון אתם בונים את שניהם.למה #t נותן לפעמים אורך שגוי ב־Lua?
#t נותן לפעמים אורך שגוי ב־Lua?# מחזיר גבול של הטבלה: אינדקס n שבו t[n] אינו nil ו־t[n + 1] כן. לרצף תקין יש בדיוק גבול אחד, האורך שלו; שימו nil באמצע ויכולים להיות כמה גבולות, ו־# עשוי להחזיר כל אחד מהם. לכן לעולם אל תשמרו nil במערך שאתם מודדים עם #, ובמבנים עם פערים, כמו תור עם שני אינדקסים, עקבו אחרי הגודל בעצמכם.האם מבני נתונים חשובים בכתיבת סקריפטים ל־Roblox?
#, כך שמה שאתם בונים כאן עובר ישירות.אילו קורסים במסלול הזה לא נלמדים ב־Lua?
&, |, << ו־>> של C++ והיא כותבת גם XOR וגם NOT בתור ~.