Tietorakennekirjastojen toteutukset - Scala vs. Python
No Thumbnail Available
Files
Prami_Ville_2024.pdf (250.06 KB) (opens in new window)
Aalto login required (access for Aalto Staff only).
URL
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.
Unless otherwise stated, all rights belong to the author. You may download, display and print this publication for Your own personal use. Commercial use is prohibited.
Authors
Date
2024-05-06
Department
Major/Subject
Tietotekniikka
Mcode
SCI3027
Degree programme
Teknistieteellinen kandidaattiohjelma
Language
fi
Pages
17
Series
Abstract
Tämä kandidaatintyö käsittelee Scala- ja Python-ohjelmointikielten tietorakenteiden toteutuksia. Työssä tutkitaan valittujen tietorakenteiden toteutuksia, mahdollisia rajoitteita ja eroavaisuuksia suorituskyvyssä. Tavoitteena on ymmärtää, miten Scalan ja Pythonin tietorakenteiden toteutukset eroavat toisistaan. Vakiokirjastoista rajataan tutkimuksen kohteeksi Scalalle List, TreeMap ja ArrayBuffer tietorakenteet. Pythonille rajauksen kohteena ovat List, Dictionary ja Tuple. Tutkimusmenetelmänä käytetään kirjallisuuskatsausta viitaten tiedekirjallisuuteen, ohjelmointikielten dokumentaatioon ja ohjelmointikielten avoimeen lähdekoodiin. Tietorakenteiden toteutuksiksi saatiin Scalan Listalle muuttumaton yksisuuntainen linkitetty lista. Scalan TreeMap on toteutettu punamustana puuna. TreeMapille on olemassa sekä muuttuvatilainen että muuttumaton toteutus. Scalan ArrayBuffer on muuttuvatilainen dynaaminen taulukko. Pythonin List on myös toteutettu muuttuvatilaisena dynaamisena taulukkona. Pythonin Dictionaryn toteutus on muuttuvatilainen hajautustaulu ja Tuplen muuttumaton staattinen taulukko. Tuloksista voidaan havaita, että ohjelmointikielen ja tietorakenteen valinnalla on merkitystä. Esimerkiksi Pythonin Listan loppuun lisääminen on vakioaikainen operaatio kun taas Scalan Listan loppuun lisääminen on lineaarinen operaatio. On siis tärkeää tietää miten tietorakenteet ovat toteutettu eri ohjelmointikielissä.Description
Supervisor
Savioja, LauriThesis advisor
Korhonen, AriKeywords
Scala, Python, tietorakenne, taulukko, hajautustaulu, punamusta puu