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

Đề tài: Xóa các node có cùng độ sâu trong cây BST như thế nào ?

  1. #1
    Ngày gia nhập
    11 2012
    Bài viết
    2

    Mặc định Xóa các node có cùng độ sâu trong cây BST như thế nào ?

    Tình hình là mình đang làm bài tập lớn về cây BST và cây AVL
    Đề thì có nhiều câu, mình làm xong hết nhưng có một câu mà mình nghĩ hoài ko được, câu đó như là tên topic
    Cụ thể hơn: Đề yêu cầu mình xóa tất cả các node có độ sâu (trên cây) lớn hơn hoặc bằng 1 số nào đó (cho trước).
    Độ sâu (depth) của một nút sẽ bằng khoảng cách từ nút đó đến nút gốc cộng thêm 1. Như vậy, độ sâu của nút gốc sẽ là 1
    Yêu cầu là như vậy đó, hàm xóa thì mình đã viết được, hàm tìm độ sâu của 1 node mình cũng viết được, nhưng không nghĩ ra được làm sao để xóa.
    Ai biết thuật toán xóa như trên hoặc có source tương tự thì giúp mình với nhé
    Mong nhận được sự giúp đỡ từ mọi người !

  2. #2
    Ngày gia nhập
    11 2012
    Bài viết
    5

    Trích dẫn Nguyên bản được gửi bởi philaden22 Xem bài viết
    Tình hình là mình đang làm bài tập lớn về cây BST và cây AVL
    Đề thì có nhiều câu, mình làm xong hết nhưng có một câu mà mình nghĩ hoài ko được, câu đó như là tên topic
    Cụ thể hơn: Đề yêu cầu mình xóa tất cả các node có độ sâu (trên cây) lớn hơn hoặc bằng 1 số nào đó (cho trước).
    Độ sâu (depth) của một nút sẽ bằng khoảng cách từ nút đó đến nút gốc cộng thêm 1. Như vậy, độ sâu của nút gốc sẽ là 1
    Yêu cầu là như vậy đó, hàm xóa thì mình đã viết được, hàm tìm độ sâu của 1 node mình cũng viết được, nhưng không nghĩ ra được làm sao để xóa.
    Ai biết thuật toán xóa như trên hoặc có source tương tự thì giúp mình với nhé
    Mong nhận được sự giúp đỡ từ mọi người !
    Em cũng đang quan tâm vấn đề này, bác có thể đưa code lên được không?

  3. #3
    Ngày gia nhập
    11 2012
    Bài viết
    2

    Trích dẫn Nguyên bản được gửi bởi phongdt Xem bài viết
    Em cũng đang quan tâm vấn đề này, bác có thể đưa code lên được không?
    Mình đang hỏi mà, chẳng có ai giúp dùm mình cái thuật toán à :(

  4. #4
    Ngày gia nhập
    11 2012
    Bài viết
    5

    Trích dẫn Nguyên bản được gửi bởi philaden22 Xem bài viết
    Mình đang hỏi mà, chẳng có ai giúp dùm mình cái thuật toán à :(
    Ý em nói là nếu có thể, bác có thể post code về cách xây dựng và các hàm thao tác trên cây AVL và BTS, em có đọc qua chỗ này nhưng chưa code thử nên thấy hơi mù mờ .

  5. #5
    Ngày gia nhập
    12 2012
    Bài viết
    1

    void deletek(KnightTree *&t, int k)
    {
    if(t==NULL)
    return;
    if(k==1)
    {
    c[f++]=t->key;
    deleteBST(t,t->key);
    }
    else
    {
    k--;
    deletek(t->pLeftChild, k);
    deletek(t->pRightChild, k);
    }
    }
    void deletekAndAfter(KnightTree *&t,int k)
    {
    for(int i=chieucao(t);i>=k; i--)
    deletek(t, i);
    }


    Cái này mìk làm và test thấy cũng ổn bạn thử xem,
    Bạn làm S9 và S10 chưa vậy có thể chia sẽ với mìk ko, mìk đang bí ở chổ này

  6. #6
    Ngày gia nhập
    12 2012
    Nơi ở
    Sài gòn
    Bài viết
    3

    Mặc định Xóa các node có cùng độ sâu trong cây BST như thế nào ?

    Bài này đã giải quyết xong chưa? Có cần thêm sự trợ giúp ko bạn?

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

  1. Bài tập C Lỗi hàm xóa 1 node trong cây nhị phân tìm kiếm không dùng đệ quy
    Gửi bởi taphoc_c trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 06-06-2013, 11:02 AM
  2. Cấu trúc dữ liệu Cách xóa một Node bất kỳ trong danh sách liên kết đơn?
    Gửi bởi A10932 trong diễn đàn Thắc mắc CTDL & Giải thuật
    Trả lời: 4
    Bài viết cuối: 17-01-2013, 11:44 PM
  3. Xóa hết các NODE tron cây như thế nào?
    Gửi bởi namboygacon trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 29-04-2011, 01:28 PM
  4. Xóa Node Cuối cùng của DSLK như thế nào?
    Gửi bởi congtuit 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: 12-01-2011, 12:20 PM
  5. Xóa Node trong treeview
    Gửi bởi dangwru trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 26-06-2010, 11:30 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