public class Example {
private static class Courses {
public final String name;
public final Courses[] children;
public Courses(String name, Courses ... children) {
this.name = name;
this.children = children;
}
}
public static void main(String[] args) {
Courses courses =
new Courses("School",
new Courses("Mathematics",
new Courses("Algebra"),
new Courses("Trig"),
new Courses("Calculus"),
new Courses("Calculus 2"),
new Courses("Geometry")),
new Courses("Sciences",
new Courses("Biology"),
new Courses("Chemistry"),
new Courses("Physics"),
new Courses("Business",
new Courses("Finances",
new Courses("Accounting"),
new Courses("Accounting 1"),
new Courses("Accounting 2"),
new Courses("Administration",
new Courses("Economics"),
new Courses("Business Studies"),
new Courses("Administration 1"),
new Courses("Accounting"))),
new Courses("Physical Education"))));
System.out.println(find(courses, "Economics", courses.name));
public static String find(Courses courses, String name, String currentPath) {
if((courses.name).equals(name)){
System.out.println(currentPath);
return currentPath + "/" + name;
}
else{
//System.out.println(currentPath);
for(Courses child:courses.children){
currentPath += "/" + child.name;
find(child, name, currentPath);
}
}
return currentPath + "/" + name;
}
}
Так что это код, который я приобрел. Я пытаюсь определить, какова должна быть правильная модель мышления при кодировании этого метода поиска. Это массив, но я думаю об этом как о дереве, как об этом, и пытаюсь найти ответ. Это то, что вы, ребята, тоже сделали бы? Я пытаюсь найти такой путь, как эта школа/бизнес/администрация/экономика. Но либо я получаю весь путь, либо все это повторяется. Кроме того, каков подход, который вы, ребята, предпримете для этого. Я написал рекурсивный метод для достижения этого, но он не работает.Справка по структуре данных - Понимание мыслительного процесса
Спасибо, за вашу помощь
CC
Ваш вопрос не очень ясен. Является ли проблема структурой данных или реализацией рекурсивного метода? – daphshez
Ну, структура данных, как в мышлении за решение такой проблемы. И тогда, очевидно, я столкнулся с проблемой с методом, использующим рекурсию, таким образом, id, что бы вы пошли, или вы бы использовали что-то еще, чтобы показать путь? – CalmestChaos