1. Trang chủ
  2. » Kinh Doanh - Tiếp Thị

Bài tập lớn môn học CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT

21 13 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 21
Dung lượng 424,08 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Phân tích bài toán 1.Yêu cầu của bài toán 2.Các lớp, các thuộc tính, các phương thức của lớp và chức năng của chúng: IV.. Phân tích thời gian chạy của từng phương thức có trong các lớp V

Trang 1

TRƯỜNG ĐẠI HỌC GIAO THÔNG VÂN TẢIKHOA CÔNG NGHỆ THÔNG TIN -o0o -

Bài tập lớn môn học CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT

Giảng viên hướng dẫn: ThS.Phạm Xuân Tích

Nhóm thực hiện: Nhóm… Lớp CNTT6-K61

Danh sách sinh viên tham gia:

Hà Nội, tháng 12 năm 2021

Trang 2

Nội dung

I Đề bài

II Phân tích bài toán

1.Yêu cầu của bài toán

2.Các lớp, các thuộc tính, các phương thức của lớp và chức năng của chúng:

IV Phân tích thời gian chạy của từng phương thức có trong các lớp

V Tài liệu tham khảo

Trang 3

I Đề bài

1 Xây dựng lớp Queue bằng 2 cách: Mảng và danh sách liên kết

2 Mô phỏng hoạt động của Queue bằng cách xây dựng chương trình sau: Bạn được cho một hàng đợi rỗng và một số truy vấn với hàng đợi này Các truy vấn là những truy vấn cơ bản của hàng đợi: Đẩy vào, lấy ra, in ra phần tử ở đỉnh, các truy vấn có dạng:

⦁ 1 n: Đẩy số nguyên n vào hàng đợi

⦁ 2 Loại bỏ phần tử ở đầu hàng đợi (nếu hàng đợi rỗng thì thao tác này

không có hiệu lực)

⦁ 3 In ra phần tử ở đỉnh hàng đợi (không lấy ra khỏi hàng đợi, nếu hàng

đợi rỗng thì in ra Empty!)

Dữ liệu vào

⦁ Dòng đầu chứa số nguyên dương TT là số truy vấn;

⦁ TT dòng tiếp theo, mỗi dòng chứa một truy vấn Giới hạn:

2

3 Output #1:

7 Empty!

Trang 4

3 Cho một dãy gồm N số nguyên: a1, a2, … , an và dãy B rỗng Trên dãy B thực hiện N phép biến đổi Với phép biến đổi thứ i:

- Thêm ai vào cuối dãy B

- Đảo ngược thứ tự các phần tử của dãy B

Bạn hãy thực hiện tìm kết quả của dãy B sau N phép biến đổi

Dữ liệu vào:

- Dòng đầu tiên chưa số nguyên dương N

- Dòng tiếp theo chứ N số nguyên dương a1, a2, … , an

II.Phân tích bài toán

1.Yêu cầu của bài toán:

Sử dụng mảng và danh sách liên kết đơn để khai báo lớp Queue( hàng đợi)

2.Các lớp, các thuộc tính, các phương thức của lớp và chức năng của chúng: 2.1 QueueClassArray:

- Thuộc tính:

+count(int) : kích thước hiện tại của hàng đợi+capacity(int): kích thước tối đa của hàng đợi( mặc định là 100000)+arr(*int) : mảng động lưu trữ phần tử

+front(int): vị trí của phần tử đầu tiên

Trang 5

+rear(int): vị trí của phần tử cuối cùng

- Phương thức:

+ Queue(): Phương thức khởi tạo không đối số

+ ~Queue(): Phương thức hủy bỏ một Queue

+ void enqueue(int x): đẩy x vào cuối Queue

Trang 6

+ void dequeue(): Loại bỏ phần tử đầu của queue

Trang 7

+ int size(): trả về kích thước hiện tại của Queue

+ void peek(): trả về phần tử đầu của Queue

Trang 9

Kết thúc

Trang 10

+ int peek(): trả về phần tử đầu tiên của Queue+ void deQueue(): Xóa phần tử đầu tiên của danh sách

Trang 11

III.Cài đặt các lớp và hàm main bằng C++ 3.1 Code QueueClassArray:

Trang 14

3.2 Code QueueClassLinkedList

Trang 16

3.3 Demo:

3.3.1: QueueClassArray:}

#include <bits/stdc++.h>

#include "cau1-array.h" using namespace std;

q.dequeue();

}

}

else

Trang 20

IV Phân tích thời gian chạy của từng phương thức có trong các lớp

4.1 ClassQueueArray:

- Phương thức:

+ Queue(): O(1)+ ~Queue(): O(1)+ void enqueue(int data): O(1)+ int size(): O(1)

+ void dequeue(): O(1)+ bool isEmpty(): O(1)+ int peek(): O(1)+ isFull(): O(1)

V Tài liệu tham khảo

- Bài làm có tham khảo bài giảng của giảng viên ThS Phạm Xuân Tích và cáctrang web gitbub.com, stackoverflow.com, codelearn.io

Ngày đăng: 06/11/2022, 21:16

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w