Laufzeit/ O/Θ-Notation einer Treeset Methode

gustavvo

Mitglied
hi. kann mir jemand bitte bei java helfen?

Java:
1 public static TreeSet < String > words ( int k , Set < Character > alphabet ) {
2 	if ( k <= 0) {
3 	  throw new IllegalArgumentException ("k is not positive : k="+ k );
4 	}
5
6 	TreeSet<String> words, list;
7
8 	if (k == 1) { // base case: words of length 1
9 	 words = new TreeSet<String>();
10 	 for (Character letter : alphabet) {
11 		words.add(String.valueOf(letter));
12 	}

13 	return words;

14 	} else {

15 	 list = words (k - 1, alphabet );
16 	 words = new TreeSet<String>();
17 	 for (char letter : alphabet) {
18 		for (String w : list) {
19 		words.add(letter + w);
20 		}
21 	 }
22 	return words;
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!
 

Zurück
Oben