Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
courses:b6b36zal:zadani:9_permutations [2019/09/20 18:16]
seredlad [Bodování]
courses:b6b36zal:zadani:9_permutations [2019/11/18 21:03] (current)
seredlad [9. úkol - Permutations]
Line 3: Line 3:
 Cílem devátého úkolu je vygeneroval [[https://​docs.python.org/​3/​tutorial/​datastructures.html|list]] všech [[https://​en.wikipedia.org/​wiki/​Permutation|permutací]] daných prvků. Tzn. například pro prvky ''​[1,​ 2, 3]''​ vrátit ''​%%[[%%1,​ 2, 3], [1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 1, 2], [3, 2, 1%%]]%%''​. Cílem devátého úkolu je vygeneroval [[https://​docs.python.org/​3/​tutorial/​datastructures.html|list]] všech [[https://​en.wikipedia.org/​wiki/​Permutation|permutací]] daných prvků. Tzn. například pro prvky ''​[1,​ 2, 3]''​ vrátit ''​%%[[%%1,​ 2, 3], [1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 1, 2], [3, 2, 1%%]]%%''​.
  
-V řešení využijte především ​**[[https://​en.wikipedia.org/​wiki/​Recursion_(computer_science)|rekurzi]]** a [[https://​docs.python.org/​3/​tutorial/​datastructures.html|metody pracující s listy]]. Problém si zkuste nejdříve vyřešit na papíře. Najděte si deterministický postup pro generování permutací. Inspirujte se například obrázkem uvedeným níže (barvami se nenechte zmást). Odpovězte si na otázky: Co má funkce vrátit pro jeden prvek? Pro dva prvky? A jak toho využít, když budeme uvažovat prvky tři?+V řešení využijte především [[https://​en.wikipedia.org/​wiki/​Recursion_(computer_science)|rekurzi]] a [[https://​docs.python.org/​3/​tutorial/​datastructures.html|metody pracující s listy]]. Problém si zkuste nejdříve vyřešit na papíře. Najděte si deterministický postup pro generování permutací. Inspirujte se například obrázkem uvedeným níže (barvami se nenechte zmást). Odpovězte si na otázky: Co má funkce vrátit pro jeden prvek? Pro dva prvky? A jak toho využít, když budeme uvažovat prvky tři?
  
 {{ :​courses:​b6b36zal:​zadani:​perm.jpg?​600 |}} {{ :​courses:​b6b36zal:​zadani:​perm.jpg?​600 |}}
  
 <note warning> <note warning>
-Při použití externích knihoven bude práce hodnocena jako neodevzdaná (a to i zpětně)!\\+Při použití externích knihoven bude práce hodnocena jako neodevzdaná (a to i zpětně)!
  
-Tzn. vyhněte se řešení typu:\\ +Tzn. vyhněte se řešení typu: 
-\\ + 
-''​import itertools\\+<​code>​ 
 +import itertools 
 + 
 +def permutations(array):​ 
 +  return list(itertools.permutations(array)) 
 +</​code>  ​
  
-def permutations(array):​\\ 
-  return list(itertools.permutations(array))''​ 
-  ​ 
 Tímto způsobem se nic nového nenaučíte ;-) Tímto způsobem se nic nového nenaučíte ;-)
 </​note>​ </​note>​
courses/b6b36zal/zadani/9_permutations.txt · Last modified: 2019/11/18 21:03 by seredlad