TAILIEUCHUNG - Cấu trúc dữ liệu và giải thuật assignment 01 - Tree set

Trong bài tập lớn này sinh viên sẽ hiện thực cấu trúc dữ liệu tập hợp TreeSet1 . Cụ thể, cấu trúc dữ liệu tập hợp này sẽ được hiện thực dựa trên cây AVL đã được học trên lớp. Việc hiện thực này phải đảm bảo thời gian thực thi trong trường hợp xấu nhất (worst case) là log(n) cho các phép toán cơ bản như thêm phần từ (add), xóa phần tử (remove), và các phép toán tìm kiếm. Ở bài tập lớn này, dữ liệu kiểm tra sẽ có kích thước rất lớn, do đó, sinh viên cần lưu ý tối ưu hóa mã nguồn để đảm bảo thời gian thực thi. | Vietnam National University – HCMC Hochiminh University of Technology Faculty of Computer Science and Engineering Đại Học Quốc Gia Trường Đại học Bách Khoa Khoa KH&KT Máy Tính CẤU TRÚC DỮ LIỆU & GIẢI THUẬT ASSIGNMENT 02 - Tree set 1 Giới thiệu Trong bài tập lớn này sinh viên sẽ hiện thực cấu trúc dữ liệu tập hợp TreeSet1 . Cụ thể, cấu trúc dữ liệu tập hợp này sẽ được hiện thực dựa trên cây AVL đã được học trên lớp. Việc hiện thực này phải đảm bảo thời gian thực thi trong trường hợp xấu nhất (worst case) là log(n) cho các phép toán cơ bản như thêm phần từ (add), xóa phần tử (remove), và các phép toán tìm kiếm. Ở bài tập lớn này, dữ liệu kiểm tra sẽ có kích thước rất lớn, do đó, sinh viên cần lưu ý tối ưu hóa mã nguồn để đảm bảo thời gian thực thi. 2 Hiện thực Phần hiện thực trong bài tập lớn này được tổ chức trong file và 2 lớp: AVLNode and TreeSet và được chia thành bốn file riêng biệt: , , và . Cụ thể như sau: File này chứa phần khai báo và định nghĩa cấu trúc dữ liệu AVLNode để hiện thực cấu trúc dữ liệu cây AVL. 1 class AVLNode { 2 public : 3 int key ; // data 4 AVLNode∗ l e f t ; // left child 5 AVLNode∗ r i g h t ; // right child 6 int b a l a n c e ; // balance factor 7 8 AVLNode( int key ) { 9 this−>key = key ; 10 l e f t = r i g h t = NULL; 11 balance = 0; 12 } 13 AVLNode( int key , int b a l a n c e ) { 14 this−>key = key ; 15 this−>b a l a n c e = b a l a n c e ; 16 l e f t = r i g h t = NULL; 17 } 18 } ; File này chứa phần khai báo các hàm (method) cho lớp TreeSet. Phần prototype của lớp này là dựa trên hiện thực Java của cấu trúc dữ liệu TreeSet. 1 2 3 4 5 6 7 8 9 class T r e e S e t { private : AVLNode ∗ r o o t ; int count ; protected : void c l e a r R e c (AVLNode∗ r o o t ) ; 1 1 10 11 public : 12 TreeSet ( ) ; 13 ~TreeSet ( ) ; 14 void c l e a r ( ) ; 15 // print out the set in .

TỪ KHÓA LIÊN QUAN
TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.