Viết giải thuật tính trung bình cộng của các số không âm trong một dãy n số nguyên và đánh giá độ phức tạp của thuật toán

4 55 0
Viết giải thuật tính trung bình cộng của các số không âm trong một dãy n số nguyên và đánh giá độ phức tạp của thuật toán

Đang tải... (xem toàn văn)

Thông tin tài liệu

Viết giải thuật tính trung bình cộng của các số không âm trong một dãy n số nguyên và đánh giá độ phức tạp của thuật toán

Họ tên: Nguyễn Hữu Đô Lớp: 71DCHT21 Mã SV: 71DCHT22034 Đề 15: Câu 1: Viết giải thuật tính trung bình cộng số khơng âm dãy n số nguyên đánh giá độ phức tạp thuật toán Câu 2: Xây dựng giải thuật sử dụng cấu trúc Stack để chuyển biểu thức dạng trung tố sang hậu tố Ứng dụng giải thuật để minh họa biểu thức sau: M= (86/2 + 14) - (2+5 * 8) Bài làm: Câu 1: Giải thuật: 1.Void float TbcKhongAm(int a[], int n) =>0(1) { float tb, tong=0; =>0(1) int dem=0; =>0(1) for(int i=0;i n lần { ADQT vòng for => O(n * 1) =O(n) if(a[i]>=0) =>0(1) { tong +=a[i]; =>0(1) ADQT tổng max => O(max(1,1,1) =O(1) dem++; =>0(1) } } 8.return tong/dem; =>0(1) } Từ 1,2,3,4,8 ADQT tổng max => Độ phức tạp giải thuật T(n)= O(n) Câu 2: Giải thuật: Nếu gặp toán hạng (con số biến) ghi vào kết − Nếu gặp dấu mở ngoặc đưa vào stack − Nếu gặp tốn tử (ví dụ t1) thực bước sau: Bước 1: Nếu stack không rỗng, Chừng đỉnh stack toán tử toán tử có độ ưu tiên lớn tốn tử lấy tốn tử khỏi stack cho kết Bước 2: Nếu stack rỗng tốn tử t2 đỉnh stack có độ ưu tiên thấp t1 ghi (push) t1 vào ngăn xếp − Nếu gặp dấu đóng ngoặc lấy tất toán tử ngăn xếp ghi vào kết đỉnh ngăn xếp dấu mở ngoặc - Loại dấu mở ngoặc khỏi ngăn xếp −Khi duyệt hết biểu thức trung tố, lấy tất (nếu có) từ ngăn xếp ghi vào chuỗi kết Void trungtosanghau() { //doc ki tu x cua bt tu trai sang phai if (x = ‘(“) push (‘(‘) If (x = toán hạng) ghi vào kq If (x = toán tử)// giả sử t1 { If (stack! =rỗng) { while (đưt(t2)>=đưt(t1) } } { //t2 đỉnh stack Pop(t2); Ghi t2 vào kq Push (t1) } If (stack =rỗng || dưt(t2) T2 = “+”, Pop / Push / vào kết Ghi 14 vào kết Pop hết Stack gặp (dừng ghi vào kết Pop + Ghi - Stack Ghi (Stack Ghi vào kết Ghi + Stack Ghi vào kết T1=”+”

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

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

Tài liệu liên quan