Tietorakenteet ja algoritmit

Vaihtoehtoiset dokumentaatiot (kiitokset TJ doku kurssille 2001):

Algoritmikirjasto Tietorakenteet ja algoritmit - kurssin käyttöön

Algoritmikirjaston ANSI C-versio : 1999 Matti Meriläinen - Tietojenkäsittelytieteen laitos, Joensuun Yliopisto

Algoritmikirjaston Pascal -käännös ja dokumentointi : 2000 Tapani Katainen - Tietojenkäsittelytieteen laitos, Joensuun Yliopisto

Sisällysluettelo


Johdanto

Yhtenä ”Tietorakenteet ja algoritmit” – kurssin ongelmana on ollut se, että harjoitustehtäviä ei ole voitu tarkastaa muulla tavoin kuin vaivalloisella ja aikaa vievällä pöytätestauksella. Kurssin kielenä oli esimerkiksi vuonna 1998 joko Pascal– tai C–pohjainen pseudokieli. Vaikka käytettävä kieli onkin samantekevää – olkoon se C, Pascal tai jokin muu, motivaatiota tehtyjen ohjelmien oikeellisuuden tarkastamiseen nostaa varmasti se, että oman lähdekielisen koodinsa voi kääntää suorituskelpoiseksi ohjelmaksi ja tarkastella esimerkiksi pinon sisältöä ajon eri vaiheissa.

TRA–kirjaston tarkoitus on tarjota kurssilla käsiteltävät tietorakenteet opiskelijoiden käyttöön sekä Pascalilla että C–kielellä toteutettuna. Tietorakenteiden hallintaan tarkoitettujen aliohjelmien nimeäminen ja parametrien järjestys ovat (kielten rajoituksien ja sääntöjen puitteissa) samat kuin kurssilla esiteltävien ja käytettyjen aliohjelmien.


Kirjaston käyttöönotto

Ansi-C:ssä (gcc) kirjaston esittelyt otetaan mukaan lisäämällä ohjelman include-riveihin:
#include "TRA.h"
Ohjelmaa käännettäessä käytetään gcc-kääntäjän sijaan komentoa trac. Esimerkiksi käännettäessä ohjelmaa MyProg.c kääntäminen tapahtuisi:
%trac MyProg.c
tai
%trac -o ohjelma MyProg.c

GNU-Pascal (gpc) kirjaston esittelyt otetaan mukaan lisäämällä ohjelman alkuun:
import tra;
Esimerkiksi käännettäessä ohjelmaa MyProg.p kääntäminen tapahtuisi:
Ohjelma käännetään komennolla
trap oma_ohjelma.p
tai
trap -o omasuorittuva oma_ohjelma.p


Tietorakenteiden kuvaukset


Funktioiden esittelyt:


Esimerkkejä


Algoritmikirjaston ANSI C - versio : © 1999 Matti Meriläinen - Tietojenkäsittelytieteen laitos, Joensuun Yliopisto

Algoritmikirjaston Pascal-käännös ja dokumentointi : © 1999 Tapani Katainen - Tietojenkäsittelytieteen laitos, Joensuun Yliopisto