Slide cấu trúc dữ liệu và giải thuật học viện bưu chính viễn thông

140 3 0
Slide cấu trúc dữ liệu và giải thuật  học viện bưu chính viễn thông

Đ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

CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT TS.Phan Thị Hà Học Viện CNBCVT CuuDuongThanCong.com Phan Thị Hà https://fb.com/tailieudientucntt BT kiểm tra kiến thức LT   Viết chƣơng trình tính tổng số nguyên tố ma trận số ngun Biết ct gồm có hàm sau: Void Nhập( int **a, int n); nhập ma trận    int ngt( int so): Xác định so có phải ng tố k? Int Tong( int ** a, int n): Tính tổng số nguyên tố theo yêu cầu đầu   Voi nhap( int a[][10], int n) Int Tong( int a[][10], int n) Int Main() CuuDuongThanCong.com Phan Thị Hà https://fb.com/tailieudientucntt Danh sách nhóm trƣởng      Nhóm 4: Bùi Thành Lộc 01663177081 mrkasa1201@gmail.com  Phan Văn Quang 0988806405 buinhulac110i@gmail.com Nhóm 5: Trần Quang Hoàn 0919963616 Tranhoanhq@gmail.com  Đặng thị Ngọc Trâm0915365653 ngoctramnd2013@gmail.com Nhóm 7: Phan Văn Trung 0943241608 trungphanptit@gmail.com  Phạm Quang Sơn 0964535086 qngon137@gmail.com Nhóm 8: Bùi Văn Cơng 0978776096 conghcl2010@gmail.com  Nguyễn Mạnh Tồn 01677535717 nguyenmanhtoan1501@gmail.com Nhóm 9: Nghuyễn Thanh Tuấn 01685155229 thanh.tuan.1995.0411@gmail.com.vn   Đào Bá Huỳnh 0974021385 boy.sl.pro.1994@gmail.com Nhóm 10: Nguyễn Văn Tiến 0966626212 nvtien94@gmail.com  Trần Lƣơng Bằng 0975453108 CuuDuongThanCong.com Phan Thị Hà https://fb.com/tailieudientucntt Nội dung        Chƣơng 1: Phân tích – Thiết kế giải thuật Chƣơng 2: Đệ Quy Chƣơng 3: Mảng Danh sách liên kết Chƣơng 4: Ngăn xếp Hàng đợi Chƣơng 5: Cấu trúc liệu kiểu Chƣơng 6: Đồ thị Chƣơng 7: Sắp xếp tìm kiếm CuuDuongThanCong.com Phan Thị Hà https://fb.com/tailieudientucntt CHƢƠNG 1: PHÂN TÍCH – THIẾT KẾ GIẢI THUẬT CuuDuongThanCong.com Phan Thị Hà https://fb.com/tailieudientucntt Giải thuật gì?  Giải thuật – hay thuật toán  Thuật toán chuỗi hữu hạn lệnh Mỗi lệnh có ngữ nghĩa rõ ràng thực với lượng hữu hạn tài nguyên khoảng hữu hạn thời gian Tính chất thuật tốn:      Xác định rõ đầu vào, đầu Hữu hạn Chính xác Tổng qt CuuDuongThanCong.com Phan Thị Hà https://fb.com/tailieudientucntt Ngơn ngữ diễn đạt giải thuật     Ngôn ngữ tự nhiện Sơ đồ khối Giả mã Vd CuuDuongThanCong.com Phan Thị Hà https://fb.com/tailieudientucntt Phân tích thuật tốn  Nhiệm vụ: Phân tích – tính tốn thời gian thực chƣơng trình CuuDuongThanCong.com Phan Thị Hà https://fb.com/tailieudientucntt Phân tích thuật toán   Định nghĩa Cho hàm f g hàm thực khơng âm có miền xác định tập số tự nhiên Ta viết f(n)=O(g(n)) (đọc f(n) O lớn g(n)) tồn số C>0 số tự nhiên n0 cho f(n)n0 Nếu thuật toán có thời gian thực T(n)=O(g(n)) ta nói thuật tốn có thời gian thực cấp cao g(n) Đơi ta nói đơn giản thuật tốn có thời gian thực cấp g(n) hay độ phức tạp tính tốn thuật tốn g(n) Ngƣời ta thƣờng nói đến độ phức tạp tính tốn thuật toán trƣờng hợp xấu nhất, trƣờng hợp tốt nhất, độ phức tạp trung bình CuuDuongThanCong.com Phan Thị Hà https://fb.com/tailieudientucntt Các quy tắc để đánh giá thời gian thực thuật toán    Nếu T1(n) = O(f(n)), T2(n) = O(g(n)), Qui tắc tổng: T1(n)+ T2(n) = O(max(f(n),g(n))) Quy tắc nhân: T1(n)T2(n) = O(f(n)g(n)) CuuDuongThanCong.com Phan Thị Hà https://fb.com/tailieudientucntt QUICK SORT  Độ phức tạp tính tốn:    Thời gian thực thuật toán trƣờng hợp xấu khoảng N2/2, có nghĩa O(N2) Trong trƣờng hợp tốt nhất, lần phân chia đƣợc nửa dãy nhau, thời gian thực thuật tốn T(N) đƣợc tính là:  T(N) = 2T(N/2) + N  Khi đó, T(N) ≈ NlogN Trong trƣờng hợp trung bình, thuật tốn có độ phức tạp khoảng 2NlogN = O(NlogN) CuuDuongThanCong.com Phan Thị Hà https://fb.com/tailieudientucntt HEAP SORT Heap sort giải thuật đảm bảo kể trƣờng hợp xấu thời gian thực thuật tốn O(NlogN)  Ý tƣởng giải thuật thực xếp thông qua việc tạo heap, heap nhị phân hồn chỉnh có tính chất khóa nút cha lớn khóa nút Việc thực giải thuật đƣợc chia làm giai đoạn  GĐ1: Tạo heap từ dãy ban đầu Theo định nghĩa heap nút cha lớn nút con=> nút gốc heap phần tử lớn  GĐ2 : Sắp dãy dựa heap tạo đƣợc Do nút gốc nút lớn nên đƣợc chuyển vị trí cuối dãy phần tử cuối đƣợc thay vào gốc heap Khi ta có mới, khơng phải heap, với số nút đƣợc bớt Lại chuyển heap lặp lại trình heap cịn nút Đó phần tử bé dãy đƣợc đặt lên đầu  CuuDuongThanCong.com Phan Thị Hà https://fb.com/tailieudientucntt  Với heap ban đầu có phần tử phần tử dãy, ta lần lƣợt lấy phần tử dãy chèn vào heap tạo đƣợc heap gồm toàn n phần tử CuuDuongThanCong.com Phan Thị Hà https://fb.com/tailieudientucntt CuuDuongThanCong.com Phan Thị Hà https://fb.com/tailieudientucntt CuuDuongThanCong.com Phan Thị Hà https://fb.com/tailieudientucntt Chèn phần tử x vào heap có k phần tử, ta gán phần tử thứ k +1, a[k], x, gọi thủ tục upheap(k)          void upheap(int m){ int x; x=a[m]; while ((a[(m-1)/2]0)){ a[m]=a[(m-1)/2]; m=(m-1)/2; } a[m]=x; }       void insert_heap(int x){ a[m]=x; upheap(m); m++; } CuuDuongThanCong.com Phan Thị Hà https://fb.com/tailieudientucntt  Ta có thủ tục downheap để chỉnh lại heap nút k không thoả mãn định nghĩa heap :            void downheap(int k){ int j, x; x=a[k]; while (k

Ngày đăng: 18/09/2021, 17:13

Hình ảnh liên quan

 Xây dựng dần các thành phần của cấu hình bằng cách thử tất cả các khả năng. Giả sử cần phải tìm  một cấu hình của bài toán x = (x1, x2,  - Slide cấu trúc dữ liệu và giải thuật  học viện bưu chính viễn thông

y.

dựng dần các thành phần của cấu hình bằng cách thử tất cả các khả năng. Giả sử cần phải tìm một cấu hình của bài toán x = (x1, x2, Xem tại trang 28 của tài liệu.
 <Ghi nhận cấu hình>; - Slide cấu trúc dữ liệu và giải thuật  học viện bưu chính viễn thông

lt.

;Ghi nhận cấu hình>; Xem tại trang 31 của tài liệu.
 Khi đó, biểu diễn hình học của đồ thị này nhƣ sau: - Slide cấu trúc dữ liệu và giải thuật  học viện bưu chính viễn thông

hi.

đó, biểu diễn hình học của đồ thị này nhƣ sau: Xem tại trang 100 của tài liệu.

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

Tài liệu liên quan