Naloga predstavlja novo strukturo B-dreves nizov, namenjeno iskanju v nestrukturiranih podatkih. V nalogi smo strukturo primerjali s strukturama priponskih dreves in slovarja nizov. Podrobneje smo se posvetili izkoriščenosti pomnilniške hirearhije. Izkazalo se je, da je med vsemi strukturami struktura B-dreves nizov najhitrejša pri iskanju in najbolje izkorišča pomnilniško hirearhijo.
Rezultat diplomske naloge sta dve implementaciji B-drevesa nizov, ki vsebujeta funkcijo iskanja v nestrukturiranih podatkih.
Test iskanja:
V arhivu imamo dve implementaciji B-drevesa nizov (StringBTree_WithLogicIndexes.c, StringBTree_WithStringsInside.c), ter testne podatke potrebne za zagon testnih iskanj.
Potrebni koraki pri zagonu testnega iskanja:
- Prevedemo eno izmed implementacij B-drevsa, z prevajalnikom gcc (priporočamo uporabo optimizacije -o3)
- Program poženemo z potrebnimi vhodnimi parametri
- pot do datoteke, ki vsebuje podatke, v katerih želimo iskati (primer v testnih podatkih, string.txt)
- velikost parametra B (uporabnik se lahko sam odloči, katera vrednost je v določenem primeru optimalna. Vrednost mora biti seveda pozitivna)
- pot do datoteke, ki vsebuje iskane nize (primer v testnih podatkih, search5000.txt)
Primer klica testnega iskanja: ./stringBTree string.txt 50 search5000.txt