mardi 19 mai 2015

Laufzeit/ O/Θ-Notation einer Treeset Methode

hi. kann mir jemand bitte bei java helfen?

Java Code:

  1. 1 public static TreeSet < String > words ( int k , Set < Character > alphabet ) {
  2. 2 if ( k <= 0) {
  3. 3 throw new IllegalArgumentException ("k is not positive : k="+ k );
  4. 4 }
  5. 5
  6. 6 TreeSet<String> words, list;
  7. 7
  8. 8 if (k == 1) { // base case: words of length 1
  9. 9 words = new TreeSet<String>();
  10. 10 for (Character letter : alphabet) {
  11. 11 words.add(String.valueOf(letter));
  12. 12 }
  13.  
  14. 13 return words;
  15.  
  16. 14 } else {
  17.  
  18. 15 list = words (k - 1, alphabet );
  19. 16 words = new TreeSet<String>();
  20. 17 for (char letter : alphabet) {
  21. 18 for (String w : list) {
  22. 19 words.add(letter + w);
  23. 20 }
  24. 21 }
  25. 22 return words;
  26. 23 }


1) was genau macht das ding? ist das rekursiv? warum?
2) von welchen parametern hängt die laufzeit ab? wie sieht das ganze in der asymptotischen abschätzung in der O/Θ-notation aus?

wäre für jede hilfe dankbar!


Laufzeit/ O/Θ-Notation einer Treeset Methode

0 commentaires:

Enregistrer un commentaire