JavaScriptin tietorakenteiden toteutukset

No Thumbnail Available
Files
Korpela_Joonatan_2024.pdf (251.41 KB)
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu | Bachelor's thesis
Electronic archive copy is available locally at the Harald Herlin Learning Centre. The staff of Aalto University has access to the electronic bachelor's theses by logging into Aaltodoc with their personal Aalto user ID. Read more about the availability of the bachelor's theses.
Date
2024-05-07
Department
Major/Subject
Tietotekniikka
Mcode
SCI3027
Degree programme
Teknistieteellinen kandidaattiohjelma
Language
fi
Pages
18
Series
Abstract
Tietorakenteiden valinnalla voi olla merkittävä vaikutus erilaisten algoritmien ja ohjelmien tehokkuuteen. Tämän vuoksi on tärkeää, että ohjelmistokehittäjät tuntevat JavaScriptin tietorakenteet ja ymmärtävät niiden toteutuksiin liittyvät yksityiskohdat. Tässä tutkimuksessa tutustutaan JavaScriptin tietorakenteiden toteutuksiin ja vertaillaan niitä eri JavaScriptin ajomoottoreiden välillä. Työssä tarkastellaan seuraavien tietorakenteiden toteutuksia: Array, TypedArray, Map ja Set. Kirjallisuuskatsauksen tuloksena JavaScriptin tietorakenteista ei löytynyt aiempaa tutkimusta, joka olisi käsitellyt JavaScriptin tietorakenteiden toteutuksia. Tämän vuoksi työn tulokset saatiin tutkimalla ja analysoimalla ajomoottoreiden avointa lähdekoodia sekä lukemalla ECMAScript-standardia. Työn tulosten perusteella ajomoottoreiden välillä ei näytä olevan merkittäviä eroja tietorakenteiden toteutusten näkökulmasta. Jokaisessa työssä tarkastellussa ajomoottorissa kaikkien tutkittujen tietorakenteiden operaatioiden tasoitettu aikavaatimus oli O(1). Jokaisessa työssä tarkastellussa ajomoottorissa tietorakenteiden taustalla oli jonkinlainen hajautustaulu, mikä mahdollistaa tietorakenteiden tasoitetusti vakioaikaiset perusoperaatiot. Hajautustauluilla on kuitenkin monia rajoitteita, jotka voivat näkyä tietyissä sovelluksissa.
Description
Supervisor
Savioja, Lauri
Thesis advisor
Korhonen, Ari
Keywords
JavaScript, ECMAScript, ajomoottori, tietorakenne, hajautustaulu
Other note
Citation