View Full Version : Chieu cao cay nhi phan ?
Cho em hỏi thuật toán tính chiều cao cây nhị phân tìm kiếm ?
noname.cpp
07-01-2007, 20:44
Dùng phương pháp duyệt theo chiều sâu kết hợp với một biến đếm mà tìm thôi.
captain_lat
30-01-2007, 05:51
dùng phương pháp duyệt cây theo chiều sâu (recursive), sau đó so sánh chiều sâu của hai nhánh, chỉ cộng độ sâu của nhánh sâu hơn, theo mình là vậy.
thân
hcdung18
17-04-2007, 19:06
Giả sử có hàm Max để tính giá trị lớn nhất giữa 2 số. Khi đó hàm tính chiều cao của cây như sau:
Function ChieuCao(T: TroNut): Integer;
Begin
If (T = Nil) Then ChieuCao:= 0
Else
ChieuCao:= Max(ChieuCao(T^.Left), ChieuCao(T^.Right))+ 1;
End;
truongngocdai
17-04-2007, 19:12
theo mình thì cái này làm duyệt theo chiều rộng thì tốt hơn
loga_uit
06-09-2007, 11:33
Bạn thử cách này coi!
typedef struct tag_TNODE{
data info;
tag_NODE* pLeft;
tag_NODE* pRight;
}
........
void TinhChieuCao(TREE T,int &max,int h)
{
if(T){
if(max<h)
max=h;
DemMuc(T->left,max,h+1);
DemMuc(T->right,max,h+1);
}
}
.....
void main(){
.....
DemMuc(T,0,0);
cout<<"Chieu cao cua cay la: "<<h;
}
thangdl86
07-11-2007, 23:56
trùi đơn giản mà
struct node
{
KDL ìno;
struct node *pLeft;
struct node *pRight;
};
typedef struct node NODE;
typedef NODE *TREE;
int ChieuCao(TREE t)
{
if(t==NULL)
return 0;
int a=ChieuCao(t->pLeft);
int b=ChieuCao(t->pRight);
if(a>b)
return a+1;
else
return b+1;
}
thanhhuy191188
13-11-2007, 18:55
Giả sử có hàm Max để tính giá trị lớn nhất giữa 2 số. Khi đó hàm tính chiều cao của cây như sau:
Function ChieuCao(T: TroNut): Integer;
Begin
If (T = Nil) Then ChieuCao:= 0
Else
ChieuCao:= Max(ChieuCao(T^.Left), ChieuCao(T^.Right))+ 1;
End;
Mình xem code chang hiểu gì được bao nhiêu .
ban có thể chi lại cho minh ro hơn được không?
desengel
13-11-2007, 23:24
Giả sử có hàm Max để tính giá trị lớn nhất giữa 2 số. Khi đó hàm tính chiều cao của cây như sau:
Function ChieuCao(T: TroNut): Integer;
Begin
If (T = Nil) Then ChieuCao:= 0
Else
ChieuCao:= Max(ChieuCao(T^.Left), ChieuCao(T^.Right))+ 1;
End;
Trong các giải thuật trên, giải thuật này là hay nhất, sử dụng thuật toán đệ qui rất ngắn gọn
anhtuan47
05-05-2009, 20:04
no chi lay chieu cao ben trai so voi ben phai sau moi lan duyet
roi so sanh thoi ma
va cuoi cung lay cai chieu cao ben nhanh to nhat ben trai so sanh voi nhanh to nhat ben phai =>kqcuoi cung
lizard_kanta
11-05-2009, 21:24
Chiều cao của cây nhị phân bằng log cơ số 2 của n(số phần tử) thôi mà!
Chiều cao của cây nhị phân bằng log cơ số 2 của n(số phần tử) thôi mà!
Đây là cây nhị phân, không phải cây nhị phân cân bằng hoàn toàn.
badandan
13-05-2009, 17:42
ngay mai thi mon cau truc du lieu ma gio ne moi dang on
ko bit wa ko nua
giúp mình code xuat ra các nút có cùng độ cao nha các bạn!!!thanhks.
Xuất ra các nút cùng độ cao. Thế thì BFS là ngon.
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.