【二叉樹】統計成績出現的次數
阿新 • • 發佈:2019-01-31
程式設計實現二叉搜尋樹來記錄考試成績的分佈。
解題:
修改 Node 物件, 為其增加一個記錄成績出現頻次的成員。
function Node(data,left,right){
this.data = data;
this.count = 1;
this.left = left;
this.right = right;
}
同時還需要一個方法, 當在 BST 中發現某成績時, 需要將出現的次數加 1, 並且更新該節點。
function update(data){
var grade = this.findup(data);
grade.count++;
return grade;
}
最後建立一棵二叉搜尋樹並將資料逐一插入。
var gradedistro = new BST();
for (var i = 0; i < grades.length; ++i) {
var g = grades[i];
var grade = gradedistro.findup(g);
if (grade == null) {
gradedistro.insert(g);
} else {
gradedistro.update(g);
}
}