Iskanje v nestrukturiranih podatkih zuporabo B-dreves nizov

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