ഫ്രണ്ട്‌എൻഡ് ലീനിയർ ഡാറ്റാ സ്ട്രക്ചറുകൾ

ലീനിയർ ഡാറ്റാ സ്ട്രക്ചറുകൾ എലമെന്റുകളെ ഒരു ക്രമത്തിൽ ക്രമീകരിക്കുന്നു. ഓരോ എലമെന്റിനും ഒരു മുൻഗാമിയും (predecessor) ഒരു പിൻഗാമിയും (successor) ഉണ്ടായിരിക്കും.

Arrays

JavaScript-ലെ പ്രധാനപ്പെട്ട ടൂളാണ് അറേകൾ (Arrays). ഇവ കണ്ടിഗ്വസ് മെമ്മറി (contiguous memory) ഉപയോഗിക്കുന്നു. ഇത് ഇൻഡക്സ് ഉപയോഗിച്ച് ഏത് എലമെന്റും ഉടനടി ആക്സസ് ചെയ്യാൻ നിങ്ങളെ സഹായിക്കുന്നു.

Note: ഒരു അറേ വളരെ വലുതാകുമ്പോൾ, JavaScript കൂടുതൽ വലിയൊരു മെമ്മറി ബ്ലോക്ക് അനുവദിക്കുകയും എല്ലാം അതിലേക്ക് കോപ്പി ചെയ്യുകയും വേണം. ഇത് പെർഫോമൻസിനെ ബാധിക്കും.

Stacks

ഒരു സ്റ്റാക്ക് LIFO നിയമം പിന്തുടരുന്നു: Last In, First Out. അടുക്കിവെച്ചിരിക്കുന്ന പ്ലേറ്റുകളുടെ ഒരു സ്റ്റാക്ക് സങ്കൽപ്പിക്കുക. നിങ്ങൾക്ക് മുകളിൽ നിന്ന് മാത്രമേ എലമെന്റുകൾ ചേർക്കാനോ നീക്കം ചെയ്യാനോ കഴിയൂ.

Queues

ഒരു ക്യൂ FIFO നിയമം പിന്തുടരുന്നു: First In, First Out. ഒരു കടയിലെ ക്യൂ സങ്കൽപ്പിക്കുക.

Warning: വലിയ ഡാറ്റാസെറ്റുകളിൽ അarray-യിൽ shift ഉപയോഗിക്കുന്നത് സാവധാനമാണ്. വിടവ് നികത്തുന്നതിനായി ഓരോ എലമെന്റും ഇടത്തേക്ക് മാറേണ്ടതുണ്ട്. വലിയ അളവിലുള്ള ഡാറ്റയ്ക്ക് പകരം ഒരു ലിങ്ക്ഡ് ലിസ്റ്റ് (linked list) ഉപയോഗിക്കുക.

Linked Lists

ഒരു ലിങ്ക്ഡ് ലിസ്റ്റ് നോഡുകൾ (nodes) കൊണ്ട് നിർമ്മിതമാണ്. ഓരോ നോഡിലും ഡാറ്റയും അടുത്ത നോഡിലേക്കുള്ള ഒരു പോയിന്ററും (pointer) ഉണ്ടായിരിക്കും.

Comparison Summary:

Pro Tips for JavaScript:

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