Menu
Coddy logo textTech
מסלול למידה

מבני נתונים ואלגוריתמים ב־Lua

ב־Lua יש מבנה נתונים אחד, הטבלה, ולכן כל מבנה במסלול הזה הוא מבנה שאתם יוצרים ממנה: מחסנית מחלק המערך שלה, תור עם שני אינדקסים, עץ מטבלאות שמצביעות על טבלאות. במסלול הזה אתם בונים כל אחד מהם ב־Lua, ואז ממיינים, משתמשים ברקורסיה ומחפשים בגרפים בעזרתם, ומסיימים בשאלות ראיונות שנבדקות. בחינם, בדפדפן, עם תעודה ברוב הקורסים.

377 שיעורים228 אתגרים702 שאלות חידון

DSA ב־Lua, שלב אחר שלב

38 קורסים377 שיעורים228 אתגרים702 שאלות חידון

כל שלב הוא אוסף של קורסים קיימים ב־Coddy, וכל כפתור התחלה פותח אותם ב־Lua. שלושת הקורסים שעדיין לא נלמדים ב־Lua מופיעים אחרי השלבים.

  1. 1
    להתחיל את השלב הזהלהתחילמחסנית, תור, עץ בינארי, טבלת גיבוב ורשימה מקושרת, כל אחד נבנה מאפס ב־Lua ואז משמש לפתרון בעיות. טבלה ב־Lua היא כבר טבלת גיבוב, ולכן השלב הזה מראה מה היא עושה בשבילכם, ואיך לעצב אותה לארבעת האחרים.להתחיל
  2. 2
    להתחיל את השלב הזהלהתחילרשימה מקושרת דו־כיוונית, ערימות ותורי עדיפויות, עצי trie, גרפים ועץ AVL המאזן את עצמו. ב־Lua צומת של trie הוא פשוט טבלה שהמפתח שלה הוא התו הבא, וגרף הוא טבלה של רשימות שכנים, כך שכל מבנה מסובך רק כמו הרעיון שלו.להתחיל
  3. 3
    להתחיל את השלב הזהלהתחילמיון בועות, בחירה, הכנסה, מיזוג, מהיר, ערימה, מנייה ובסיס, נכתבים ב־Lua ונצפים בוויזואלייזר. table.sort אינו יציב, כפי שמדריך העיון של Lua מציין; אחרי השלב הזה תדעו למה מיון מוותר על יציבות, ואיך אינדקס לשבירת שוויון מחזיר אותה.להתחיל
  4. 4
    להתחיל את השלב הזהלהתחילאתגרי רקורסיה ב־Lua, שיש בה קריאות זנב אמיתיות: בקריאה בעמדת זנב, return f(x), הפונקציה הנקראת משתמשת מחדש ברשומת המחסנית של הקוראת, כך שלולאה רקורסיבית בזנב אף פעם לא מגדילה את המחסנית. רקורסיה עמוקה רגילה עדיין נגמרת בגלישת מחסנית. תכנות דינמי ומניפולציית ביטים מופיעים אחרי השלבים, כי הם נלמדים ב־Python וב־C++.להתחילדף ייעודי
  5. 5
  6. 6
מה מקבלים
כל מה שתשתמשו בו כדי ללמוד לתכנת

ללמוד תוך כדי עשייה

כתבו קוד אמיתי, שלפו נתונים ממסדי נתונים, בנו אתרים ושלטו בפרומפטים ל-AI. השיעורים האינטראקטיביים שלנו מכסים כל מיומנות שמפתחים מודרניים צריכים.

playground.js
עורך קוד
1const greeting = "Hello, Coddy!"
2function sayHi(name) {
3    return greeting + " " + name
4}
5
bottombar Collapse icon
בדיקה #1test Case Success icon
בדיקה #2test Case Success icon
בדיקה #3test Case Failure icon
קלט
"Alex"
פלט
"Hello, Coddy! Alex"

לבנות רצף

שמרו על עקביות וראו איך ההתקדמות שלכם גדלה! עקבו אחרי הרגל התכנות היומי, הגנו על הרצף עם ימי הקפאה וקבלו פרסים על כל יום שאתם מגיעים.

12 ימי רצף

חזרו מחר כדי לשמור על הרצף!

fire Filled icon
left icon

January 2026

right icon

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

product Double Or Nothing icon

הכל או כלום

יום 5 מתוך 7

fire Freeze icon

הקפאת רצף

2 left

לתכנת מכל מקום

קחו את מסע התכנות שלכם לכל מקום! בלי התקנות, בלי הורדות - פשוט פותחים ומתחילים לתכנת. זמין ב-iOS, ב-Android ובאתר עם דירוג של 4.9 כוכבים.

Python
7רצף
250ניקוד
5אנרגיה
משתנים
journey Hex Done Base iconjourney Hex Done Shadow iconjourney Hex Done Top iconjourney Lesson Done icon
journey Path Right Done icon
journey Hex Done Base iconjourney Hex Done Shadow iconjourney Hex Done Top iconjourney Lesson Done icon
journey Path Left Done icon
journey Hex Active Base iconjourney Hex Active Shadow iconjourney Hex Active Top iconjourney Lesson Theory Challenge icon
להמשיך
journey Path Right icon
journey Hex Locked Base iconjourney Hex Locked Shadow iconjourney Hex Locked Top iconjourney Lesson Theory Challenge icon
journey Path Left icon
journey Hex Locked Base iconjourney Hex Locked Shadow iconjourney Hex Locked Top iconjourney Lesson All icon
מסלול
יעדים
טבלת הדירוג
פרופיל
4.9
כוכבכוכבכוכבכוכבכוכב
דירוג

אתם לא לבד

התחרו בטבלאות דירוג עולמיות, הזמינו חברים כדי לקבל פרסים וחגגו את ההצלחות אחד של השני. תכנות עם חברים זה יותר כיף!

ליגת המתמודדים
ליגת המתמודדים7 המובילים עולים
leaderboard First icon1
avatar 1 icon
fire Filled icon
Alex7+ Days
2840
leaderboard Second icon2
avatar 2 icon
fire Filled icon
Jordan7+ Days
2650
leaderboard Third icon3
avatar 3 icon
fire Filled icon
Sam7+ Days
2420
4
avatar 4 icon
Casey
2180
5
avatar placeholder icon
fire Filled icon
Morgan7+ Days
1950
leaderboard Arrow Up iconאזור העלייהleaderboard Arrow Up icon

כל הדרכים ללמוד

לקרוא, להאזין, לבחון את עצמכם, לשאול את ה-AI או לחפש כל דבר שכבר למדתם. כל שיעור פוגש אתכם בדיוק איפה שאתם.

מבוא למשתנים
אודיו

משתנה הוא מיכל עם שם ששומר ערך שאפשר להתייחס אליו בהמשך התוכנית.

ב-Python יוצרים משתנה על ידי כתיבת השם, סימן שווה, ואז הערך שרוצים לשמור.

הערך יכול להשתנות עם הזמן - השמה מחדש לאותו שם פשוט מפנה אותו לערך חדש.

1xשרה

לקבל תעודה

קבלו תעודה על כל קורס שתסיימו. הוסיפו אותן לפרופיל ה-LinkedIn ולקורות החיים כדי להציג למעסיקים את כישורי התכנות שלכם.

Coddyתעודת סיום
תעודה זו מאשרת כיישראל ישראליהשלים/ה בהצלחה את
python iconיסודות Python
מאומת
תאריךינו׳ 2026
LinkedInלהוסיף ל-LinkedIn

למה ללמוד DSA ב־Lua ב־Coddy

  • מבנה אחד, כל המבנים. טבלה ב־Lua היא חלק מערך וחלק גיבוב באחד, ושום דבר אחר לא מובנה: אין טיפוס רשימה, קבוצה, תור או ערימה. ב־Lua כל מבנה הוא טבלאות שמצביעות על טבלאות, וזו התמונה הברורה ביותר שתקבלו של מה זה באמת רשימה מקושרת או עץ.
  • ל־Roblox, למשחקים ולתוספים. Lua מריצה את Roblox (בתור Luau), סקריפטים של משחקים, הגדרות של Neovim וסקריפטים של Redis, וקוד משחקים הוא קוד של מבני נתונים: מלאי הוא טבלת גיבוב, סדר תורות הוא תור, מציאת מסלול היא חיפוש בגרף. ללמוד את המבנים ב־Lua זה ללמוד אותם בשפה שבה אתם כבר כותבים סקריפטים.
  • כמעט כל המסלול ב־Lua. כל מבנה נתונים, מיון, אלגוריתם גרפים, אתגר רקורסיה וחבילת ראיונות נלמדים ב־Lua. שלושה נלמדים במקום אחר ומופיעים אחרי השלבים עם קישור לכל אחד: תכנות דינמי וסדרת הראיונות של Python ב־Python, ומניפולציית ביטים ב־C++. כל מה שנשאר ב־Lua עשוי מטבלאות, מהמחסנית הראשונה ועד שאלת הראיון האחרונה.
  • נבדק כמו בראיון. כל שיעור מסתיים באתגר Lua שנבדק במקרי בדיקה, וכשאחד נכשל, Bugsy קורא את הקוד שלכם ומכוון אתכם לתיקון בלי לתת את התשובה. תעודה חינמית ברוב הקורסים, וכל אחת ניתנת לאימות בכתובת משלה.

שאלות נפוצות על DSA ב־Lua

האם Lua טובה למבני נתונים ואלגוריתמים?

ללמידה שלהם, טובה באופן מפתיע: כשיש רק טבלאות לבנות מהן, כל מבנה מפורש, והקוד נשאר קצר. המלכודת היא שטבלאות סולחות על טעויות בשקט: מערכים מתחילים ב־1 לפי מוסכמה, מפתח חסר מחזיר 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?

כי # מחזיר גבול של הטבלה: אינדקס n שבו t[n] אינו nil ו־t[n + 1] כן. לרצף תקין יש בדיוק גבול אחד, האורך שלו; שימו nil באמצע ויכולים להיות כמה גבולות, ו־# עשוי להחזיר כל אחד מהם. לכן לעולם אל תשמרו nil במערך שאתם מודדים עם #, ובמבנים עם פערים, כמו תור עם שני אינדקסים, עקבו אחרי הגודל בעצמכם.

האם מבני נתונים חשובים בכתיבת סקריפטים ל־Roblox?

כן, ברגע שמשחק גדל מעבר לקומץ אובייקטים. מלאי הוא טבלת גיבוב, סדר הופעה או סדר תורות הוא תור, רשימת זמני המתנה יכולה להיות תור עדיפויות, ומציאת מסלול על פני מפה היא חיפוש בגרף. Luau, השפה שבה כותבים סקריפטים ל־Roblox, נגזרת מ־Lua 5.1 ושומרת על הטבלאות שלה, על מערכים שמתחילים ב־1 ועל האופרטור #, כך שמה שאתם בונים כאן עובר ישירות.

אילו קורסים במסלול הזה לא נלמדים ב־Lua?

שלושה: תכנות דינמי וסדרת הראיונות של Python, שנלמדים ב־Python, ומניפולציית ביטים, שנלמדת ב־C++. הם מופיעים אחרי השלבים, כל אחד עם קישור שפותח אותו בשפה שלו. memo ב־Lua הוא טבלה; אופרטורים ביטיים הגיעו רק ב־Lua 5.3, שיש בה את &, |, << ו־>> של C++ והיא כותבת גם XOR וגם NOT בתור ~.

האם צריך לדעת Lua לפני שמתחילים את המסלול?

טבלאות, פונקציות, לולאות ומשתנים מקומיים, לכל הפחות; metatables עוזרות אם אתם רוצים מבנים שמתנהגים כמו אובייקטים. אם הם חדשים לכם, קורס Lua של Coddy מכסה אותם קודם, בחינם, והמסלול הזה ממשיך מהמקום שבו הוא מסתיים.

מסלולי למידה נוספים

אותם קורסים, מסודרים לתפקיד אחר. ההתקדמות עוברת איתכם: קורס שסיימתם במסלול אחד נספר בכל מסלול שכולל אותו.

כל מסלולי הלמידה
איור של שפות התכנות ב-Coddy

להתחיל את מסלול מבני נתונים ואלגוריתמים בחינם

להתחיל ללמוד