CHUYÊN đề cấu TRÚC HEAP

10 356 0
CHUYÊN đề cấu TRÚC HEAP

Đang tải... (xem toàn văn)

Thông tin tài liệu

CẤU TRÚC HEAP I GIỚI THIỆU Khái niệm Heap cấu trúc liệu đặc biệt quan trọng, giúp ta giải nhiều toán thời gian cho phép Độ phức tạp thông thường làm việc với heap O(logN) Heap cân thỏa mãn tính chất heap: B nút A khóa(A)≥khóa(B) Hệ quả: khóa lớn nằm nút gốc,do đống thường gọi heap-max Nếu phép so sánh bị đảo ngược khiến cho khóa nhỏ nằm nút gốc đống gọi heap-min Không có hạn chế số lượng nút nút đống thông thường nút có không hai nút Cấu trúc heap cách thực kiểu liệu trừu tượng mang tên hàng đợi ưu tiên có vai trò quan trọng nhiều thuật toán cho đồ thị chẳng hạn thuật toán Dijkstra, hay thuật toán xếpheapsort Các thao tác thường gặp heap Mặc dù mô tả heap biểu diễn mảng Nút nút i 2*i 2*i+1 Do Heap cân nên độ cao nút ... Prim với cấu trúc Heap thuật toán với độ phức tạp O((m+n)logn) III KẾT LUẬN Có thể thấy cấu trúc liệu heap cấu trúc liệu quan trọng có tính ứng dụng cao, kết hợp thuật toán với cấu trúc Heap giúp... vị trí v Heap cách gán Heap[ v] := Heap[ nHeap] tiến hành chỉnh lại Heap Function Pop(v : LongInt) : LongInt; begin Pop := Heap[ v]; // Lấy phần tử vị trí v khỏi Heap Heap[v] := Heap[ nHeap]; //... phần tử vào Heap cách thêm nút vào cuối Heap tiến hành UpHeap từ Procedure Push(x : LongInt); begin Inc(nHeap); // Tăng số phần tử Heap Heap[nHeap] := x; // Thêm x vào Heap UpHeap(nHeap); end;

Ngày đăng: 03/01/2016, 21:34

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan