1. Trang chủ
  2. » Luận Văn - Báo Cáo

Cấu trúc đống và ứng dụng

30 178 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 30
Dung lượng 881,89 KB

Nội dung

http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Cấu trúc đống ứng dụng Báo cáo nghiên cứu khoa học Mục Lục OBO OK S CO M Phần 1:MỞ ĐẦU I Lí chọn đề tài Phần 2:Nội Dung Chương : Cơ sở lý thuyết nhị phân I Định nghĩa ví dụ Định nghĩa 2.Ví dụ II Cây nhị phân Định nghĩa tính chất Biểu diễn nhị phân Chương Cấu trúc đống I Định nghĩa 1.Định nghĩa Heap có tính chất sau : Ví dụ : 4) Thuật giải 10 II Các phép tốn Heap 10 Thêm phần tử vào Heap 10 Xố phần tử nhỏ khỏi Heap 12 KIL Chương 3: Các ứng dụng Đống 13 I Ứng dụng Heap giải thuật Heap_sort 13 1.Giải thuật 13 II.Ứng dụng đống tổ chức hàng đợi có ưu tiên 19 1.Ứng dụng đống giải thuật Hufman 19 2.Ứng dụng đống giải thuật xây dựng bao trùm nhỏ đồ thị liên thơng : 23 Nguyễn Thị Ngọc Anh_lớp K54A-CNTT http://kilobooks.com Báo cáo nghiên cứu khoa học THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Cấu trúc đống ứng dụng Chương 4: Mơ cài đặt cấu trúc đống ứng dụng 26 I.Mơ thuật tốn 26 KIL OBO OKS CO M 1.Khái niệm chung mơ thuật tốn 26 2.Mục đích mơ thuật tốn 26 3.Cấu trúc tổng quan mơ thuật tốn: 27 Quy trình thiết kế nhiệm vụ mơ thuật tốn 27 Nguyễn Thị Ngọc Anh_lớp K54A-CNTT http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Cấu trúc đống ứng dụng Báo cáo nghiên cứu khoa học KIL OBO OKS CO M Phần 1:MỞ ĐẦU I Lí chọn đề tài Hiện nay, cơng nghệ thơng tin với tốc độ phát triển nhanh Các nhà khoa học khẳng định chưa có ngành khoa học - cơng nghệ lại có nhiều ứng dụng cơng nghệ thơng tin Việc ứng dụng cơng nghệ thơng tin vào giáo dục trở thành mối ưu tiên hàng đầu nhiều quốc gia có Việt Nam Trong q trình học giải thuật nói chung mơn cấu trúc liệu nói riêng, rút nhận định chung là: nhiều giải thuật phức tạp trừu tượng, khó hiểu, khó hình dung vấn đề Do ln mong muốn q trình học giải thuật nên có mơ trực quan để tiếp thu giải thuật cách dễ dàng Tuy nhiên, việc học tốt giải thuật có nhiều thận lợi dó giúp cho q trình tư giải thật tốt hơn, phát vấn đề nhanh hơn, đặc biệt giúp cho việc học mơn học khác có tính logic cao thuận lợi Nhưng để học tốt giải thuật khơng dễ dàng với nhiều người Vậy để giúp người học tiếp thu cách dễ dàng giải thuật phải xây dựng phần mền mơ thuật tốn Cấu trúc đống có nhiều ứng vào giải thuật nhưgiả thuật xếp đống, vào hàng đợi ưu tiên Nghiên cứu cấu trúc đống để hiểu thêm phục vụ việc giải tốn Phần 2:Nội Dung Chương : Cơ sở lý thuyết nhị phân I Định nghĩa ví dụ Nguyễn Thị Ngọc Anh_lớp K54A-CNTT http://kilobooks.com Báo cáo nghiên cứu khoa học THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Cấu trúc đống ứng dụng Định nghĩa Cây cấu trúc phi tuyến tính Một (tree) tập hữu hạn nút KIL OBO OKS CO M có nút đặc biệt gọi nút gốc (root), nút có mối quan hệ phân cấp gọi quan hệ “cha - con” Có thể định nghĩa cách đệ quy sau: Một nút Nút gốc Nếu T1, T2, , Tn cây, với n1, n2, nk gốc, n nút n có quan hệ cha - với n1, n2, nk lúc T tạo lập, với n gốc n gọi cha n1, n2, nk ; ngược lại n1, n2, nk gọi n Các T1, T2, , Tn gọi (substrees) n Ta quy ước : Một khơng có nút gọi rỗng (null tree) Có nhiều đối tượng có cấu trúc 2.Ví dụ a) Mục lục sách, chương sách, có cấu trúc b) Biểu thhức số học x + y * (z – t) + u/v, ta biểu diến dạng hình Nguyễn Thị Ngọc Anh_lớp K54A-CNTT http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Cấu trúc đống ứng dụng Báo cáo nghiên cứu khoa học II Cây nhị phân KIL OBO OKS CO M Hình 1 Định nghĩa tính chất Cây nhị phân dạng quan trọng cấu trúc Cây nhị phân có đặc điểm là: Mọi nút có tối đa Đối với nút người ta phân biệt trái (left subtree) phải (right subtree) Như nhị phân có thứ tự Ví dụ : Cây hình nhị phân với tốn tử ứng với gốc, tốn hạng ứng với trái, tốn hạng ứng với phải Các nhị phân sau khác nhau, coi khơng có thứ tự chúng Biểu diễn nhị phân a) Lưu trữ Nếu có nhị phân đầy đủ, ta dễ dàng đánh số cho nút theo thứ tự từ mức trở lên, hết mức đến mức khác từ trái sang phải nút mức Ví dụ : Với hình f) đánh số sau : Nguyễn Thị Ngọc Anh_lớp K54A-CNTT http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Cấu trúc đống ứng dụng KIL OBO OKS CO M Báo cáo nghiên cứu khoa học Hình Ta thấy quy luật đệ quy trái sau : Con nút thứ i nút thứ 2i 2i + Cha nút thứ j j/2 Nếu ta lưu trữ nhị phân đầy đủ vectơ V, theo ngun tắc: nút thứ i lưu trữ V[i] Đó cách lưu trữ nhị phân Với cách lưu trữ biết địa nút cha tính địa nút ngược lại Như với đầy đủ nêu hình ảnh lưu trữ sau : Tất nhiên với nhị phân hồn chỉnh, mà nút mức cuối đạt phía trái (để việc đánh số nút liên tục ) cách lưu trữ thích hợp Còn với nhị phân dạng khác cách lưu trữ gây lãng phí có nhiều phần tử nhớ bị bỏ trống(ứng với rỗng) Chẳng hạn lệch trái phải lưu trữ véc tơ Nguyễn Thị Ngọc Anh_lớp K54A-CNTT http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Cấu trúc đống ứng dụng Báo cáo nghiên cứu khoa học Ngồi ln biến động nghĩa có phép bổ sung, loại bỏ nút thường xun tác động, cách lưu trữ tất khơng tránh nhược KIL OBO OKS CO M điểm nêu Cách lưu trữ móc nối sau vừa khắc phục nhược điểm này, vừa phản ánh dạng tự nhiên b) Lưu trữ móc nối Trong cách lưu trữ này, nút ứng với phần tử nhớ có quy cách sau : LPTR Trong : INFO RPTR - Trường INFO ứng với thơng tin (dữ liệu) nút - Trường LPTR ứng với trỏ, trỏ tới trái nút - Trường RPTR ứng với trỏ, trỏ tới phải nút Ví dụ : Cây nhị phân Hình Nguyễn Thị Ngọc Anh_lớp K54A-CNTT http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Cấu trúc đống ứng dụng Báo cáo nghiên cứu khoa học KIL OBO OKS CO M Cây nhị phân hình có dạng lưu trữ móc nối hình sau : Hình Để truy nhập vào nút cần có trỏ T, trỏ tới nút gốc Người ta quy ước : Nếu nhị phân rỗng T = Null Với cách biểu diễn từ nút cha truy nhập trực tiếp vào nút con, ngược lại khơng làm Chương Cấu trúc đống I Định nghĩa 1.Định nghĩa Đống (Heap) nhị phân gắn nhãn với nhãn giá trị thuộc tập hợp thứ tự tuyến tính, cho điều kiện sau thực hiện: 1.Tất mức đầy, trừ mức thấp thiếu số đỉnh 2.Ở mức thấp nhất, tất xuất liên tiếp từ bên trái Giá trị đỉnh khơng lớn giá trị đỉnh Nguyễn Thị Ngọc Anh_lớp K54A-CNTT http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Cấu trúc đống ứng dụng Báo cáo nghiên cứu khoa học Với điều kiện khơng đảm bảo Heap nhị phân tìm kiếm KIL OBO OKS CO M Heap có tính chất sau : Tính chất : Nếu ap , a2 , , aq Heap cắt bỏ số phần tử hai đầu Heap, dãy lại Heap Tính chất : Mọi dãy ap , a2 , , aq, dãy aj, aj+1,…, ar tạo thành Heap với j=(q div +1) Ví dụ : Đống lưu máy mảng a[1 n], với gốc phần tử thứ nhất, bên trái đỉnh a[i] a[2*i] bên phải a[2*i+1] (với 2*i[...]... đổi chỗ cây khơng còn là đống thực hiện phép vun đống ta được đống mới Hình 15 Tiếp tục thực hiện q trình trên ta được một mảng sắp theo thứ tự giảm là 18 Nguyễn Thị Ngọc Anh_lớp K54A-CNTT http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Cấu trúc đống và ứng dụng KIL OBO OKS CO M Báo cáo nghiên cứu khoa học Hình 16 II .Ứng dụng đống tổ chức hàng đợi có ưu tiên 1 .Ứng dụng của đống trong giải thuật Hufman... http://kilobooks.com Báo cáo nghiên cứu khoa học vun lại đống Sau khi tất cả các đỉnh THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Cấu trúc đống và ứng dụng ) đã duyệt qua bằng cách ấy thì KIL OBO OKS CO M thì đỉnh u đã được duyệt xong và được đưa vào cây Chương 4: Mơ phỏng và cài đặt cấu trúc đống và ứng dụng I.Mơ phỏng thuật tốn 1.Khái niệm chung về mơ phỏng thuật tốn a)Khái niệm về thuật tốn Thật tốn được hiểu là... sẽ trao đổi đỉnh a với đỉnh b và đi xuống đỉnh b Q trình đi sẽ dừng lại cùng lắm là khi ta đạt tới một lá của cây Có thê thấy q trình diễn ra ở hình 7b và 7c (a) 12 Nguyễn Thị Ngọc Anh_lớp K54A-CNTT http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Cấu trúc đống và ứng dụng KIL OBO OKS CO M Báo cáo nghiên cứu khoa học (b) (c) Hình 7 Chương 3: Các ứng dụng của Đống I Ứng dụng của Heap trong giải thuật... tương ứng là W[1 n] + Tạo hàng đợi bằng đống: Ta tạo một đống trên cơ sở sắp xếp lại các chỉ số của A và W Ta lưu trữ đống dưới dạng mảng, kí hiệu nó là Heap[1 n] Trước hết đưa chỉ số của các chữ cái theo thứ tự ban đầu vào mảng Heap[1 n] với Heap[i]=i với mọi i=1 n 22 Nguyễn Thị Ngọc Anh_lớp K54A-CNTT http://kilobooks.com Báo cáo nghiên cứu khoa học THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Cấu trúc đống và ứng dụng. ..http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Cấu trúc đống và ứng dụng KIL OBO OKS CO M Báo cáo nghiên cứu khoa học Hình 6a Hình 6b 11 Nguyễn Thị Ngọc Anh_lớp K54A-CNTT http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Cấu trúc đống và ứng dụng Báo cáo nghiên cứu khoa học Hình 6c KIL OBO OKS CO M 2 Xố một phần tử nhỏ nhất khỏi Heap Sét một Min... Ứng dụng của Heap trong giải thuật Heap_sort 1.Giải thuật HeapSort là một giải thuật dựa vào cấu trúc đống và để sắp xếp theo thứ tự giảm dần của các giá trị khố là số Giải thuật Heapsort trải qua 2 giai đoạn : 13 Nguyễn Thị Ngọc Anh_lớp K54A-CNTT http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Cấu trúc đống và ứng dụng Báo cáo nghiên cứu khoa học Giai đoạn 1 :Hiệu chỉnh dãy số ban đầu thành heap; KIL... TRỰC TUYẾN Cấu trúc đống và ứng dụng - Trong giải thuật tham lam giải bài tốn xây dựng cây mã tiền tố tối ưu của Huffman, ở mỗi bước ta chọn hai chữ cái có tần số thấp nhất để mã hóa bằng từ 1 n • KIL OBO OKS CO M mã dài nhất Giả sử có tập A gồm n ký hiệu và hàm trọng số tương ứng W(i),i = Khởi tạo: Tạo một rừng gồm n cây, mỗi cây chỉ có một nút gốc, mỗi nút gốc tương ứng với một kí tự và có trọng... chỗ cho khố ở đỉnh đống với khố ở đáy đống Cho đến khi cây chỉ còn một nút thì các khố đã được sắp xếp vào đúng vị trí của nó Cụ thể với Heap ở trên 16 Nguyễn Thị Ngọc Anh_lớp K54A-CNTT http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Cấu trúc đống và ứng dụng Báo cáo nghiên cứu khoa học Từ heap ở trên, hốn đổi giá trị của a[1] =2 với a[10] = 12 ta đã có a[10] = 2 là giá trị nhỏ nhất vào đúng vị trí Cắt... tốn học Vojtěch Jarník và do Prim hồn thiện vào năm 1957 c)Mơ tả Gọi T là cây bao trùm sẽ xây dựng 1.Chọn một đỉnh s bất kỳ của G cho vào cây T Khi đó T là một cây chỉ có một đỉnh và chưa có cạnh nào 2.Nếu T đã gồm tất cả các đỉnh của G thì T là cây bao trùm cần tìm Kết thúc 24 Nguyễn Thị Ngọc Anh_lớp K54A-CNTT http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Cấu trúc đống và ứng dụng Báo cáo nghiên cứu... Báo cáo nghiên cứu khoa học THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Cấu trúc đống và ứng dụng Xét nút 5 ta thấy a[5] chỉ có một con trái và giá trị khố tương ứng của nó lớn hơn con trái của nó nên ta đổi chỗ hai nút này cho nhau và do con trái của a[5] là KIL OBO OKS CO M a[10] là một nút lá nên việc đẩy xuống của a[5] là kết thúc Hình 9 Tiếp theo xét nút a[4] và a[3] đã đúng vị trí nên khơng phải thực hiện sự hốn ... đỉnh bổ sung có số m ta đặt Huff[i]=-m, Huff[j]=m d)Thời gian thực hiện: -Việc tạo hàng đợi ưu tiên dạng đống cực tiểu O(n) thời gian -Vòng lặp for gồm n-1 bước - Mỗi bước vòng for thực việc xuất... K54A-CNTT http:/ /kilobooks. com THƯ VIỆN ĐIỆN TỬ TRỰC TUYẾN Cấu trúc đống ứng dụng KIL OBO OKS CO M Báo cáo nghiên cứu khoa học Hình 6a Hình 6b 11 Nguyễn Thị Ngọc Anh_lớp K54A-CNTT http:/ /kilobooks. com... RPTR - Trường INFO ứng với thơng tin (dữ liệu) nút - Trường LPTR ứng với trỏ, trỏ tới trái nút - Trường RPTR ứng với trỏ, trỏ tới phải nút Ví dụ : Cây nhị phân Hình Nguyễn Thị Ngọc Anh_lớp K54A-CNTT

Ngày đăng: 02/12/2015, 12:27

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w