PDA

View Full Version : Chieu cao cay nhi phan ?



thuaroi
06-01-2007, 10:20
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à!

ptaminh
12-05-2009, 12:35
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

hcmcity
11-08-2009, 08:58
giúp mình code xuat ra các nút có cùng độ cao nha các bạn!!!thanhks.

quangtq
11-08-2009, 16:11
Xuất ra các nút cùng độ cao. Thế thì BFS là ngon.