bài 6 các cấu trúc dữ liệu đặc biệt ngăn xếp, hàng đợi, cây

35 1.7K 1
bài 6 các cấu trúc dữ liệu đặc biệt ngăn xếp, hàng đợi, cây

Đ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

Bài 6: CÁC CẤU TRÚC DỮ LIỆU ĐẶC BIỆT: NGĂN XẾP, HÀNG ĐỢI, CÂY Nhắc lại bài cũ Tìm hiểu các giải thuật sắp xếp cơ bản trên cấu trúc dữ liệu mảng Tìm hiểu các giải thuật tìm kiếm cơ bản trên cấu trúc dữ liệu mảng Đánh giá và so sánh hiệu quả các giải thuật Slide 6Ngăn xếp, Hàng đợi và Cây 2 Tìm hiểu 3 cấu trúc dữ liệu đặc biệt: Ngăn xếp (Stack), Hàng đợi (Queue) và Cây (Tree): Khái niệm Cách cài đặt trong VB.Net Các thao tác cơ bản trên các cấu trúc dữ liệu Mục tiêu bài học hôm nay Slide 6Ngăn xếp, Hàng đợi và Cây 3 Khái niệm ngăn xếp Slide 6Ngăn xếp, Hàng đợi và Cây 4 Ngăn xếp (Stack): Các phần tử được lưu trữ thành một danh sách liên tiếp nhau. Việc thêm hay loại lấy một phần tử ra khỏi danh sách đều được thực hiện ở một đầu gọi là đỉnh của ngăn xếp. Ví dụ: Chồng sách đặt trên bàn Khái niệm ngăn xếp Slide 6Ngăn xếp, Hàng đợi và Cây 5 Stack tuân theo cấu trúc: LIFO (Last In – First Out): Phần tử được đưa vào trong ngăn xếp sau cùng sẽ được lấy ra trước tiên. Phần tử đưa vào trong ngăn xếp trước tiên sẽ được lấy ra sau cùng. Các thao tác trên ngăn xếp Slide 6Ngăn xếp, Hàng đợi và Cây 6 Có một số thao tác với ngăn xếp hay được thực hiện Thêm (push) một phần tử vào đỉnh ngăn xếp Lấy (pop) một phần tử từ đỉnh của ngăn xếp Xem (peek) nội dung của phần tử ở đỉnh của ngăn xếp Ví dụ Slide 6Ngăn xếp, Hàng đợi và Cây 7 Stack S lưu trữ các kí tự Push (S,A) Push (S,B) Push (S,C) Pop (S,C) Push (S,D) Pop (S,D) Pop (S,B) Ngăn xếp được cài đặt trong VB.Net bằng lớp Stack Lớp Stack là cài đặt giao diện Icollection Lớp Stack cung cấp các phương thức cho phép thực hiện các thao tác trên ngăn xếp như: Push(), Pop(), Peek(), Contains(), … Lớp Stack trong VB.Net Slide 6Ngăn xếp, Hàng đợi và Cây 8 Khởi tạo ngăn xếp Slide 6Ngăn xếp, Hàng đợi và Cây 9 3 cách khởi tạo: Cách 1: Tạo 1 ngăn xếp rỗng mặc định chứa được 10 giá trị Ví dụ: Dim myStack As New Stack() Cách 2: Tạo 1 ngăn xếp từ 1 đối tượng collection khác Ví dụ: Dim names() As String = {"Raymond", "David“,"Mike"} Dim nameStack As New Stack(names) Cách 3: Tạo 1 ngăn xếp và chỉ định luôn dung lượng ngăn xếp Ví dụ: Dim myStack As New Stack(25) Các phương thức lớp Stack Slide 6Ngăn xếp, Hàng đợi và Cây 10 Push(): Thêm một phần tử (Item) vào đỉnh ngăn xếp myStack Cú pháp: myStack.Push(Item) Pop(): Lấy phần tử từ đỉnh ngăn xếp myStack Cú pháp: myStack.Pop() -> trả về phần tử ở đỉnh của ngăn xếp Peek(): Xem nội dung phần tử tại đỉnh ngăn xếp myStack Cú pháp: myStack.Peek() [...]... lý các lệnh trong máy tính (ứng dụng trong HĐH, trình biên dịch), hàng đợi các tiến trình chờ được xử lý, Slide 6Ngăn xếp, Hàng đợi và Cây 25 Khái niệm Cây (Tree) Cây là tập hợp các phần tử (Nút) và các cạnh được tổ chức như sau: Mỗi nút của cây mang một thông tin nào đó Cách cạnh dùng để liên kết các nút với nhau Slide 6Ngăn xếp, Hàng đợi và Cây 26 Khái niệm Cây (Tree) Slide 6Ngăn xếp, Hàng. .. myQueue.Peek Slide 6Ngăn xếp, Hàng đợi và Cây 23 Các phương thức trong Hàng đợi Count: Trả về số phần tử có trong hàng đợi Cấu trúc: myQueue.Count Clear: Hủy hàng đợi và tất cả các phần tử có trong hàng đợi myQueue Cấu trúc: myQueue.Clear Slide 6Ngăn xếp, Hàng đợi và Cây 24 Ứng dụng của Hàng đợi Hàng đợi có thể được sử dụng trong một số bài toán: Bài toán ‘sản xuất và tiêu thụ’ (ứng dụng trong các hệ điều... cài đặt các phương pháp duyệt trên Slide 6Ngăn xếp, Hàng đợi và Cây 32 Duyệt cây nhị phân Ví dụ duyệt theo thứ tự giữa: Duyệt cây gốc 16, Thăm 23, Duyệt cây gốc 45 Thứ tự duyệt: 3, 16, 22, 23, 27, 45, 99 Slide 6Ngăn xếp, Hàng đợi và Cây 33 Ứng dụng cây nhị phân Ứng dụng để giải bài toán tìm kiếm kiểu nhị phân và duyệt cây theo thứ tự giữa Slide 6Ngăn xếp, Hàng đợi và Cây 34 Tổng kết Ngăn xếp... kết Ngăn xếp là danh sách các phần tử mà việc thêm vào hay lấy ra các phần tử chỉ thực hiện ở Đỉnh ngăn xếp Hàng đợi là danh sách các phần tử mà việc thêm phần tử được thực hiện ở cuối hàng, việc lấy ra phần tử thực hiện ở đầu hàng Cây là cấu trúccác phần tử đóng vai trò là các Nút của cây Có 3 cách khác nhau để duyệt các phần tử của cây Slide 6Ngăn xếp, Hàng đợi và Cây 35 ... ở đầu hàng đợi Slide 6Ngăn xếp, Hàng đợi và Cây 19 Ví dụdụ hàng đợi Q lưu trữ các kí tự Bổ sung A, B và C vào cuối hàng đợi Lấy phần tử đầu tiên trong hàng đợi Bổ sung D vào cuối hàng đợi Slide 6Ngăn xếp, Hàng đợi và Cây 20 Lớp Hàng đợi trong VB.Net Hàng đợi được cài đặt trong VB.Net bằng lớp Queue Lớp Queue bao gồm các phương thức như: Enqueue(): Bổ sung thêm phần tử vào đuôi của hàng đợi... Slide 6Ngăn xếp, Hàng đợi và Cây 15 Ví dụ ứng dụng Stack Slide 6Ngăn xếp, Hàng đợi và Cây 16 Khái niệm Hàng đợi (Queue) Hàng đợi (Queue): Các phần tử được lưu trữ thành một danh sách liên tiếp nhau Việc thêm 1 phần tử vào danh sách được thực hiện ở một đầu (cuối hàng) Việc lấy ra 1 phần tử của danh sách được thực hiện ở đầu khác (đầu hàng) Ví dụ: Dòng người xếp hàng chờ trong siêu thị Slide 6 – Ngăn. .. đầu của hàng đợi Peek(): Xem nội dung của phần tử tại đầu của hàng đợi Count(): Trả về số phần tử có trong hàng đợi Clear(): Hủy hàng đợi và tất cả các phần tử có trong hàng đợi Slide 6Ngăn xếp, Hàng đợi và Cây 21 Cách khai báo Hàng đợi Có 3 cách: Cách 1: Tạo một hàng đợi rỗng mặc định chứa được 32 phần tử Ví dụ: Dim myQueue As New Queue() Cách 2: Tạo một hàng đợi và chỉ định sẵn dung lượng hàng đợi... là cây con trái và cây con phải Cây nhị phân Slide 6Ngăn xếp, Hàng đợi và Cây Cây nhị phân đầy đủ 30 Cây nhị phân tìm kiếm Là cây nhị phân có tính chất: Khóa của nút con bên trái bao giờ cũng nhỏ hơn khóa của nút cha Khóa của nút con bên phải bao giờ cũng lớn hơn khóa của nút cha Ví dụ Slide 6Ngăn xếp, Hàng đợi và Cây 31 Duyệt cây nhị phân Là thao tác thăm tất cả các nút của cây, mỗi nút đúng... thị Slide 6Ngăn xếp, Hàng đợi và Cây 17 Khái niệm Hàng đợi (Queue) Hàng đợi tuân theo cấu trúc FIFO (First In – First Out): Các phần tử vào trong hàng đợi trước sẽ được lấy ra trước Lấy ra Thêm vào 3 Slide 6Ngăn xếp, Hàng đợi và Cây 2 1 1 18 Các thao tác trên hàng đợi Một số thao tác cơ bản trên queue Bổ sung (enqueue) thêm phần tử vào cuối hàng đợi Lấy (dequeue phần tử ở đầu hàng đợi Xem (peek)... Queue(100) Cách 3: Tạo một ngăn xếp và chỉ định tốc độ gia tăng kích thước Ví dụ: Dim myQueue As New Queue(32, 3R) Slide 6Ngăn xếp, Hàng đợi và Cây 22 Các phương thức trong Hàng đợi Enqueue(): Bổ sung phần tử Item vào đuôi của hàng đợi myQueue Cấu trúc: myQueue.Enqueue(Item) Dequeue(): Lấy phần tử từ đầu của hàng đợi myQueue Cấu trúc: myQueue.Dequeue Peek(): Thăm phần tử tại đầu của hàng đợi myQueue Cấu trúc: . Bài 6: CÁC CẤU TRÚC DỮ LIỆU ĐẶC BIỆT: NGĂN XẾP, HÀNG ĐỢI, CÂY Nhắc lại bài cũ Tìm hiểu các giải thuật sắp xếp cơ bản trên cấu trúc dữ liệu mảng Tìm hiểu các giải thuật tìm kiếm cơ bản trên cấu. niệm Cách cài đặt trong VB.Net Các thao tác cơ bản trên các cấu trúc dữ liệu Mục tiêu bài học hôm nay Slide 6 – Ngăn xếp, Hàng đợi và Cây 3 Khái niệm ngăn xếp Slide 6 – Ngăn xếp, Hàng đợi và Cây 4 Ngăn. trên cấu trúc dữ liệu mảng Đánh giá và so sánh hiệu quả các giải thuật Slide 6 – Ngăn xếp, Hàng đợi và Cây 2 Tìm hiểu 3 cấu trúc dữ liệu đặc biệt: Ngăn xếp (Stack), Hàng đợi (Queue) và Cây (Tree): Khái

Ngày đăng: 23/05/2014, 16:49

Từ khóa liên quan

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

Tài liệu liên quan