Portál AbcLinuxu, 12. května 2025 02:13

Dotaz: vhodna datova struktura

12.8.2009 10:02 timi
vhodna datova struktura
Přečteno: 297×
Odpovědět | Admin

Ahoj, aku vhodnu datovu strukturu by som mal zvolit, ak chcem zapisat data typu:

8.7 = "retazec1"

8.8 ="retazec2"

Vzdy je cislo, ktore naslduje druhe cislo na ktorych pozicii lezy retazec. Nieco ako na pozicii dvojrozmerneho pola je zapisany retazec. Programovaci jazyk C#

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

12.8.2009 12:03 cronin | skóre: 49
Rozbalit Rozbalit vše Re: vhodna datova struktura
Odpovědět | | Sbalit | Link | Blokovat | Admin
Mapu mapujucu integer na mapu mapujucu integer na string? V Jave takto:

Map<Integer, Map<Integer, String>>

so C# nemozem sluzit. Toto je vseobecne riesenie; mozno sa da usit lepsie, krajsie, rychlejsie, pamatovo nenarocnejsie riesenie, ak su zname dalsie fakty o udajoch: Kolko tych mapovani bude? Kolko bude klucov na prvej a druhej urovni? Kolko rozlicnych hodnot bude mat prva a kolko druha hodnota? Budu v sekvencii hodnot "diery"? Etc.
default avatar 12.8.2009 12:04 default | skóre: 22 | Madrid
Rozbalit Rozbalit vše Re: vhodna datova struktura
Odpovědět | | Sbalit | Link | Blokovat | Admin

No, dokud nenapíšeš, co s těmi daty chceš dělat, tak ti tady s výběrem struktury nikdo neporadí. Způsobů je aspoň tisíc a každý je vhodný pro jiný účel. Toš tak… :-/

12.8.2009 12:10 timi
Rozbalit Rozbalit vše Re: vhodna datova struktura

budem prechadzat hexa string po znakoch, nacitam poziciu x kde bude ulozena premena y, ktoru nasledne skonvertujem na int. Hodnote y bude odpovedat retazec, ktory nasledne ulozim do databazy. Priklad:

mam hex string: 123F

nacitam poziciu x = 0 na ktorej je ulozena hodnota y = 1. pozriem sa do statickej struktury, kde hodnota 1 bude odpovedat retazcu1.

default avatar 12.8.2009 13:16 default | skóre: 22 | Madrid
Rozbalit Rozbalit vše Re: vhodna datova struktura

OKi, takže ve výsledku se každý znak řetězce dostane do databáze?

Příklad:

řetězec "123F"

INSERT INTO db_test (val) VALUES ('1')
/
INSERT INTO db_test (val) VALUES ('2')
/
INSERT INTO db_test (val) VALUES ('3')
/
INSERT INTO db_test (val) VALUES ('15')
/
COMMIT
/

Pochopil jsem to správně?

12.8.2009 14:35 timi
Rozbalit Rozbalit vše Re: vhodna datova struktura

nie znak retazca ale to co bude ulozene v nom, uz som to vyriesil takto:

    private static readonly string[][] data = new string[][]
    {
            // Type of CPU
            new string[2] { "PIC", "ARM" },

            // Type of Mem
            new string[5] { "Unknown", "Tyco", "FLASH" },

            ...
    };

 

cize pride mi redazec,  z pozicie x = 0, vytiahnem y = 1, co odpoveda retazcu data[x][y] == "ARM", to databazy teda ulozim "ARM"
 

default avatar 12.8.2009 18:24 default | skóre: 22 | Madrid
Rozbalit Rozbalit vše Re: vhodna datova struktura

Ahá! Už je mi to jasné!

Jen drobná otázka: jak se bude pole inicializovat? Podle příkladu to vypadá na něco dynamického a né zrovna malého. Možná se to pole i inicializuje z databáze. V tom případě bych celou tuto logiku přesunul do databáze. :-)

12.8.2009 22:26 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: vhodna datova struktura
Mně to naopak z příkladu vypadá jako cosi, u čehož restart aplikace při změně nepředstavuje problém a kde těch hodnot budou řádově stovky, maximálně tisíce. V takovém případě je pole jedno z nejlepších řešení. Přesouvání logiky do databáze je výsadou databázistů, které my, aplikační programátoři, v takovém případě s chutí ignorujeme :-)
Ještě na tom nejsem tak špatně, abych četl Viewegha.
default avatar 13.8.2009 09:11 default | skóre: 22 | Madrid
Rozbalit Rozbalit vše Re: vhodna datova struktura
Přesouvání logiky do databáze je výsadou databázistů, které my, aplikační programátoři, v takovém případě s chutí ignorujeme :-)

:-D Já za tím vidím hloupou referenční integritu a číselníky. Žádná aplikační logika to není. :-)

Ale na druhou stranu je pravda, že doteď jsem přesně nepochopil, co autor vlastně zamýšlí, takže je to bezpředmětné. :-/

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.