Giter Club home page Giter Club logo

2-3-tree's Introduction

2-3-Tree

2-3 Tree implementation in Kotlin without use of recursion as a part of Algorithms and Datastrucures 2 @ Faculty of Management Science and Informatics, University in Žilina, Slovakia

With a sample program that was used as a demonstration which had to do following (in slovak) :

Pre pripravovaný projekt elektronickej zdravotnej karty malého štátu navrhnite a implementujte demonštračný systém. Tento systém bude umožňovať použitie základných administratívnych úkonov, ktoré budú neskôr poskytnuté vo finálnej verzii informačného systému zdravotnej dokumentácie obyvateľstva. Celá databáza bude centralizovaná (lokálne počítače tam budú realizovať svoje požiadavky) a bude sa nachádzať v operačnej pamäti, aby sa zabezpečila maximálna rýchlosť spracovania požiadaviek. V demonštračnej verzii sa budú evidovať pacienti, ich hospitalizácie, lieky a ich vyšetrenia. V demonštračnej verzii nie je potrebné zabezpečiť vzdialený prístup k centrálnej databáze, ale je potrebné umožniť výpis všetkých evidovaných údajov, tak aby bolo možné skontrolovať funkčnosť programu. Pre každého pacienta evidujte nasledovné údaje:  krstné meno  priezvisko  rodné číslo (reťazec)  dátum narodenia  kód zdravotnej poisťovne  záznamy o všetkých jeho hospitalizáciách Pre každú hospitalizáciu pacienta evidujte:  dátum začiatku hospitalizácie  dátum konca hospitalizácie  diagnózu s ktorou bol prijatý Pre každú nemocnicu evidujte:  názov nemocnice  záznamy o všetkých hospitalizáciách Informačný systém musí umožňovať tieto základné operácie (operácie sú zoradené podľa početnosti ich využívania):

  1. vyhľadanie záznamov pacienta (identifikovaný svojím rodným číslom) v zadanej nemocnici (identifikovaná svojím názvom). Po nájdení pacienta je potrebné zobraziť všetky evidované údaje.
  2. vyhľadanie záznamov pacienta/ov v zadanej nemocnici (identifikovaná svojím názvom) podľa mena a priezviska. Po nájdení pacienta/ov je potrebné zobraziť všetky evidované údaje.
  3. vykonanie záznamu o začiatku hospitalizácie pacienta (identifikovaný svojím rodným číslom) v nemocnici (identifikovaná svojím názvom)
  4. vykonanie záznamu o ukončení hospitalizácie pacienta (identifikovaný svojím rodným číslom) v nemocnici (identifikovaná svojím názvom)
  5. výpis hospitalizovaných pacientov v nemocnici (identifikovaná svojím názvom) v zadanom časovom období (od, do)
  6. pridanie pacienta
  7. vytvorenie podkladov pre účtovné oddelenie na tvorbu faktúr pre zdravotné poisťovne za zadaný mesiac. Pre každú poisťovňu, ktorej pacient (pacienti) bol v zadaný kalendárny mesiac hospitalizovaní aspoň jeden deň je potrebné pripraviť podklady obsahujúce:  kód zdravotnej poisťovne  počet dní hospitalizácii (za všetkých pacientov – napr. 98 dní)  výpis hospitalizovaných pacientov v jednotlivé dni mesiaca spolu s diagnózami
  8. výpis aktuálne hospitalizovaných pacientov v nemocnici (identifikovaná svojím názvom)
  9. výpis aktuálne hospitalizovaných pacientov v nemocnici (identifikovaná svojím názvom), ktorí sú poistencami zadanej zdravotnej poisťovne (identifikovaná svojím kódom)
  10. výpis aktuálne hospitalizovaných pacientov v nemocnici (identifikovaná svojím názvom) zotriedený podľa rodných čísel, ktorý sú poistencami zadanej zdravotnej poisťovne (identifikovaná svojím kódom)
  11. pridanie nemocnice
  12. výpis nemocníc usporiadaných podľa názvov
  13. zrušenie nemocnice (celá agenda sa presunie do inej nemocnice, ktorú špecifikuje používateľ (identifikovaná svojím názvom), vrátane pacientov a historických záznamov)

Implementujte popísaný systém a demonštrujte jeho funkčnosť. Pri implementácii dbajte na časovo efektívnu realizáciu požadovaných operácií a pamäťovú náročnosť použitých údajových štruktúr a vyhnite sa použitiu rekurzie. Zabezpečte pri operácií č. 5 čo najmenšiu zložitosť s využitím stromovej štruktúry! Dátumy neevidujte ako reťazce (použite vhodný dátový typ).V dokumentácii uveďte výpočtovú zložitosť jednotlivých operácii. Nezabudnite na všeobecné požiadavky semestrálnych prác (napr. generátor na naplnenie databázy...). V semestrálnej práci vhodne využite minimálne jednu z týchto štruktúr: 2-3 strom, RB strom. Celá databáza sa musí dať uložiť do textového súboru (súborov) vo fomáte csv (Comma-separated values) , tak aby bola jednoducho importovateľná (v súbore sú iba potrebné údaje). Nie je nutné, aby boli všetky dáta v jednom súbore. Veľkosť súboru(ov) má byť čo najmenšia. Pracujte každý samostatne!

FOR THE LOVE OF GOD DO NOT OPEN THAT CODE

2-3-tree's People

Contributors

jozefchmelar avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.