• Bài giảng Cấu trúc dữ liệu và thuật toán: List, stack và queueBài giảng Cấu trúc dữ liệu và thuật toán: List, stack và queue

    Các khai báo cần thiết là typedef . ElementType; //kiểu phần tử trong danh sách typedef struct Node { ElementType Element;//Chứa nội dung của phần tử Node* Next; /*con trỏ chỉđến phần tử kế tiếp trong danh sách*/ }; typedef Node* Position; // Kiểu vị trí typedef Position List;

    pdf29 trang | Chia sẻ: haohao89 | Ngày: 29/07/2013 | Lượt xem: 2894 | Lượt tải: 1

  • Bài giảng Cấu trúc dữ liệu và thuật toán: Tìm kiếm cây đỏ đen và các cây cân bằng động khácBài giảng Cấu trúc dữ liệu và thuật toán: Tìm kiếm cây đỏ đen và các cây cân bằng động khác

    Cây Đỏ -Đen (Red-Black) • Một thuật toán phức tạp • Cho O(log n) với Thêm(addition), Xóa(deletion) và Tìm(search) • Các kỹ thuật phần mềm • Biết về thuật toán • Biết khi nào có thể dùng chúng • Biết về hiệu suất • Biết nơi có thể áp dụng • Đủthông minh để dùng cho các máy phát minh. • Họ sử dụng lại bộ mã • Vì thế họ cần nhiều thời gian h...

    pdf28 trang | Chia sẻ: haohao89 | Ngày: 29/07/2013 | Lượt xem: 3387 | Lượt tải: 2

  • Bài giảng Cấu trúc dữ liệu và thuật toán: Tìm kiếmBài giảng Cấu trúc dữ liệu và thuật toán: Tìm kiếm

    Cây nhị phân O(log n) nếu nó là cây cân bằng • Cây nhịphân đơn giản tốt cho các mảng tĩnh • Tần xuất thấp (preferably zero) cho insertions/deletions Nhưng bộ dữ liệu của tôi có thể thay đổi! • Bộ dữ liệu động • Cần thiết phải tạo ra cây cân bằng • Đầu tiên, kiểm tra một vài hoạt động của cây cơ bản. • Hữu ích trong một vài cách!

    pdf37 trang | Chia sẻ: haohao89 | Ngày: 29/07/2013 | Lượt xem: 1972 | Lượt tải: 1

  • Bài giảng Cấu trúc dữ liệu và thuật giải: Tìm kiếmBài giảng Cấu trúc dữ liệu và thuật giải: Tìm kiếm

    • Tìm kiếm tuần tự • Thời gian tồi nhất là n • Chúng tôi có Độ phức tạp O(n) • Ứng dụng cho mảng (không sắp xếp) và danh sách liên kết • Tìm kiếm nhị phân • Ứng dụng cho dãy đã sắp xếp • Thời gian thực hiện thuật toán log2n • Độ phức tạp tính toán O(log n)

    pdf16 trang | Chia sẻ: haohao89 | Ngày: 29/07/2013 | Lượt xem: 2100 | Lượt tải: 1

  • Bài giảng Cấu trúc dữ liệu và thuật toán: StacksBài giảng Cấu trúc dữ liệu và thuật toán: Stacks

    Stacks là một dạng danh sách (mảng)đặc biệt vớingữ cảnh LIFO • Hai phép toán • int push( Stack s, void *item ); - Bổ xung một phần tử vào đỉnh của stack • void *pop( Stack s ); - Loại bỏ một phần tử từđỉnh của stack • Tương tựnhư một máy xếp đĩa • Các phép toán khác int IsEmpty( Stack s ); /* Return TRUE if empty */ void *Top( Stack s ); ...

    pdf11 trang | Chia sẻ: haohao89 | Ngày: 29/07/2013 | Lượt xem: 2256 | Lượt tải: 1

  • Bài giảng Cấu trúc dữ liệu và thuật toánBài giảng Cấu trúc dữ liệu và thuật toán

    Mảng (Arrays) • Đơn giản, • Nhanhnhưng • Phải chỉ định một kích thước cụ thể tại thời điểm xây dựng mảng • Tuân thủ Luật Đầy (Murphy) • Xây dựng một mảng với không gian cho nbiến • n = Ước lượng chính chắn của bạn về số lượng biến sẽ sử dụng lớn nhất • Ngày mai, bạn có thể cần n+1 biến • Liệu có thể có một hệ thống mềm dẻo hơn?

    pdf18 trang | Chia sẻ: haohao89 | Ngày: 29/07/2013 | Lượt xem: 2207 | Lượt tải: 1

  • Bài giảng Cấu trúc dữ liệu và thuật giảiBài giảng Cấu trúc dữ liệu và thuật giải

    Quicksort • Sử dụng tốt cho hầu hết các hệ thống, ( kể cảtrườnghợp hệ thống có thời gian thực hiện không bị ràng buộc) • Heap Sort • Chậm hơn quick sort, nhưng bảo đảm O(n log n) • Dùng cho các hệ thống thời gian thực (những hệ thống bị phê phán về thời gian thực hiện)

    pdf28 trang | Chia sẻ: haohao89 | Ngày: 29/07/2013 | Lượt xem: 1973 | Lượt tải: 1

  • Bài giảng Tìm kiếm và sắp xếpBài giảng Tìm kiếm và sắp xếp

    Tìm kiếm tuần tự (tìm kiếm tuyến tính) – Thời gian tồi nhất để thực hiện giải thuật:n x constant – Tỷ suất tăng của giải thuật là n – Độ phức tạp thuật toán O(n)

    pdf81 trang | Chia sẻ: haohao89 | Ngày: 29/07/2013 | Lượt xem: 2024 | Lượt tải: 1

  • Bài giảng Phân tích giải thuậtBài giảng Phân tích giải thuật

    Cần phải phân tích,đánh giá giải thuật để:  Lựa chọn một giải thuật tốt nhất trong các giải thuật để cài đặt chương trình giải quyết bài toán đặt ra.  Cải tiến giải thuật hiện có để được một giải thuật tốt hơn.

    pdf52 trang | Chia sẻ: haohao89 | Ngày: 29/07/2013 | Lượt xem: 2202 | Lượt tải: 1

  • Bài giảng Khái niệm kiểu dữ liệu, cấu trúc dữ liệuBài giảng Khái niệm kiểu dữ liệu, cấu trúc dữ liệu

    Kiểu dữ liệu T được xác định bởi một bộ với:  V: tập các giá trị hợp lệ mà một đối tượng kiểu T cóthể lưu trữ.  O: tập các thao tác xử lý có thể thi hành trên đối tượng kiểu T. Ví dụ: kiểu dữ liệu số nguyên= vớiVi={-32768. 32767}; O={+, -, *, /, %}. Như vậy, muốn sử dụng một KDL cần nắm vững cả nội dung DL đươc phép lưu trữ và ...

    pdf70 trang | Chia sẻ: haohao89 | Ngày: 29/07/2013 | Lượt xem: 1885 | Lượt tải: 1