Kapitola 2.1. | |||||
Vyhľadávanie v neusporiadanom zozname | |||||
Záznamy sú zväčša pre jednoduchosť pridávané na začiatok alebo na koniec zoznamu. Pri takomto spôsobe pridávania nových záznamov je zrejmé, že záznamy v zozname nie sú usporiadané. Algoritmy, ktoré sú používané na vyhľadávanie v takomto poli sú podobné ako algoritmy používané pre vyhľadávanie v neusporiadanom poli. Pri opise nasledujúcich algoritmov budeme uvažovať s alternatívou, kedy je posledný záznam zoznamu ukončený nulovým ukazovateľom a teda zoznam nie je zreťazený dokola.
| |||||
Triedy použité na analýzu a testovanie vybraných algoritmov | |||||
Ako môžeme vidieť, členskými premennými určenými na štatistické hodnotenie a porovnávanie algoritmov sú počty porovnaní a posunutí v zozname. Ďalšou porovnávanou hodnotou algoritmov bude ich čas trvania.
| |||||
//zaznam pre jednosmerne zretazeny zoznam class CZaznam_JZ { int hodnota_; //hodnota zaznamu CZaznam_JZ* dalsi_; //ukazovatel na nasledujuci zaznam public: . . . }; //jednosmerne zretazeny zoznam skladajuci sa z instancii triedy CZaznam_JZ class CZoznam_JZ { CZaznam_JZ* prvy_; //ukazovatel na prvy zaznam zoznamu //statisticke premenne na analyzu poctu roznych druhov porovnani a posunuti int p_a_porovnani_; int p_b_porovnani_; int p_c_porovnani_; int p_posunuti_; public: . . . }; | |||||
|