מבני נתונים ליניאריים ב-Frontend

מבני נתונים ליניאריים מסדרים אלמנטים ברצף. לכל אלמנט יש קודם אחד וממשי אחד.

Arrays מערכים הם הכלי העיקרי ב-JavaScript. הם משתמשים בזיכרון רציף (contiguous memory). זה מאפשר לך לגשת לכל אלמנט באמצעות האינדקס שלו באופן מיידי.

הערה: כאשר מערך גדל מדי, JavaScript חייבת להקצות בלוק זיכרון גדול יותר ולהעתיק אליו הכל. זה גובה מחיר בביצועים.

Stacks מחסנית (Stack) פועלת לפי כלל ה-LIFO: Last In, First Out (האחרון שנכנס הוא הראשון שיוצא). חשבו על ערימה של צלחות. אתם מוסיפים או מסירים רק מהחלק העליון.

Queues תור (Queue) פועל לפי כלל ה-FIFO: First In, First Out (הראשון שנכנס הוא הראשון שיוצא). חשבו על תור בחנות.

אזהרה: שימוש ב-shift על מערך הוא איטי עבור מערכי נתונים גדולים. כל אלמנט חייב לזוז שמאלה כדי למלא את הרווח. עבור נתונים בנפח גבוה, השתמשו ברשימה מקושרת (linked list) במקום זאת.

Linked Lists רשימה מקושרת מורכבת מצמתים (nodes). כל צומת מחזיק נתונים ומצביע (pointer) לצומת הבא.

סיכום השוואתי:

טיפים מקצועיים ל-JavaScript:

מקור: https://dev.to/markyu/frontend-linear-data-structures-deep-dive-arrays-stacks-queues-and-linked-lists-mp2