1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài tập lớn môn học cấu TRÚC dữ LIỆU và GIẢI THUẬT

21 4 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 502,24 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 thời gian chạy của từng phương thức có trong các lớp V.. Mô phỏng hoạt độNng của Queue bằng cách xây dựng chương trình sau: Bạn được cho mộNt hàng đợi rỗng và mộNt số truy

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íchNhóm thực hiện: Nhóm… Lớp CNTT6-K61Danh sách sinh viên tham gia:

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

Trang 2

Nội dung

I Đề bà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.QueueClassArray2.2.QueueClassLinkedList

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

+ 3.1 QueueClassArray

3.2 QueueClassLinkedList3.3 Demo

3.3.1: ClassQueueArray3.3.2: ClassQueueLinkedList3.3.3: Sử dụng queue để code câu 3 của đề bài

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

TIEU LUAN MOI download : skknchat123@gmail.com moi nhat

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 độNng của Queue bằng cách xây dựng chương trình sau: Bạn được cho mộNt hàng đợi

rỗng và mộNt 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ộNt truy vấn Giới hạn:

7 Empty!

TIEU LUAN MOI download : skknchat123@gmail.com moi nhat

Trang 4

3 Cho mộNt 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:

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:

4213 Input #2:

3

1 2 3 Output #2:

3 1 2 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ộNc 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

TIEU LUAN MOI download : skknchat123@gmail.com moi nhat

Trang 5

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

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

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

Trang 6

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

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 8

+ void enQueue(int x): đẩy một giá trị vào cuối danh sách node hiện có

TIEU LUAN MOI download : skknchat123@gmail.com moi nhat

Sơ đồ khối:

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

TIEU LUAN MOI download : skknchat123@gmail.com moi nhat

Trang 16

cin >> x;

q.enqueue(x);

} else if (type == 2) {

if (!q.isEmpty()) {

q.dequeue();

} } else

TIEU LUAN MOI download : skknchat123@gmail.com moi nhat

Trang 17

if (q.isEmpty()) {

cout << "Empty!" << endl;

} else cout << q.peek() << endl;

} } } int main() {

Trang 18

{cin >> x;

q.enQueue(x);

}else if (type == 2){

if (!q.isEmpty()){

q.deQueue();

}}else{

if (q.isEmpty()){

cout << "Empty!" << endl;

}else{cout << q.peek() << endl;

}}}

}

int main()

TIEU LUAN MOI download : skknchat123@gmail.com moi nhat

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:

4.2 ClassQueueLinkedList:

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ác trang web gitbub.com, stackoverflow.com, codelearn.io

TIEU LUAN MOI download : skknchat123@gmail.com moi nhat

Ngày đăng: 08/11/2022, 16:02

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

w