INF1020 ukeoppgaver uke 12-13 (14/11-25/11) =========================================== Filen SortProg.java tester ut 8 ulike sorteringsalgoritmer. Kopier den til ditt eget omr?de og kompiler den (forutsetter pakken easyIO som b?de ligger p? nettet p? Ifi og som kan lastes ned fra INF1000s hjemmeomr?de). a) Studer koden og se hvordan den tar statistikk, initierer arrayene som skal sorteres og hvordan sorterings-metodene i de ulike klassene blir kalt. b) Kj?r den for ulike verdier av n (>java SortProg 'n' ) med n= 10, 50,100,500,1000 og 10000. c) Implementer Boblesortering og studer hvor lang tid den tar sammenlignet med de andre. Merk at det p? foilene var en liten feil i toppen av metoden bobleSort(..). Det ska v?re max= a.length-1; d) Implementer Shell-sortering og test ut den ut for ulike n. e) Shellsortering er gjenntatte Innstikksorteringer langs stadige lenger seksvenser i arrayen (ved ? hoppe med stadig kortere hopp), 1) Bruk denne ideen til ? lage en Shell-aktig sortering som baserer seg p? Boble-sortering av stadig lenger slike Boble-sorterte 'hopp sekvenser' i arrayen. 2) Lag til slutt en slik Shell sortering basert p? Tree-sort sortering av slike hopp-sekvenser. Merk at Tree sortering best?r av to l?kker, den f?rste som bygger opp et rotrettet tre i arrayen med de st?rre elementene til 'venstre', og den andre l?kka som ferdigsorterer arrayen ved ? legge de st?rste elementene til 'h?yre'. Vurder om du skal inkludere begge, eller bare en av disse l?kkene inne i den 'ytre' Shell-l?kka. Forklar resultatene fra tidm?lingene for b?de ShellBoble og ShellTree. f) Skriv om Innstikksortering til ? sortere tekster (String []) g) Anta at du har to String arrayer String [] navn, [] adresse; som er initiert med n samh?rende par av navn og adresser. Skriv om innstikksortering slik at du samtidig som du sorterer navnene stigende i arrayen p? navn, foretar de samme ombyttingene i adressearrayen, slik at navn[i] og adresse[i] tilh?rer samme person etter sorteringa.