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

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

ה־STL היא המסלול הזה בצורת ספרייה: std::vector, std::unordered_map, std::priority_queue ו־std::set הם מערך דינמי, טבלת גיבוב, ערימה ועץ מאוזן. בנו כל אחד מהם ב־C++ עם מחלקות ומצביעים, ואז השתמשו ב־STL כשאתם יודעים כמה עולה כל קריאה. מניפולציית ביטים נלמדת ב־C++ עצמה. בחינם, בדפדפן, עם תעודה ברוב הקורסים.

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

DSA ב־C++, שלב אחר שלב

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

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

  1. 1
    להתחיל את השלב הזהלהתחילמחסנית, תור, עץ בינארי, טבלת גיבוב ורשימה מקושרת, כל אחד נבנה מאפס ב־C++ עם מחלקות ומצביעים ואז משמש לפתרון בעיות. בסופו, std::stack, std::queue ו־std::unordered_map הם מבנים שכתבתם בעצמכם.להתחיל
  2. 2
    להתחיל את השלב הזהלהתחילרשימה מקושרת דו־כיוונית, ערימות ותורי עדיפויות, עצי trie, גרפים ועץ AVL המאזן את עצמו. std::priority_queue היא ערימת מקסימום כברירת מחדל, בעוד שהערימות של Python ושל Java הן ערימות מינימום; אחרי שכתבתם אחת, להפוך אותה עם std::greater זה מובן מאליו.להתחיל
  3. 3
    להתחיל את השלב הזהלהתחילמיון בועות, בחירה, הכנסה, מיזוג, מהיר, ערימה, מנייה ובסיס, נכתבים ב־C++ ונצפים בוויזואלייזר. std::sort הוא בדרך כלל introsort, מיון מהיר שנסוג למיון ערימה, ו־std::stable_sort הוא מיון מיזוג; השלב הזה מסביר למה הבחירות האלה הגיוניות.להתחיל
  4. 4
    להתחיל את השלב הזהלהתחילאתגרי רקורסיה ומניפולציית ביטים, שניהם ב־C++, השפה שקורס מניפולציית הביטים נכתב עבורה. תכנות דינמי נלמד ב־Python ומופיע אחרי השלבים; טבלאות ה־memo שלו מתורגמות ישירות ל־std::vector.להתחיל
  5. 5
  6. 6
    להתחיל את השלב הזהלהתחילעשר חבילות אתגרי ראיונות ושני מאגרי בעיות תכנות, כל השתים־עשרה ב־C++ ונבדקים במקרי בדיקה: בעיות לא מוכרות, שנפתרות בלי מדריך. סדרת הראיונות של Python, ב־Python בלבד, מופיעה אחרי השלבים.להתחיל
מה מקבלים
כל מה שתשתמשו בו כדי ללמוד לתכנת

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

כתבו קוד אמיתי, שלפו נתונים ממסדי נתונים, בנו אתרים ושלטו בפרומפטים ל-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 ב־C++ ב־Coddy

  • השפה של תכנות תחרותי. רוב המתכנתים התחרותיים כותבים ב־C++, בזכות המהירות וה־STL, והיא מתקבלת כמעט בכל ראיון תכנות. ללמוד DSA ב־C++ זה ללמוד את הניב שבו כותבים בתחרויות.
  • מצביעים שרואים. רשימה מקושרת ב־C++ היא צמתים ומצביעים, רוטציה בעץ AVL היא כמה הזזות של מצביעים, ו־destructor משחרר את מה שהקציתם. אתם לומדים את המבנים כפי שהמכונה שומרת אותם, ואז נותנים ל־STL לעשות זאת בשבילכם.
  • מניפולציית ביטים בשפה שלה. קורס מניפולציית הביטים של המסלול נלמד ב־C++, כך שכאן הוא לא עיקוף: מסכות, הזזות וטריקים של ביטים מגיעים בשפה שאתם כבר כותבים בה. רק תכנות דינמי וסדרת הראיונות של Python לא: הם נלמדים ב־Python ומופיעים אחרי השלבים.
  • נבדק כמו בראיון. כל שיעור מסתיים באתגר C++ שנבדק במקרי בדיקה, וכשאחד נכשל, Bugsy קורא את הקוד שלכם ומכוון אתכם לתיקון בלי לתת את התשובה. תעודה חינמית ברוב הקורסים, וכל אחת ניתנת לאימות בכתובת משלה.

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

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

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

איזה container של ה־STL מתאים לאיזה מבנה נתונים?

std::vector הוא מערך דינמי, std::stack ו־std::queue הם מתאמים מעל std::deque כברירת מחדל, std::list היא רשימה מקושרת דו־כיוונית, std::unordered_map ו־std::unordered_set הם טבלאות גיבוב, std::priority_queue היא ערימה בינארית (ערימת מקסימום כברירת מחדל, בשונה מזו של Python ושל Java), ו־std::map ו־std::set הם עצי חיפוש בינאריים מאוזנים, בפועל עצים אדומים־שחורים. אין container לעץ trie או לגרף; אותם כותבים בעצמכם.

כדאי לממש מבני נתונים בעצמי או פשוט להשתמש ב־STL?

גם וגם, בסדר הזה. ממשו כל מבנה פעם אחת, כדי שתדעו למה חיפוש ב־std::unordered_map לוקח זמן קבוע בממוצע ולמה std::map שומר את המפתחות שלו ממוינים, ואחר כך השתמשו ב־STL בכל מקום. בתחרות או בראיון אף אחד לא מצפה לעץ אדום־שחור שנכתב ביד; מצפים שתבחרו את ה־container הנכון ותדעו מה הוא עולה.

C++ או Python ל־DSA?

C++ אם אתם מתכננים תכנות תחרותי או ראיון שבו מצפים לה; Python אם אתם רוצים את הדרך הקצרה ביותר מרעיון לקוד שעובד. האלגוריתמים זהים, ולכן הרבה אנשים לומדים באחת ומתחרים בשנייה. כל קורס מבני נתונים במסלול הזה נלמד בשתיהן.

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

שניים: תכנות דינמי וסדרת הראיונות של Python, שניהם נלמדים ב־Python. הם מופיעים אחרי השלבים, עם קישור שפותח אותם ב־Python. הרעיונות עוברים בלי שינוי: ב־C++, טבלת memo היא std::vector או std::unordered_map.

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

מחלקות, מצביעים, הפניות ו־std::vector, לכל הפחות. אם הם חדשים לכם, קורס C++ של Coddy מכסה אותם קודם, בחינם, והמסלול הזה ממשיך מהמקום שבו הוא מסתיים.

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

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

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

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

להתחיל ללמוד