Từ 1 tới 2 trên tổng số 2 kết quả

Đề tài: [ Solved ]Cây nhị phân tìm kiếm cân bằng

  1. #1
    Ngày gia nhập
    01 2008
    Bài viết
    1

    Question [ Solved ]Cây nhị phân tìm kiếm cân bằng

    mấy anh làm giúp em bài này! em gà lắm

    Viết chương trình tạo cây nhị phân tìm kiếm từ mảng 1 chiều a có n phần tử (a chứa các số nguyên)
    a) In ra giá trị của tất cả các nút ở mức thứ k
    b) Kiểm tra cây có cân bằng không?
    c) Xóa tất cả các node có giá trị là số nguyên tố
    d) Cho biết cây có đủ các giá trị từ 1 đến n hay không? (n là số node trên cây)
    e) Cho biết chiều cao của cây (không đệ quy)
    Đã được chỉnh sửa lần cuối bởi sunflower0 : 04-06-2008 lúc 10:30 AM.

  2. #2
    Ngày gia nhập
    03 2008
    Bài viết
    57

    a) để in tầng thứ k ta có nhận xét :

    - Một node ở tầng thứ k của cây thì nó sẽ nằm ở tầng thứ k -1 của cây con trái ( phải ) của cây đó.
    - Do đó muốn xuất ra các giá trị nằm trên tầng thứ k của cây thực chất là xuất ra các giá trị nằm ở tầng thứ k-1 của cây con trái và các giá trị nằm ở tầng thứ k-1 cuả cây con phải
    đây là code minh họa
    C++ Code:
    1. void intang_k(TREE t, int k)
    2. {
    3.     if( t == NULL )
    4.         return;
    5.     if( k==0 )
    6.     {
    7.         printf("%4d",t->info);
    8.         return;
    9.     }
    10.  
    11.     intang_k(t->pLeft,k-1);
    12.     intang_k(t->pRight,k-1);
    13. }
    b) Muốn kiểm tra cây có cân bằng không thì trước tiên phải hiểu cây cân bằng là gì. bạn xem lại định nghĩa cây cân bằng.
    - bạn tìm chiều cao cây con trái, chiều cao cây con phải. lấy 2 chiều cao đó trừ cho nhau. nếu 2 cây con có chiều cao chênh nhau không quá 1 thì đó là cây cb, ngược lại là cây không cân bằng
    c) xóa các node có trị là số nguyên tố thì viết hàm kiểm tra số nguyên tố.
    sau đó thăm qua tất cả các node trong cây. nếu node nào kiểm tra thấy là số nguyên tố thì áp dụng hàm xóa node trên cây xóa node đó đi.
    d) Để kiểm tra có đủ số từ 1 --> n không thì bạn dùng đệ quy kiểm tra gốc có bằng con trái +1, và bằng con phải -1 không. nếu có một node không thoả giá trị đó thì là sai.
    e) chưa nghĩ .

Các đề tài tương tự

  1. [ Solved ]Hỏi về việc tìm kiếm trong mảng
    Gửi bởi tranphuoctien trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 30-10-2008, 01:31 PM
  2. [Solved] Hỏi về thuật toán tìm kiếm
    Gửi bởi thanhlinhhue trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 18-09-2008, 08:36 AM
  3. [Solved] Hỏi về các thuật toán tìm kiếm
    Gửi bởi vodanhxxx trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 17-09-2008, 07:07 PM
  4. [ Solved ] Thuật toán tìm kiếm string gần đúng
    Gửi bởi tienlbhoc trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 15-09-2008, 07:06 PM
  5. [ Solved ]Tìm kiếm đệ quy trong mảng 1 chiều
    Gửi bởi Mr.Phong trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 20-08-2008, 10:53 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn