HomeBài tập cấu trúc dữ liệu và giải thuật có lời giải

Bài tập cấu trúc dữ liệu và giải thuật có lời giải

16:55, 27/03/2021

Mời chúng ta cùng xem thêm bài bác tập cấu trúc dữ liệu cùng giải mã được tổng hợp những bài xích tập thực hành thực tế có lợi và quan trọng, góp các bạn thêm tư liệu để ôn tập, khối hệ thống kiến thức và kỹ năng cùng làm cho thật giỏi các dạng bài tập thực hành thực tế về cấu tạo tài liệu cùng giải thuật.




Bạn đang xem: Bài tập cấu trúc dữ liệu và giải thuật có lời giải

*

Khoa Công Nghệ Thông Tin Môn: CTDL & GT Bài thực hành thực tế số 1Những bài tập 1: Viết công tác minh hoạ các lời giải kiếm tìm tìm với sắp xếp trên mảng có kích thước n phầntử nguyên. Cmùi hương trình được bộc lộ với các đề nghị nlỗi sau: Cài đặt hàm tìm kiếm: o Tìm kiếm tuần từ (tuyến tính) mang lại mảng bất kỳ o Tìm tìm nhị phân mang lại mảng dữ liệu được sắp tăng Cài đặt các hàm sắp xếp (tăng) theo phương thơm pháp: o Chọn thẳng o Ckém thẳng o Nổi bọt o Đổi chỗ trực tiếp o Shell Sort o Quiông chồng Sort Các hàm thu xếp yêu cầu minch hoạ trực quan: tại mỗi bước hoán vị a với a Ví dụ: hân oán vị a<1> = 3 và a<6> = 2Cách 1: di chuyển 3 xuống bên dưới k dòng cùng 2 lên trên mặt k dòngBước 2: dịch chuyển 3 qua địa chỉ cột của 2 và trở lại Bước 3: di chuyển 2 xuống với 3 lên đúng địa điểm cuối cùngTrường hợp sắp xếp theo kiểu chèn khá không giống, sinc viên tự tò mò và thiết đặt minh hoạ mang đến thuậttân oán thu xếp cnhát.Lưu ý: mỗi hàm sẽ sở hữu được ttê mê số vào là mảng yêu cầu xử trí với size của mảng, không sử dụng biến chuyển toàncục. Trong hàm main thành lập một menu lựa chọn, cho phép nhtràn vào một số rồi tiến hành tính năng tương xứng, thực đơn tất cả miêu tả như sau: o Khởi chế tạo mảng dữ liệu a, cho phép nhập vào n, kế tiếp lịch trình tạo ra tự nhiên các phần tử mang đến mảng a o Xem thành phần của mảng o Tìm tìm tuần từ o Tìm kiếm nhị phân o Sắp xếp chọn o Sắp xếp cnhát o .… o 11. Sắp xếp theo Radix Sort o 12. Thoát VD: khi user nhập 1 thì tạo nên mảng, nhập 2 xem các thành phần của mảng, còn 11 triển khai sắpxếp theo Radix Sort. Khi user nhập 12 thì chấm dứt chương trình! Lưu ý: Lúc lựa chọn công dụng search kiếm nhị phân, thì bắt buộc soát sổ coi mảng đã làm được sắp tới tăngkhông, SV từ thiết lập công dụng bình chọn này. Hướng dẫn Phần tư tưởng các hằng số dùng trong chương trình Hàm xuất mảng Hàm hoán thù vị minc họa dịch chuyển mỗi bước Hàm bubble sort thực hiện Swap trực quan lại bên trên Minh hoạ một phần của hàm main()Gợi ý cmùi hương trình://nạp tlỗi viện#include #include #include //có mang hằng#define MAX 100#define MAXV 100//tư tưởng những hàm//các hàm bao gồm protype như sau://si nhap day so ngau nhienvoid nhap(int a<>, int &n);//yêu thích hien thi day sovoid hienThi(int a<>, int n);//đắm đuối tim kiem su dung giai thuat tyên kiem nhi phan//tra lai ket qua -1 khong tyên thay//ngoai ra la vi tri tlặng duoc.int timKiemTuyenTinh(int a<>, int n, int x);//đam mê tyên ổn kiem nhi phanint timKiemNhiPhan(int a<>, int n, int x);//yêu thích sap xep day so tang dung giai thuat sap xep noi botvoid sapXepNoiBot(int a<>, int n);//si mê sap xep doi đến truc tiepvoid sapXepDoiChoTrucTiep(int a<>, int n);//tê mê sap xep chenvoid sapXepChen(int a<>, int n);//đắm đuối sap xep chon truc tiepvoid sapXepChon(int a<>, int n);//tê mê sap xep shell sortvoid shellSort(int a<>, int n);//mê say sap xep nhanhvoid quickSort(int a<>, int n);void main() //knhì bao với a luu day so ngau nhien int a; in n; int chon; //hien thi thực đơn bởi //xoa man hinh clrscr(); //hien thi thực đơn printf(”1: Tao day cac so ngau nhien”); printf(”2: Tyên ổn kiem tuyen tinc ”); printf(”3: Sap xep chon”); printf(”4: Sap xep doi cho truc tiep”); printf(”5: Sap xep noi bot”); printf(“6: Sap xep chen”); printf(”7: Shell Sort”); printf(”8: Quiông xã Sort”); printf(”9: Tim kiem nhi phan”); printf(”10: Hien thi day so”); printf(”0 : Thoát”); //doc chon lua cua nguoi dung scanf(”%d”,&chon); //xu ly lua chon tren menu switch (chon) case 1 : //goi ham nhap day so ngau nhien nhap(a,n); break ; case 2 : //thong bao nhap vao so can tyên ổn printf(“Cho biet so can tim:”); int x; scanf(“%d”, &x); //goi đam mê tlặng kiem tuyen tinch int i=timKiemTuyenTinh(a,n,x); //neu khong tim nuốm if (i==-1) printf(”Khong tyên nuốm %d vào day so”,x); else printf(“Tyên ổn nuốm %d o vi tri %d vào day so”,x,i); //dung man hinc de coi ket qua getch(); break ; case 3 : //goi si mê sap xep chon break ; case 4 : //goi đắm say sap xep doi mang đến truc tiep break ; case 5 : //goi ham sap xep noi bot break ; case 6 : //goi đắm đuối sap xep chen break ; case 7 : //goi đê mê Shell Sort break ; case 8 : //goi mê mẩn Quick Sort break ; case 9: //goi mê mẩn tlặng kiem nhi phan break; case 10: //goi si mê hien thi day so break; default : chon=0 ; while (chon);Phần sót lại sinc viên tự mua đặt! Mọi thắc mắc tin nhắn về: vanthienhoang


Xem thêm: Đặc Điểm Của Nhà Cấp 4 Là Như Thế Nào Là Nhà Cấp 4, Như Thế Nào Là Nhà Cấp 4

yahoo.com.vn -2-Cấu trúc tài liệu và lời giải CNTT Bài thực hành số 3 Staông xã - Queuecác bài tập luyện 3.1: Viết chương trình tính quý hiếm biểu thức trung tố theo các những hiểu biết sau: 1. Nhập biểu thức trung tố: toán hạng, tân oán tử với vệt ngoặc VD: (20+5)/5+(7-3)*100 2. Chuyển biểu thức trung tố thành hậu tố (xuất ra màn hình) VD: 20 5 + 5 / 7 3 – 100 * + 3. Tính giá trị của biểu thức hậu tố VD: (20+5)/5+(7-3)*100 = 405Yêu cầu: Sinh viên thiết lập stachồng sử dụng list liên kết: 1. Knhị báo cấu tạo của thành phần vào DSLK sử dụng làm staông xã 2. Cài đặt những thao tác: IsEmpty, NewNode, FreeNode, Pop, Push… bên trên Staông xã.Hướng dẫn: 1. Chuyển biểu thức trung tố thành hậu tố: Duyệt biểu thức trung tố từ bỏ trái quý phái phải Nếu gặp gỡ tân oán hạng thì ghi vào chuỗi hiệu quả Nếu chạm mặt vệt msống ngoặc thì push ⇒ stack Nếu chạm mặt toán thù tử Điện thoại tư vấn là O1 thực hiện công việc sau: Chừng như thế nào còn một toán thù tử O2 nghỉ ngơi đỉnh staông xã với độ ưu tiên của O1 ≤ độ ưu tiên O2 thì mang O2 thoát khỏi staông chồng với ghi vào chuỗi kết quả. Push O1 ⇒ stachồng 1Cấu trúc dữ liệu và giải mã CNTT Nếu gặp gỡ dấu đóng ngoặc: thì đem tân oán tử vào staông xã ra cho tới Lúc mang được vết mở ngoặc (lưu lại ý: pop vết msống ngoặc ra, nhưng lại ko xuất ra chuỗi kết quả) Lúc sẽ phê chuẩn kết biểu thức trung tố, rước tất cả toán thù tử vào staông chồng với ghi vào chuỗi kết quả. 2. Tính quý giá biểu thức hậu tố: Đọc biểu thức từ trái sang đề xuất Nếu là toán thù hạng: Push ⇒ stachồng Nếu gặp toán tử: Lấy 2 toán thù hạng trong stachồng ra Tính giá trị của 2 toán thù hạng kia theo toán tử Push kết quả ⇒ staông chồng Lúc quá trình chấm dứt thì số lượng cuối cùng còn lại trong staông xã đó là quý hiếm của biểu thức kia.Bài tập 3.2: Bài toán Tháp Hanoi được trình bày nhỏng sau: đến 3 cột được tấn công số lần lượt là một, 2 cùng 3. Có n đĩa được sắp đến theo đồ vật tự đĩa nhỏ ở trên đĩa to. Hãy liệt kê công việc tiến hành để gửi toàn bộ các đĩa từ cột 1 sang trọng cột 2. Quy chế độ di chuyển nlỗi sau: 1. Mỗi bước chỉ di chuyển 1 đĩa trường đoản cú cột này lịch sự cột không giống. 2. Đĩa có bán kính nhỏ tuổi luôn luôn sắp tới trên đĩa bao gồm bán kính Khủng. 1 2 3 1 2 3Yêu cầu: Viết lịch trình nhtràn vào số đĩa n, tiến hành công việc dịch rời những đĩa, mỗibước di chuyển cho biết thêm cột nguồn (cột đem đĩa) cùng cột đích (cột đặt đĩa). Giải thuậtdịch chuyển không đệ quy, sử dụng staông chồng nhằm chứa thông báo tạm thời trong quá trình diđưa. 2Cấu trúc tài liệu và giải thuật công nghệ thông tin Sinh viên cài đặt stachồng dùng danh sách liên kết, mỗi node phần info chứa 3thông báo số đĩa dịch rời, cột nguồn, cột đích.Hướng dẫn: Như bọn họ biết bài bác tân oán tháp Hanoi hay được giải bởi phương pháp đệquy. Tuy nhiên có thể giải bằng cách sử dụng staông chồng để khử đệ quy. Để thực hiện việclưu trữ nhất thời trong quy trình di chuyển họ dùng một staông xã. Trong đó từng phầntử của stachồng này đựng các đọc tin gồm: số đĩa di chuyển (N), cột nguồn bắt đầudi chuyển (Nguon) cùng cột đích là khu vực cần dịch rời mang lại (Dich). Ở phía trên ko cầnlưu cột trung gian vì bao gồm 3 cột đặt số là một trong những, 2 cùng 3 thì cột trung gian để di chuyểnlà: 6 – (Nguon+Dich). Đầu tiên đưa vào stack đọc tin dịch rời n, 1, 2, tức là dịch rời n đĩa từcột 1 sang cột thứ 2 qua cột trung gian là 6-(1+2) = 3. Tại từng bước một Lúc mang trong staông xã ra 1 phần tử. bọn họ triển khai nhỏng sau: Nếu N = 1: ⇒ dịch chuyển đĩa từ cột Nguon -> cột Dich Ngược lại (nếu như N > 1): • Xác định cột trung gian TrungGian = 6 – (Nguon+Dich) • Push ⇒ stachồng thông báo dịch chuyển N-1, TrungGian, Dich • Push ⇒ stack đọc tin di chuyển 1, Nguon, Dich • Push ⇒ staông xã biết tin dịch rời N-1, Nguon, TrungGian Quá trình còn triển khai khi stachồng không giống rỗng.Nhận xét: Lưu ý sản phẩm công nghệ trường đoản cú Khi gửi vào công bố dịch chuyển vào staông chồng. Trong phầntrên công bố N-1, Nguon, TrungGian được đưa vào staông chồng ở đầu cuối yêu cầu chúngsẽ được lôi ra trước tiên, tiếp theo là báo cáo di chuyển 1, Nguon, Dich với cuốicùng là công bố dịch rời N-1, TrungGian, Dich.các bài tập luyện 3.3: Viết lịch trình thống trị kho dễ dàng triển khai những tính năng sau: 1. Cho phxay thêm một mặt hàng vào kho 2. Xuất 1 mặt hàng thoát khỏi kho 3Cấu trúc tài liệu và giải mã công nghệ thông tin 3. Xem tất cả mặt hàng hoá vào kho 4. Xem sản phẩm nào sau đó sẽ được xuất khoYêu cầu 1. Cài đặt kết cấu tài liệu HàngHoá: bao gồm những tài liệu như thế nào liệt kê ra 2. Cài đặt một Queue đựng các hàng hoá vào kho 3. Cài đặt các thao tác bên trên Queue 4. Cài đặt những chức năng theo trình bày của bài bác tập. Thời gian làm cho bài xích tập 3: từ Ngoài ra sinc viên hoàn toàn có thể bổ sung phần nhiều tính năng không ngừng mở rộng tùy ý. Tất cả cáctác dụng sáng chế của sinh viên phần lớn được Đánh Giá cao!Mọi vướng mắc gmail về: vanthienhoang


Xem thêm: Chuyên Gia Nói Gì Về Hướng Nhà Hợp Tuổi 1988 Hợp Hướng Nào, Tuổi Mậu Thìn Sinh Năm 1988 Hợp Hướng Nào

yahoo.com.vn 4 Môn: CTDL & GT Bài thực hành số 4 Cây nhị phân tìm kiếmBài tậpViết công tác làm chủ lịch công tác làm việc vào thời điểm tháng 1-1 giản: cho phép nhập vào nội dungquá trình cần làm theo ngày, theo giờ đồng hồ. Trong một ngày rất có thể có rất nhiều các bước, mỗi côngvấn đề bao gồm tiếng ban đầu, tên quá trình, câu chữ các bước, đặc điểm các bước hết sức quan trọng đặc biệt,quan trọng, bình thường, ko nên thiết…Chương trình tất cả các công dụng thiết yếu nlỗi sau: - Nhập câu chữ quá trình cần tuân theo ngày, theo tiếng - Xem lịch công tác theo ngày tận hưởng - Xem các các bước theo tính chất: hết sức quan trọng đặc biệt, quan liêu trọng… - Xem những các bước đã hoàn toàn - Xem những công việc chưa tiến hành - Xem những quá trình từ ngày a mang lại ngày b - Xóa xuất xắc điều chỉnh lịch công tác làm việc. Nếu sau khi kiểm soát và điều chỉnh, ngày làm sao không còn bài toán nên làm đang xóa sổ lịch công tác. Yêu cầu: lịch trình tất cả setup cây nhị phân tìm kiếm kiếm (BST): - Mỗi nút bên trên cây BST là một trong ngày của lịch công tác làm việc - Trong mỗi nút ít ngày bên trên cây lại chứa một danh sách links lưu thông báo các công việc. - khi thêm 1 các bước vào một trong những ngày đã lâu dài bên trên cây, thì công việc này sẽ tiến hành đưa vào danh sách liên kết cất các quá trình theo vật dụng từ bỏ tăng mạnh của giờ đồng hồ bước đầu.Hình vẽ minch họa kết cấu cây định kỳ công tác Hình 1: Cấu trúc cây lịch công tác làm việc Nâng cao (không nên, dành riêng cho sinc viên tương đối, giỏi)Ttốt danh sách link cất quá trình trong thời gian ngày thành lá nhị phân tìm kiếm tìm, khóa đểxây cất cây BST nhỏ là giờ đồng hồ bắt đầu! Hình 2: Cấu trúc cây lịch công tác làm việc nâng cấp Tất cả đông đảo tính năng sáng tạo của SV những được Reviews cao!