blob: 0800780687c7a0bc7d2ebcc27ce2bf5fd6d68b40 (
plain) (
tree)
|
|
Inicializacija:
Vsem urnim komponentam časa, torej h_i, odštejemo 7 in čase spremenimo v skalarje - sekunde: č_i := h_i*3600+m_i*60.
Nato seznam č uredimo po velikosti od najmanjšega do največjega.
Izdelamo seznam testirnih točk, ki je vedno urejen po velikosti, recimo binarno drevo.
Vrednost vsake točke je čas konca zadnjega testiranja. Najprej imamo eno točko s časom 0 - čas je v formatu sekund od 7:00, kot urejeni seznam č.
Zanka po urejenem seznamu časov ljudi z lokalno spremenljivko č_i:
Zanka po časih zadnjega testiranja testirnih točk z lokalno sprem. t_j:
Če je t_j+T manjše ali enako od č_i, kjer je T čas enega testiranja v sekundah:
Spremenimo t_j na t_j+T in poskrbimo, da je podatkovna struktura t spet urejena ter nato nadaljujemo z naslednjim časom testiranca.
Konec zanke časov testirancev, ampak nismo nadaljevali z naslednjim testirancem, torej ustrezne testirnice nismo našli:
Dodamo novo testirnico v t, ki nosi vrednost T.
Konec zanke časov testirancev:
Število testirnic je enako številu elementov v podatkovni strukturi t, vsak element nosi vrednost, kdaj se testirnica zapre. Vse testirnice neprestano obravnavajo testirance.
Razlaga:
Najprej smo našli testirnice za osebe, ki se jim najbolj mudi; imajo najmanjši č.
Novo testirnico izdelamo le, če ima ota oseba tak č_o, da ima vsaka obstoječa testirnica večji t_i+T kot č_o.
|