Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 102 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Tiêu đề
Cấu Trúc Dữ Liệu Và Giải Thuật Nâng Cao
Định dạng
Số trang
102
Dung lượng
11,49 MB
Nội dung
Bài 1: Cây Cấu trúc liệu giải thuật Nội dung Các khái niệm cơbản Duyệt Cây nhị phân Cây tìm kiếm nhịphân Giới thiệu Ví dụ: tập hợp thành viên dòng họ với quan hệ cha –con Trong ngành cơng nghệ thơng tin, mơ hình trừu tượng cấu trúc phâncấp Một bao gồm đỉnh với quan hệcha – Ứng dụng Computers”R”Us Sales US Sơ đồ tổ chức Europe Hệ thống file Các môi trường lậptrình Manufacturing International Asia Laptops Canada Desktops R&D Định nghĩa Tốn học: thơng qua đồ thị định hướng Đệ quy Đồ thị địnhhướng Đồ thị mơ hình tốn học biểu diễn tập đối tượng có quan hệ với theo cách nàođó Mộtđồ thị định hướng G= (V,E) Gồm tập hữu hạn Vcác đỉnh tập Ecác cung Mỗi cung cặp có thứ tự đỉnh khác (u,v) (u,v) (v,u) hai cung khác Cây & Đồ thịđịnh hướng Cây đồ thị định hướng thỏa mãn tính chất sau Có đỉnh đặc biệt gọi gốc Mỗi đỉnh Cbất kỳ gốc, tồn đỉnh P có cung từ Pđến C Đỉnh Pđược gọi cha đỉnh C, Clà củaP Có đường từ gốc tới đỉnh A gốc B C mức D mức đỉnh E F G mức Các thuật ngữ (1/2) Trong có đường từ đỉnh A tới đỉnh B A gọi tổ tiên B, hay B cháu củaA Các đỉnh cha xem anh em Các đỉnh gọi Một đỉnh A với tất cháu lập thành gốc A Cây gọi cho Độ cao đỉnh độ dài đường dài từ đỉnh tới Độ cao Độ cao độ cao gốc Độ sâu đỉnh độ dài đường từ gốc tới đỉnhđó Độ sâu gốc A B E C F D G Các thuật ngữ (2/2) Cây CTDLphân cấp: Các đỉnh phân thành mức A Gốc mức Mức đỉnh = mức đỉnh cha +1 Cây sắp: đỉnh concủa đỉnhđược sếp theo thứ thứ tự xác định B E C F D G Ví dụ: Cây biểu thức * + / KDLTT Tree Sử dụng position để trừu tượng hóa cácđỉnh Phương thức chung: int size() bool isEmpty() objectIterator elements() positionIterator positions() Phương thức truy cập: position root() position parent(p) positionIterator children(p) 10 Phương thức truy vấn: bool isInternal(p) // đỉnh trong? boolisExternal(p) // lá? bool isRoot(p) // gốc? Phương thức cậpnhật: swapElements(p, q) object replaceElement(p,o) Có thể định nghĩathêm phương thức cậpnhật tùy theo CTDL đượcsử dụng để cài đặt KDLTT