Lec7 data structures

58 3 0
Lec7  data structures

Đ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

Chương 7: Ứng dụng cấu trúc liệu Nội dung Nhắc lại cấu trúc liệu Giới thiệu thư viện STL cách sử dụng cấu trúc Một số ví dụ ứng dụng Nhắc lại CTDL Các cấu trúc liệu • Mảng danh sách liên kết Các cấu trúc liệu • Mảng danh sách liên kết Loại CTDL Danh sách liên kết đơn Danh sách liên kết kép Mảng Mảng hai đầu Chèn/xóa phần tử Truy cập phần tử thứ k Đầu Thứ k O(n) (1) (1) (1) (n) (1) * Cuối (1) (n) O(n) (1) (1) * Giả định có trỏ tham chiếu đến phần tử Ngăn xếp (stack) Tuân theo thứ tự last-in–first-out (LIFO) Hàng đợi (queue) • Tuân theo thứ tự first-in–first-out (FIFO) • Hàng đợi hai đầu (Deque): cho phép chèn xóa từ hai phía Giới thiệu thư viện STL cách sử dụng cấu trúc liệu Giới thiệu thư viện STL • STL (Standard Template Library) thư viện chuẩn C++, xây dựng sẵn • Cài đặt cấu trúc liệu thuật tốn thơng dụng • Bao gồm lớp hàm khuôn mẫu, cho phép làm việc với liệu tổng qt • Các thành phần chính: • Các lớp liệu bản: string, complex • Xuất nhập (IO) • Các lớp chứa (containers): pair, vector, list, deque, stack, map, set,… • Duyệt phần tử lớp chứa (iterators) • Một số thuật tốn thơng dụng: tìm kiếm, so sánh, xếp,… • Quản lý nhớ, trỏ • Xử lý ngoại lệ (exception handling) 10 STL Unsorted Associative Containers (C++11) • unordered_[multi]set unordered_[multi]map • Tương tự cấu trúc container liên kết có thứ tự, ngoại trừ: • Các phần tử khơng xếp • Được cài đặt bảng băm (hash tables), độ phức tạp O(1) với thao tác insert / lookup / remove • Có iterators để duyệt phần tử container không theo thứ tự đặc biệt 44 pair template struct pair; • pair chứa hai phần tử thuộc hai kiểu khác • Truy cập phần tử thứ first • Truy cập phần tử thứ hai second pair PAIR1; PAIR1.first = 100; PAIR1.second = 'G'; cout

Ngày đăng: 14/10/2022, 00:45

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

Tài liệu liên quan