Date: 21 May 2003 19:57:49 +0300 From: Mikko Rauhala 2. a+b) Yhteensä max. 5 pistettä toimivasta ratkaisusta. Ks. esimerkiksi: a) https://www.cs.helsinki.fi/i/wikla/Tira/Sisalto/5/Keko.html#4 b) https://www.cs.helsinki.fi/i/wikla/Tira/Sisalto/5/Keko.html#5 Pienestä yksittäisestä huolimattomuusvirheen näköisestä asiasta ei ole välttämättä sakotettu, mutta jos niitä on kasautunut tai on konsistentisti tehty sama virhe koko ajan, niin tästä sakotetaan vakavuuden mukaan. Esim. konsistentista yhden position indeksointivirheestä suhteessa lapseen/vanhempaan lähtee piste. Sekä 0:sta että 1:stä alkavia indeksointeja on saanut käyttää toki yhtä lailla, kunhan on tehnyt omasta lähtökohdastaan toimivan toteutuksen. Yleisiä vakavampia virheitä on esimerkiksi silmukan unohtaminen valuttamisesta. Jos muuten näyttää olevan hajulla, pisteen tai jopa pari on voinut kerätä silloinkin. c) Max. 3 pistettä pyydetystä O(n)-algoritmista. Ks. esimerkiksi (joskin vertailuoperaatiot on korvattava compareTo:lla): c) https://www.cs.helsinki.fi/i/wikla/Tira/Sisalto/6/Jarjestys.html#5 Tässä tehtävässä on saanut käyttää 0-alkuista indeksointia vaikka edellisessä käyttikin 1-alkuista, koska se tuntui olevan kovin suosittua (mielivaltainen taulukkohan voi sisältää toki dataa indeksissä nollakin). Ym. indeksoinnista toki tässä pitää pitää erityistä huolta. Muuten virheistä on rokotettu samaan tapaan kuin yllä. O(n log n) ja lisätilaa vaativasta algoritmista on saanut 1 pisteen (käytännössä siis esim. insert-silmukka).