Browse Source

tasks.json: přidány další úlohy

mj-deploy
Vašek Šraier 4 years ago
parent
commit
686deea3eb
  1. 23
      frontend/src/Graph.svelte
  2. 133
      tasks-random.txt
  3. 559
      tasks.json

23
frontend/src/Graph.svelte

@ -49,6 +49,11 @@
function eventHandler(hovering: CustomEvent<boolean>) {
if (hovering.detail) {
hoveredTask = task.id;
if (!selection.has(task)) {
selection.clear();
selection.add(task);
selection = selection;
}
eventDispatcher("preSelectTask", task);
} else {
if (hoveredTask == task.id) hoveredTask = null;
@ -235,8 +240,22 @@
height={selectionRectangle[1][1] - selectionRectangle[0][1]} />
{/if}
{#if showCenterMarker}
<line x1="10000" y1="0" x2="-10000" y2="0" stroke="gray" stroke-width="1px" stroke-dasharray="15,15" />
<line x1="0" y1="10000" x2="0" y2="-10000" stroke="gray" stroke-width="1px" stroke-dasharray="15,15" />
<line
x1="10000"
y1="0"
x2="-10000"
y2="0"
stroke="gray"
stroke-width="1px"
stroke-dasharray="15,15" />
<line
x1="0"
y1="10000"
x2="0"
y2="-10000"
stroke="gray"
stroke-width="1px"
stroke-dasharray="15,15" />
{/if}
{#each edges as edge}
<GraphEdge {edge} showLabelEdge={showHiddenEdges} />

133
tasks-random.txt

@ -1,133 +0,0 @@
26. a 29. ročník
Triviální výpočet
31-Z1-1: triviální (odčítání času)
Triviální průchod 1D pole
{"id": "26-Z1-1", "comment": "Kevin a magnety - triviální, lineární průchod pole"},
{"id": "26-Z2-1", "comment": "Had z domina - triviální, linerání průchod pole a počítání, na kolika místech platí podmínka, vyžaduje práci se dvojicemi"},
{"id": "27-Z2-1", "comment": "Závorky z cereálií - 2 průchody pole, závorky"},
Triviální průchody 2D pole
{"id": "26-Z1-2", "comment": "Piškvorky - detekce vítězství v piškvorkách, procházení 2D pole v různych směrech", "requires": []},
{"id": "26-Z4-3", "comment": "Hra Othello - link na 26-Z1-2, procházení 2D pole po různých směrech", "requires": []},
{"id": "29-Z3-1", "comment": "Želva na dvorku — spíš triviální, netriviální udělat efektivně (ale asi to není třeba pro úspěch), volně navazuje na 29-Z2-1 a 29-Z1-1, průchod po 2D souřadnicích, invalidní příkazy (směrem do překážky) ignorujeme", "requires": []},
{"id": "31-Z1-4", "comment": "2D pole (až na poslední vstup), hešování (piškvorky) - navazuje na 26-Z1-2", "requires": []},
Želvy
{"id": "29-Z1-1", "comment": "Kevinova želva — triviální, průchod po 2D souřadnicích", "requires": []},
{"id": "29-Z2-1", "comment": "Krocení zlé želvy — triviální, průchod po 2D souřadnicích, přímo navazuje na 29-Z1-1", "requires": []},
{"id": "29-Z4-3", "comment": "Želva v akváriu — malej voser, triviální, přímo navazuje na 29-Z2-1 a 29-Z1-1, průchod po 3D souřadnicích", "requires": []},
Komplexnější práce s poli
{"id": "26-Z2-4", "comment":"Životně důležitá úloha - dostanu pole čísel, potřebuju v něm najít pravidelně se opakující výskyty hodnot, relativně složitá práce s poli, dvojcemi apod.", "requires":[]},
{"id": "29-Z1-3", "comment":"Petrova statistika — ne úplně triviální, tvorba histogramu z pole", "requires":[]},
Práce s čísly
{"id": "26-Z2-2", "comment": "SADO - triviální, procházení celých čísel v intervalu a kontrola podmínky", "requires": []},
{"id": "26-Z3-3", "comment": "Hádanka - triky s dělitelností devíti a rozkladem čísel, docela hard teorie", "requires": []},
{"id": "26-Z4-1", "comment": "Vražedná čísla- WTF, teorie čísel, hard as fuck, divný", "requires": []},
{"id": "29-Z3-3", "comment": "Šestková čísla — mega voser implementovat, spíš matematická úloha, převod dešitkových čísel do hacknutých římských", "requires": []},
Práce s řetězci
{"id": "26-Z1-3", "comment": "Zamilovaný dopis - triviální, procházení stringů po znacích a kontrola podmínek", "requires":[]},
{"id": "26-Z2-3", "comment": "Šifrovaná zpráva - práce s řetězci, hledání mapování mezi písmenky (substitučka) a validace, že jinde substitučka funguje", "requires":[]},
{"id": "26-Z3-2", "comment": "Čarodějova šifra - šifrování mřížkou, práce se stringy, rotace matice, vhodné na code review?, docela hard", "requires":[]},
{"id": "29-Z3-2", "comment": "Písemka z angličtiny — voser implementovat, easy dřevorubecký řešení, optimálně trie, což na Z IMHO hard", "requires":[]},
Grafy
{"id": "26-Z1-4", "comment": "Hroch v jezeře - BFS či jiné prohledávání, počítání velikosti komponent v 2D poli, ", "requires":[]},
{"id": "26-Z4-4", "comment": "Hlídači v labyrintu - policajti hlídající na grafu, konkrétně na stromě, rekurze, technicky asi až DP", "requires":[]},
{"id": "26-Z3-4", "comment": "Tvar labyrintu - nejdelší cesta ve stromě, graf", "requires":[]},
{"id": "29-Z1-4", "comment": "Zuzčin výlet — DFS (topologické pořadí)", "requires":[]},
{"id": "31-Z1-2", "comment": "BFS (šachovnice, custom figurka, nejkratší cesta) ", "requires":[]},
{"id": "31-Z3-2", "comment": "DFS (hledání cesty v grafu po písmenech)", "requires":[]},
{"id": "31-Z3-3", "comment": "barvení bipartitního grafu (hledání partit), na vstupu hrany", "requires":[]},
Nápad
{"id": "26-Z4-2", "comment": "Sbírání vajíček - hledení mediánu, musí se to ale vymyslet, nejkratší cesta při chození tam a zpět", "requires": []},
Voser
{"id": "26-Z3-1", "comment": "Zámky labyrintu - hromada ifů, vhodné možná na code review, hledání čísla z trojice takového, že je trojice aritmetrická posloupnost", "requires": []},
--------
ODZHORA POCAD PREBUSENO DO tasks.json
--------
29-Z1-2 — Sářiny pamlsky — triviální, výpis přirozených čísel na základě pravidel
29-Z2-2 — Sářina volba — spíš triviální, hledání společných vlasností na dvou stejně dlouhých polích
29-Z2-3 — Petr v říši divů — grafy - prohledávání (rozpad na komponenty)
29-Z2-4 — Zuzka: Cesta tam a zase zpátky — nejdelší rostoucí podposloupnost splňující podmínku, příběh i vstup připomínají 28-Z4-5
29-Z3-4 — Zdobení stromečku — grafy - prohledávání, hledání kružnice v grafu, zmateně zadané
29-Z4-1 — Šíření viru — vopruz načítat vstup, přímočaré kvadratické řešení, trochu důmyslnější optimální, podhodnocená as fuck, šíření viru v grafu
29-Z4-2 — Vybírání atrakcí — ezy hladový řešení, pokud si ho umíte zdůvodnit, což není úplně triviální, máme K lidí, pro každého přípustný interval a K² čísel, které každému chceme přidělit
29-Z4-4 — Hledání součtu — ezy housenka pokud umíte číst, hledání podposloupnosti se součtem co nejbližším zadanému, celé v kladných číslech
28. Ročník
28-Z1-1 triviální, průchod pole
28-Z1-2 dělitelnost
28-Z1-3 dělení a modulení
28-Z1-4 hledání komponent souvislosti
28-Z2-1 hledání podřetězce
28-Z2-2 Collatzova domněnka
28-Z2-3 seznam sousedů, hledání kružnic dané velikosti (3)
28-Z2-4 spojový seznam nebo eulerovský tah
28-Z3-1 nalezení minima a maxima
28-Z3-2 matematika
28-Z3-3 zjednodušení problému??
28-Z3-4 rekurze (není to jednoduché)
28-Z4-1 souřadnice
28-Z4-2 triviální průchod 2D pole
28-Z4-3 binární vyhledávání, třídění
28-Z4-4 dynamické programování, práce s čísly
30. ročník
30-Z1-1: Kevinova nepatnáctka - Trivka, chození po souřadnicích
30-Z1-2: Sářiny loutky - Hladový algoritmus
30-Z1-3: Petrovo luštění zprávy - Hledání nejčastějšího výskytu
30-Z1-4: Zuzčin projekt - Sousednost v grafu
30-Z2-1: K-k-koktavý K-K-Kevin - Trivka, projít string a skippovat duplikáty
30-Z2-2: Hřiště pro tarantule - Chození po souřadnicích, detekce kolizí
30-Z2-3: Klonování pavouků - Sestavení stromu a vypsání cesty do kořene
30-Z2-4: Příliš bílý displej - Práce s 2d polem
30-Z3-1: Rozkolísaná produktivita - Hledání dvou čísel s co největším rozdílem
30-Z3-2: Podlézání Číňanům - Výroba palindromu
30-Z3-3: Teambuilding - Voser implementovat, hledání klíčů na odemčení dveří
30-Z3-4: Korporátní seznamka - Voser implementovat, doplňování do stringu
30-Z4-1: Statistika sprintů - Prefixové součty
30-Z4-2: Klíče od tělocvičny - Provházení bludiště
30-Z4-3: Uhlazovací válec - ProhledávánI grafu
30-Z4-4: Ohrazení zahrádky - Trivka, práce souřadnicemi
31. ročník
31-Z1-3: průnik N intervalů (3D na kvádrech)
31-Z2-1: hešování (objednávka pizzy po dílcích, ceil(group by typ, sum, / 8)))
31-Z2-2: 2D pole (simulace tetrisu)
31-Z2-3: ňáký šachy, předzpracování, hledání nejbližších věží a střelců in bulk - chce lepší tag
31-Z2-4: hledání periody v desetinném čísle
31-Z3-1: triviální - zapamatování stringů (vybírání rýmů)
31-Z3-4: geometrie - přihrádky/zametání (vypsat všechny dvojice bodů s vzdáleností max K)
31-Z4-1: sort + průchod pole (nejosamělejší bod na přímce)
31-Z4-2: binární čísla

559
tasks.json

@ -236,6 +236,182 @@
"taskReference": "27-Z2-1",
"title": "Závorky z cereálií"
},
{
"id": "28-Z1-1",
"type": "open-data",
"taskReference": "28-Z1-1",
"comment": "triviální, průchod pole",
"requires": [],
"position": [
1574.8651123046875,
-54.023719787597656
]
},
{
"id": "28-Z1-2",
"type": "open-data",
"taskReference": "28-Z1-2",
"comment": "dělitelnost",
"requires": [],
"position": [
1468.0250244140625,
-49.02372360229492
]
},
{
"id": "28-Z1-3",
"type": "open-data",
"taskReference": "28-Z1-3",
"comment": "dělení a modulení",
"requires": [],
"position": [
1400.1099853515625,
-145.4812469482422
]
},
{
"id": "28-Z1-4",
"type": "open-data",
"taskReference": "28-Z1-4",
"comment": "hledání komponent souvislosti",
"requires": [],
"position": [
1383.2698974609375,
-202.57998657226562
]
},
{
"id": "28-Z2-1",
"type": "open-data",
"taskReference": "28-Z2-1",
"comment": "hledání podřetězce",
"requires": [],
"position": [
1483.3087158203125,
-193.50497436523438
]
},
{
"id": "28-Z2-2",
"type": "open-data",
"taskReference": "28-Z2-2",
"comment": "Collatzova domněnka",
"requires": [],
"position": [
1450.6412353515625,
-508.93878173828125
]
},
{
"id": "28-Z2-3",
"type": "open-data",
"taskReference": "28-Z2-3",
"comment": "seznam sousedů, hledání kružnic dané velikosti (3)",
"requires": [],
"position": [
1261.51611328125,
-521.9762878417969
]
},
{
"id": "28-Z2-4",
"type": "open-data",
"taskReference": "28-Z2-4",
"comment": "spojový seznam nebo eulerovský tah",
"requires": [],
"position": [
1442.344970703125,
-274.54248046875
]
},
{
"id": "28-Z3-1",
"type": "open-data",
"taskReference": "28-Z3-1",
"comment": "nalezení minima a maxima",
"requires": [],
"position": [
1096.826171875,
-141.4437255859375
]
},
{
"id": "28-Z3-2",
"type": "open-data",
"taskReference": "28-Z3-2",
"comment": "matematika",
"requires": [],
"position": [
818.8499145507812,
-206.74127197265625
]
},
{
"id": "28-Z3-3",
"type": "open-data",
"taskReference": "28-Z3-3",
"comment": "zjednodušení problému??",
"requires": [],
"position": [
874.887451171875,
-94.75247955322266
]
},
{
"id": "28-Z3-4",
"type": "open-data",
"taskReference": "28-Z3-4",
"comment": "rekurze (není to jednoduché)",
"requires": [],
"position": [
1073.7274169921875,
-258.63002014160156
]
},
{
"id": "28-Z4-1",
"type": "open-data",
"taskReference": "28-Z4-1",
"comment": "souřadnice",
"requires": [],
"position": [
859.5786743164062,
-276.0987548828125
]
},
{
"id": "28-Z4-2",
"type": "open-data",
"taskReference": "28-Z4-2",
"comment": "triviální průchod 2D pole",
"requires": [],
"position": [
754.1712036132812,
-282.5687561035156
]
},
{
"id": "28-Z4-3",
"type": "open-data",
"taskReference": "28-Z4-3",
"comment": "binární vyhledávání, třídění",
"requires": [],
"position": [
880.9987182617188,
-358.81500244140625
]
},
{
"id": "28-Z4-4",
"type": "open-data",
"taskReference": "28-Z4-4",
"comment": "dynamické programování, práce s čísly",
"requires": [],
"position": [
814.6162109375,
-379.39630126953125
]
},
{
"id": "29-Z1-1",
"type": "open-data",
@ -250,6 +426,17 @@
],
"taskReference": "29-Z1-1"
},
{
"id": "29-Z1-2",
"type": "open-data",
"taskReference": "29-Z1-2",
"comment": "Sářiny pamlsky — triviální, výpis přirozených čísel na základě pravidel",
"requires": [],
"position": [
1433.2462158203125,
-348.25872802734375
]
},
{
"id": "29-Z1-3",
"type": "open-data",
@ -292,6 +479,39 @@
"taskReference": "29-Z2-1",
"title": "Krocení zlé želvy"
},
{
"id": "29-Z2-2",
"type": "open-data",
"taskReference": "29-Z2-2",
"comment": "Sářina volba — spíš triviální, hledání společných vlasností na dvou stejně dlouhých polích",
"requires": [],
"position": [
1410.2337646484375,
-441.5187683105469
]
},
{
"id": "29-Z2-3",
"type": "open-data",
"taskReference": "29-Z2-3",
"comment": "Petr v říši divů — grafy - prohledávání (rozpad na komponenty)",
"requires": [],
"position": [
1576.2962646484375,
-488.655029296875
]
},
{
"id": "29-Z2-4",
"type": "open-data",
"taskReference": "29-Z2-4",
"comment": "Zuzka: Cesta tam a zase zpátky — nejdelší rostoucí podposloupnost splňující podmínku, příběh i vstup připomínají 28-Z4-5",
"requires": [],
"position": [
1631.98876953125,
-358.9374694824219
]
},
{
"id": "29-Z3-1",
"type": "open-data",
@ -333,6 +553,39 @@
"taskReference": "29-Z3-3",
"title": "Šestková čísla"
},
{
"id": "29-Z3-4",
"type": "open-data",
"taskReference": "29-Z3-4",
"comment": "Zdobení stromečku — grafy - prohledávání, hledání kružnice v grafu, zmateně zadané",
"requires": [],
"position": [
1613.5562744140625,
-297.6412353515625
]
},
{
"id": "29-Z4-1",
"type": "open-data",
"taskReference": "29-Z4-1",
"comment": "Šíření viru — vopruz načítat vstup, přímočaré kvadratické řešení, trochu důmyslnější optimální, podhodnocená as fuck, šíření viru v grafu",
"requires": [],
"position": [
1570.2962646484375,
-265.0612487792969
]
},
{
"id": "29-Z4-2",
"type": "open-data",
"taskReference": "29-Z4-2",
"comment": "Vybírání atrakcí — ezy hladový řešení, pokud si ho umíte zdůvodnit, což není úplně triviální, máme K lidí, pro každého přípustný interval a K² čísel, které každému chceme přidělit",
"requires": [],
"position": [
1634.2974853515625,
-199.5549774169922
]
},
{
"id": "29-Z4-3",
"type": "open-data",
@ -348,6 +601,209 @@
"taskReference": "29-Z4-3",
"title": "Želva v akváriu"
},
{
"id": "29-Z4-4",
"type": "open-data",
"taskReference": "29-Z4-4",
"comment": "Hledání součtu — ezy housenka pokud umíte číst, hledání podposloupnosti se součtem co nejbližším zadanému, celé v kladných číslech",
"requires": [],
"position": [
1610.87744140625,
-133.54248046875
]
},
{
"id": "30-Z1-1",
"type": "open-data",
"taskReference": "30-Z1-1",
"title": "Kevinova nepatnáctka",
"comment": "Trivka, chození po souřadnicích",
"requires": [],
"position": [
572.9862060546875,
-361.655029296875
]
},
{
"id": "30-Z1-2",
"type": "open-data",
"taskReference": "30-Z1-2",
"title": "Sářiny loutky",
"comment": "Hladový algoritmus",
"requires": [],
"position": [
1046.9624633789062,
-526.9387512207031
]
},
{
"id": "30-Z1-3",
"type": "open-data",
"taskReference": "30-Z1-3",
"title": "Petrovo luštění zprávy",
"comment": "Hledání nejčastějšího výskytu ",
"requires": [],
"position": [
721.6036987304688,
-430.6800231933594
]
},
{
"id": "30-Z1-4",
"type": "open-data",
"taskReference": "30-Z1-4",
"title": "Zuzčin projekt",
"comment": "Sousednost v grafu",
"requires": [],
"position": [
596.0599365234375,
-297.4825439453125
]
},
{
"id": "30-Z2-1",
"type": "open-data",
"taskReference": "30-Z2-1",
"title": "K-k-koktavý K-K-Kevin",
"comment": "Trivka, projít string a skippovat duplikáty",
"requires": [],
"position": [
640.2936401367188,
-213.85252380371094
]
},
{
"id": "30-Z2-2",
"type": "open-data",
"taskReference": "30-Z2-2",
"title": "Hřiště pro tarantule",
"comment": "Chození po souřadnicích, detekce kolizí",
"requires": [],
"position": [
702.7511596679688,
-135.3337631225586
]
},
{
"id": "30-Z2-3",
"type": "open-data",
"taskReference": "30-Z2-3",
"title": "Klonování pavouků",
"comment": "Sestavení stromu a vypsání cesty do kořene",
"requires": [],
"position": [
807.9862060546875,
-24.777490615844727
]
},
{
"id": "30-Z2-4",
"type": "open-data",
"taskReference": "30-Z2-4",
"title": "Příliš bílý displej",
"comment": " Práce s 2d polem",
"requires": [],
"position": [
960.7762451171875,
-208.45751953125
]
},
{
"id": "30-Z3-1",
"type": "open-data",
"taskReference": "30-Z3-1",
"title": "Rozkolísaná produktivita",
"comment": " Hledání dvou čísel s co největším rozdílem",
"requires": [],
"position": [
1047.8624877929688,
2.5687755346298218
]
},
{
"id": "30-Z3-2",
"type": "open-data",
"taskReference": "30-Z3-2",
"title": "Podlézání Číňanům",
"comment": "Výroba palindromu",
"requires": [],
"position": [
1335.9012451171875,
-74.43122863769531
]
},
{
"id": "30-Z3-3",
"type": "open-data",
"taskReference": "30-Z3-3",
"title": "Teambuilding",
"comment": "Voser implementovat, hledání klíčů na odemčení dveří",
"requires": [],
"position": [
1233.739990234375,
-237.59249877929688
]
},
{
"id": "30-Z3-4",
"type": "open-data",
"taskReference": "30-Z3-4",
"title": "Korporátní seznamka",
"comment": "Voser implementovat, doplňování do stringu",
"requires": [],
"position": [
1161.6162109375,
-319.74127197265625
]
},
{
"id": "30-Z4-1",
"type": "open-data",
"taskReference": "30-Z4-1",
"title": "Statistika sprintů",
"comment": " Prefixové součty",
"requires": [],
"position": [
983.1099853515625,
-302.6050109863281
]
},
{
"id": "30-Z4-2",
"type": "open-data",
"taskReference": "30-Z4-2",
"title": "Klíče od tělocvičny",
"comment": "Provházení bludiště",
"requires": [],
"position": [
1138.3812255859375,
-378.9012451171875
]
},
{
"id": "30-Z4-3",
"type": "open-data",
"taskReference": "30-Z4-3",
"title": "Uhlazovací válec",
"comment": "ProhledávánI grafu",
"requires": [],
"position": [
1306.1600341796875,
-363.9637756347656
]
},
{
"id": "30-Z4-4",
"type": "open-data",
"taskReference": "30-Z4-4",
"title": "Ohrazení zahrádky",
"comment": "Trivka, práce souřadnicemi",
"requires": [],
"position": [
1238.6287841796875,
-164.0612335205078
]
},
{
"id": "31-Z1-1",
"type": "open-data",
@ -374,6 +830,17 @@
"taskReference": "31-Z1-2",
"title": "Ukradený jezdec"
},
{
"id": "31-Z1-3",
"type": "open-data",
"taskReference": "31-Z1-3",
"comment": "průnik N intervalů (3D na kvádrech)",
"requires": [],
"position": [
978.01123046875,
-112.03751373291016
]
},
{
"id": "31-Z1-4",
"type": "open-data",
@ -388,6 +855,61 @@
],
"taskReference": "31-Z1-4"
},
{
"id": "31-Z2-1",
"type": "open-data",
"taskReference": "31-Z2-1",
"comment": "hešování (objednávka pizzy po dílcích, ceil(group by typ, sum, / 8)))",
"requires": [],
"position": [
1127.4437255859375,
-64.70246124267578
]
},
{
"id": "31-Z2-2",
"type": "open-data",
"taskReference": "31-Z2-2",
"comment": "2D pole (simulace tetrisu)",
"requires": [],
"position": [
1333.40625,
-291.3462677001953
]
},
{
"id": "31-Z2-3",
"type": "open-data",
"taskReference": "31-Z2-3",
"comment": "ňáký šachy, předzpracování, hledání nejbližších věží a střelců in bulk - chce lepší tag",
"requires": [],
"position": [
720.4924926757812,
-342.6925354003906
]
},
{
"id": "31-Z2-4",
"type": "open-data",
"taskReference": "31-Z2-4",
"comment": "hledání periody v desetinném čísle",
"requires": [],
"position": [
927.677490234375,
-439.93878173828125
]
},
{
"id": "31-Z3-1",
"type": "open-data",
"taskReference": "31-Z3-1",
"comment": "triviální - zapamatování stringů (vybírání rýmů)",
"requires": [],
"position": [
1253.751220703125,
-437.8525390625
]
},
{
"id": "31-Z3-2",
"type": "open-data",
@ -417,6 +939,39 @@
"taskReference": "31-Z3-3",
"title": "Stáda hrochů"
},
{
"id": "31-Z3-4",
"type": "open-data",
"taskReference": "31-Z3-4",
"comment": "geometrie - přihrádky/zametání (vypsat všechny dvojice bodů s vzdáleností max K)",
"requires": [],
"position": [
1142.356201171875,
-461.64251708984375
]
},
{
"id": "31-Z4-1",
"type": "open-data",
"taskReference": "31-Z4-1",
"comment": "sort + průchod pole (nejosamělejší bod na přímce)",
"requires": [],
"position": [
872.5675048828125,
-481.3587646484375
]
},
{
"id": "31-Z4-2",
"type": "open-data",
"taskReference": "31-Z4-2",
"comment": "binární čísla",
"requires": [],
"position": [
1028.8512573242188,
-439.8162841796875
]
},
{
"id": "data",
"type": "text",
@ -427,8 +982,8 @@
"title": "Data a algoritmy",
"htmlContent": "<h2>Datové struktury</h2><p>V programech potřebujeme nějak reprezentovat data o reálném světě. Paměť počítače je ale jen dlouhá sekvence bytů (malých čísel). Abychom mohli reprezentovat něco komplikovanějšího, skládáme si v paměti <strong>datové struktury.</strong> Technicky je to akorát hromada čísel, kterým přikládáme speciální význam. Pro potřeby programátora je ale často podstatnější ten samotný speciální význam, než hodnota čísel, kterými je zapsán.</p><p>Úlohy, které najdeš dále, se všechny zabývají nějakou datovou strukturou. Jsou uspořádány s rostoucí obtížností a pro pochopení složitějších datových struktur je často potřeba mít vštípené detaily struktury předchozí.</p><h2>Algoritmy</h2><p>Datové struktury jsou nám samotné k ničemu. K jejich smysluplnému využití potřebujeme nějaký důvod. Datovou strukturou jenom reprezentujeme nějaký stav světa. Proto v úlohách najdeš krom datových struktur také využití různých algoritmů - ověřených postupů, jak řešit nějaké druhy problémů.</p>",
"position": [
-29,
2
-163,
-83
]
},
{