Trong khoa hoc may tinh, cay la mot cau truc du lieu đuoc su dung rong rai gom mot tap hop cac nut (tieng Anh: node) đuoc lien ket voi nhau theo quan he cha-con. Cay trong cau truc du lieu đau tien la mo phong (hay noi cach khac la su sao chep) cua cay (co goc) trong ly thuyet đo thi. Hau nhu moi khai niem trong cay cua ly thuyet đo thi đeu đuoc the hien trong cau truc du lieu. Tuy nhien cay trong cau truc du lieu đa tim đuoc ung dung phong phu va hieu qua trong nhieu giai thuat. Khi phan tich cac giai thuat tren cau truc du lieu cay, nguoi ta van thuong ve ra cac cay tuong ung trong ly thuyet đo thi.


Cac nut Mot nut co the chua mot gia tri, mot đieu kien, mot cau truc du lieu rieng biet hoac chinh mot cay. Moi nut trong mot cay co the khong co hoac co mot so nut con, cac nut con co muc cao hon no (theo quy uoc khac voi cay tu nhien, cay trong cau truc du lieu phat trien tu tren xuong). Mot nut co con đuoc goi la nut cha cua cac nut con. Mot nut co nhieu nhat mot nut cha.


= Nut goc =
Trong moi cay co mot nut đac biet đuoc goi la nut goc (hay noi đon gian la goc). Nut goc la nut duy nhat khong co nut cha. Nut goc la noi khoi đau cua nhieu giai thuat tren cay. Tat ca cac nut khac đuoc noi ve nut goc bang mot đuong đi qua cac canh hay cac lien ket


= Cac nut la =
Cac nut khong co nut con đuoc goi la nut la hay goi đon gian la la.


= Cac nut trong (nut nhanh) =
nut trong cua mot cay la nut tren cay co it nhat mot con, nghia la cac nut khong phai la la. Cac khai niem ve muc cua moi nut, chieu cao cua cay đuoc đinh nghia giong nhu cay trong ly thuyet đo thi.


Cay con Mot cay con la mot bo phan cua cau truc du lieu cay ma tu no cung la mot cay. Mot nut bat ky trong cay T, cung voi cac nut duoi no tao thanh mot cay con cua T.


Cay trong ly thuyet đo thi Trong ly thuyet đo thi, mot cay la mot đo thi lien thong va khong co chu trinh. Cay nhu vay con đuoc goi la cay tu do. Mot cay co goc la mot cay tu do, trong đo co mot đinh đuoc chon lam goc va cac canh đuoc đinh huong la huong cua cac đuong đi đon ra khoi goc toi cac đinh khac. Trong truong hop nay, hai đinh bat ky đuoc noi voi nhau bao ham  chung co qua he cha-con. Mot đo thi khong chu trinh voi nhieu thanh phan lien thong đuoc goi la mot rung.


Cay sap thu tu Co hai dang cau truc co so cua cay la cay khong thu tu va cay co thu tu. Mot cay khong thu tu la cay co cau truc cay, trong đo giua cac con cua mot nut, khong co thu tu nao. Mot cay, trong đo cac con cua mot nut tuan theo mot thu tu xac đinh đuoc goi la cay co thu tu. Cac cay co thu tu co nhieu ung dung sau sac trong cau truc cua cay. Cay tim kiem nhi phan la mot cay sap thu tu đien hinh.


Cay tong quat va cay nhi phan Cac cay trong đo moi nut co the co nhieu hon hai con đuoc goi la cay tong quat, cac cay trong đo moi nut co khong qua hai con đuoc goi la cay nhi phan.


Bieu dien cay Co nhieu phuong phap bieu dien cay. Cach thuong dung nhat la bieu dien moi nut nhu mot du lieu kieu ban ghi, moi nut chua cac con tro toi cac con hoac cha cua no, hoac ca hai. Cay cung co the bieu dien bang cac mang cung voi quan he giua cac vi tri trong mang.


= Bieu dien bang cac nut voi cac con tro =
Moi nut la mot du lieu kieu ban ghi voi ba truong: Mot truong thuong goi la INFOR, chua thong tin luu tru tai nut đo. Thong tin nay co the chi la mot so, mot ky tu, cung co the la mot tap hop du lieu rat phuc tap. Hai truong LLINK va RLINK chua cac lien ket trai va phai. Neu cay la cay nhi phan, LLINK tro toi con trai cua nut, RLINK tro toi con phai cua nut. Neu cay la cay tong quat, LLINK tro toi con cuc trai va RLINK tro toi em ke can phai cua nut đo. Do đo danh sach cac nut bieu dien mot cay tong quat, khi đuoc xem la bieu dien cua cay nhi phan se cho mot cay nhi phan. Cay nhi phan nay đuoc goi la cay nhi phan tuong đuong voi cay tong quat ban đau.


= Bieu dien cay nhi phan bang mang =
Cay nhi phan ma moi đinh trong co đung hai con đuoc goi la cay nhi phan đay đu (full binary tree)
Cay nhi phan đay đu ma tat ca cac la co cung mot muc đuoc goi la cay nhi phan hoan chinh (perfect binary tree). Mot so tai lieu goi cay loai nay la cay đay đu.
Cay nhi phan ma moi đinh cua no đa co con phai thi cung co con trai đuoc goi la cay nhi phan gan hoan chinh (almost complete binary tree). (Đinh nghia nay sai, theo đo cay suy bien lech trai cung la gan hoan chinh?)
Ta co the dung mot mang gom 
  
    
      
        
          2
          
            h
            +
            1
          
        
        −
        1
      
    
    {\displaystyle 2^{h+1}-1}
  
 phan tu đe bieu dien cay nhi phan, bang cach lan luot luu tru thong tin cua moi nut vao mang theo thu tu tu tren xuong duoi, tu trai sang phai. Khi đo con trai cua nut thu i la phan tu thu 2*i, con phai la phan tu thu 2*i+1. Cha cua phan tu thu i la phan tu thu int(i/2).Ta gan gia tri Null cho cac vi tri con thieu.
Mot cach khac, dung mot mang hai chieu trong dong thu nhat ghi cac thong tin cua nut, dong thu hai ghi chi so cua nut cha cua nut đo voi dau + neu nut hien tai la con trai, voi dau - neu nut hien tai la con phai cua nut cha.


Cac phuong phap duyet cay Duyet mot cay la mot trinh tu lam viec voi cac nut trong cay, trinh tu nay giong nhu mot chuyen đi qua cac nut tren cay theo cac lien ket cha-con, bat đau tu nut goc. Cac giai thuat duyet khac nhau ve thu tu "vieng tham" giua mot nut cha va cac nut con.

Duyet tien thu tu
Duyet trung thu tu
Duyet hau thu tu


Cac giai thuat chung Tim kiem mot muc tren cay
Bo sung mot muc moi
Xoa mot muc


Xem them Binary space partitioning
Đong
Cay (ly thuyet đo thi)
Cay (ly thuyet tap hop)
Cay tim kiem nhi phan
Cay AA
Cay AVL
Cay đo đen
B-cay (Cay 2-3-4, B+ cay, B*-cay, UB-cay)
R-cay
T-cay


Lien ket Description from the Dictionary of Algorithms and Data Structures
STL-like C++ tree class Luu tru ngay 17 thang 5 nam 2007 tai Wayback Machine
List of data structures Luu tru ngay 23 thang 10 nam 2007 tai Wayback Machine from LEDA


Tham khao