Opět Burza
http://forum.matfyz.info/viewtopic.php?f=247&t=9668
S komentářem anakondy:
"souboru Holan dovoloval maximalne tolik, jako ISINu, tedy klidne i 3000. Sam jsem to tak napsal a u ustni casti mne vysvetlil, ze na to stacil soubor jeden, ale zadne problemy s tim nemel:). Nakonec za 1"
nesouhlasím, možná mu byl student sympatický ale za tohle by mě poslal pryč dřív než bych to vůbec stačil doříct. S ukládáním do pole problém nebyl, na to ten 1 MB stačil. (ve smyslu array o 3000 prvcích)
vlastně i na začátku zadání explicitně zmínil že udělat si jeden soubor pro každý ISIN je vyloženě zakázané
Z Burzy jsem dostal 2 a nejspíš jen proto, že jsem mu v jednom bodě řekl, že předpokládám že umím soubor číst odzadu xD
Vypadl jsem ale potom na teorii, neuměl jsem setřídit soubor :-( pokud má někdo stejný problém:
https://en.wikipedia.org/wiki/External_sorting
Tu první část, kde načítáte 100 MB do paměti, tu setřídíte a následně sléváte jsem mu na místě vymyslel ale zakázal mi jí, prý by to nebylo dost rychlé.
Co chce je něco obdobného, bylo to prej jednou na přednášce ZS - na začátku je v souboru N 1-prvkových posloupností, soubor otevřu 2krát pro čtení a vždy slévám dvojice za sebou do nového souboru - mám soubor s N/2 2-prvkovými setříděnými posloupnostmi, opakuju...
Zajímavá informace ke zkoušce obecně by mohla být, že Holan ten papír co odevzdáte vůbec nečte. Stačí tam kreslit jen schematický obrázky a hesla pro vás a potom ústně mu v podstatě celej algoritmus stejně přeřikáte znova, s pomocí toho papíru.
Co ho už zajímalo víc byl pseudokód pro hlavní část algoritmu - v tomhle případě vybírání nejlepšího kursu akcie - kterej dost pitval a zkoumal i krajní případy, co se stane při rovnosti atd. S tim si teda na papíře určitě vyhrajte :-)
Složitosti a Očka vůbec neřeší, pokud to je aspoň v základu dobře a nedějou se tam věci typu Nkrát otevři soubor.
Řešení je úvodní soubor setřídit (hehe) podle ISINů, pak po blocích ISINů dělit na nákup/prodej... Tělo algoritmu už neni tak složitý když si dobře soubory připravíte. Určitě to jde s méně než deseti, pokud máte koule tak možná i pěti soubory (otevřenými v jednom okamžiku).