【发布时间】:2016-04-24 03:14:33
【问题描述】:
我有包含学生记录的二进制搜索树,包括学生的 ID 和名字和姓氏、年龄、电子邮件和电话号码。
所有学生都将根据他们的学生 ID 号存储在一个二叉搜索树中,并且可以保证学生的这种排序(按 ID)与姓氏字母顺序完全相同,然后是第一个名字。
我通过学生ID创建方法来查找节点。
这是代码
private Unfstudent findNode(Unfstudent student, int id) {
if (student == null)
return null;
}
if (id < student.getID()) {
return findNode(student.getLeft(), id);
}
else if (id > student.getID()) {
return findNode(student.getRight(), id);
}
else {
return student;
}
}
我想通过学生的名字和姓氏找到节点。
谁能帮帮我?
【问题讨论】:
-
嗯...这几乎是相同的过程...如果当前节点为空,则找不到学生 ....如果当前节点在姓氏之后,则按字母顺序排列名字排序然后在左树中搜索。如果它出现在之前,则在正确的树中搜索。否则返回当前节点。在 Java 中使用 String 上的比较器确定排序的过程非常简单