1. Trang chủ
  2. » Công Nghệ Thông Tin

Thực hành cấu trúc dữ liệu và giải thuật 8

31 32 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 31
Dung lượng 3,66 MB

Nội dung

Bài tập chương Phần Bài Chứng minh a a + b nhỏ min(a, b) b a × b nhỏ min(a, b) Bài Bài tốn hành trình người du lịch: Cho vị trí n thành phố trong khơng gian Từ thành phố ban đầu, người du lịch muốn thăm tất n thành phố đó, sau quay trở lại thành phố ban đầu Hãy xây dựng hành trình người du lịch cho quãng đường người phải ngắn Tìm phản ví dụ cho thuật tốn sau: Gọi L danh sách thành phố (a) Thuật toán NearestNeighbor(L) Chọn thăm thành phố khởi đầu p0 từ L p = p0 i=0 Trong tồn thành phố chưa thăm i=i+1 Chọn pi thành phố chưa thăm mà gần với thành phố vừa thăm pi−1 Thăm pi Trở p0 từ thành phố pn−1 (b) Thuật toán ClosestPair(P) Gọi n số lượng thành phố L For i = to n − d=∞ Với cặp (s, t) tập cặp thành phố Nếu dist(s, t) ≤ d sm = s, tm = t, d = dist(s, t) Kết nối (sm, tm) cạnh Kết nối hai điểm cuối cạnh Trong dist(s,t) khoảng cách thành phố s t Bài Cho tập số nguyên S = {s1, s2, , sn}, giá trị đích T, Tìm tập S cho tổng số tập T Ví dụ, Tồn tập S = {1, 2, 5, 9, 10} mà tổng T = 22 lại không tồn với T = 23 Tìm phản ví dụ cho thuật toán sau CuuDuongThanCong.com https://fb.com/tailieudientucntt (a) Lần lượt chọn phần tử S theo thứ tự từ trái qua phải chúng phù hợp (thuật toán first-fit) (b) Lần lượt chọn phần tử S theo thứ tự từ nhỏ đến lớn (thuật toán best-fit) (c) Lần lượt chọn phần tử S theo thứ tự từ lớn đến nhỏ Bài Bài toán tập bao trùm (set cover problem) định nghĩa sau: Cho tập S gồm tập S1, , Sm tập vũ trụ U = {1, , n} Tìm số lượng tập nhỏ T ⊂ S cho ∪ti∈Tti = U Ví dụ, có tập con, S1 = {1, 3, 5}, S2 = {2, 4}, S3 = {1, 4}, S4 = {2, 5} Tập bao trùm S1 S2 Tìm phản ví dụ thuật tốn tìm tập bao trùm sau: Lựa chọn tập có số lương phần tử lớn (có độ bao phủ lớn nhất), sau loại bỏ phần tử tập tập vũ trụ U Lặp lại việc thêm tập chứa số lượng phần tử chưa bị bao phủ phần tử lớn tất phần tử tập vũ trụ bao phủ Bài Chứng minh khẳng định sau phương pháp quy nạp a) b) c) ∑ ∑ ∑ ∑ n i = n(n + 1) / với n≥0 i =1 n i =1 i = n (n + 1) / với n≥0 n i =1 i (i + 1)(i + 2) = n(n + 1)(n + 2)(n + 3) / n với n≥1 = i =1 i (i + 1) n + e) n3 + 2n chia hết cho với n≥0 d) n Bài Tốc độ truy cập ổ đĩa cứng thường tính theo milliseconds (phần ngìn giây) hay microseconds (Phần triệu giây)? Tốc độ truy cập RAM khoảng bao nhiêu? Số lượng lệnh - instructions mà CPU thực năm máy chạy liên tục suốt thời gian Bài Một thuật toán xếp cần giây để xếp 1,000 phần tử máy tính, thời gian cần để xếp 10,000 Phần tử nếu: (a) thuật tốn xếp có thời gian thực tỉ lệ bình phương với kích thước liệu, (b) thuật tốn xếp có thời gian thực tỉ lệ cỡ n log n với kích thước liệu? (n kích thước liệu – số phần tử cần xếp) Bài Cài đặt thuật toán người du lịch Trong thực tế thuật tốn tốt hơn? Bạn đề xuất thuật tốn tốt khơng ? Bài Cài đặt thuật toán tối ưu để chọn số lượng phim xem nhiều mô tả slide CuuDuongThanCong.com https://fb.com/tailieudientucntt Bài 10 Viết hàm thực phép chia số ngun mà khơng dùng tốn tử / * Hãy tìm thực nhanh Bài 11 Bạn có 25 ngựa Tại lần đua cho tối đa ngựa tham gia Bạn phải xác định ngựa nhanh nhất, nhì ba 25 ngựa Hãy tìm số lượng vịng đua tối thiểu để thực việc CuuDuongThanCong.com https://fb.com/tailieudientucntt HO CHI MINH CITY UNIVERSITY OF TECHNOLOGY – FACULTY OF ELECTRICAL AND ELECTRONICS ENGINEERING INTRO TO ELECTRICAL AND COMPUTER ENGINEERING (ECE110) FINAL EXAMINATION Summer Semester – Academic year 2012-2013 Duration: 90 Student’s Name Score Student ID Number Department of Electronics Engineering Lecturer Dr Le Chi Thong INSTRUCTIONS:  Answer on this question sheet  Books, notes, laptops, iPads, … are NOT accepted  Arithmetic-only calculators are accepted  Show all your work, e.g., your solution process, the equation(s) that you use, the values of the variables used the equation(s), …  Include the unit of measurement in each answer  Do NOT communicate with any other students Problem Use the node method to determine I2, I3, VA (1.5 points) I2= I3= VA= Page of HO CHI MINH CITY UNIVERSITY OF TECHNOLOGY – FACULTY OF ELECTRICAL AND ELECTRONICS ENGINEERING Problem Use the “accurate” model for diode the following circuit (1.5 points) a Assume that diode is on, calculate ID and verify the assumption ID= Assumption is b Assume that diode is off, calculate VD and verify the assumption VD= Assumption is Page of HO CHI MINH CITY UNIVERSITY OF TECHNOLOGY – FACULTY OF ELECTRICAL AND ELECTRONICS ENGINEERING Problem Use the following circuit for this problem Given Vcc = 5V; VBEON = 0.7V; β = 100; VCESAT = 0.2 (2 points) a When Vin = 2V, determine IB, IC, VCE and the state of transistor IB= IC= VCE= State b When Vin = 4V, determine IB, IC, VCE and the state of transistor IB= IC= VCE= State c Determine the minimum value for R1 in order to have active state when Vin = 4V R1min = Page of HO CHI MINH CITY UNIVERSITY OF TECHNOLOGY – FACULTY OF ELECTRICAL AND ELECTRONICS ENGINEERING Problem Use the “large signal” model for diode the following circuit and determine VD1, ID1, VD2, ID2 (2 points) VD1= ID1= VD2= ID2 = Problem (3 points) a Convert the following numbers 37D = ?B 101 1011B = ?D 11 1110B = ?H AF2H = ?B 37D = 11 1110B = B H Page of 101 1011B = AF2H = D B HO CHI MINH CITY UNIVERSITY OF TECHNOLOGY – FACULTY OF ELECTRICAL AND ELECTRONICS ENGINEERING b Use the truth table given below for this problem Write the expression F1 in the canonical SOP form A 0 0 1 1 B 0 1 0 1 C 1 1 F1 1 0 0 F1 = Draw the AND-OR circuit for F1 c Write the canonical SOP expression for F in the following circuit F= Page of Bài tập chương Phần A Thuật toán đệ quy Bài Cho hàm đệ quy sau 𝑛ế𝑢 𝑛 ≤ a) 𝑓(𝑛) = � 3𝑓(𝑛 − 2) + 𝑓(𝑛 − 1) + 𝑛ế𝑢 𝑛 > Hãy tính 𝑓(4), 𝑓(9) b) 𝑓(𝑛) = � 𝑛ế𝑢 𝑛 ≤ 𝑓(𝑛/2) + 𝑓(𝑛 − 1) 𝑛ế𝑢 𝑛 > Hãy tính 𝑓(3), 𝑓(8) c) 𝑓(𝑛) = � 𝑛ế𝑢 𝑛 = 𝑛ế𝑢 𝑛 = 2𝑓(𝑛%2) + 𝑓(𝑛/2) 𝑛ế𝑢 𝑛 > Hãy tính 𝑓(4), 𝑓(7) 𝑛ế𝑢 𝑛 ≤ d) 𝑓(𝑛) = �2𝑓(𝑛/2) + 𝑛ế𝑢 𝑛 > 𝑣à 𝑐ℎẵ𝑛 2𝑓(𝑛 − 1) 𝑛ế𝑢 < 𝑛 𝑣à 𝑙ẻ Hãy tính 𝑓(4), 𝑓(7) B Phương pháp Bài Chứng minh 𝑛 a) 𝑇(𝑛) = 𝑇 �� �� + Ο(log 𝑛) 𝑛 b) 𝑇(𝑛) = 2𝑇 �� �� + 𝑛 Ο(𝑛 log 𝑛) 𝑛 c) 𝑇(𝑛) = 𝑇 �� � + 12� + Ο(log 𝑛) 𝑛 𝑛 2𝑇 � � + d) 𝑇(𝑛) = 4𝑇 � � + 𝑛 𝑂(𝑛2 ) e) 𝑇(𝑛) = 𝑂(𝑛) Bài Giải công thức đệ quy a) 𝑇(𝑛) = 2𝑇�√𝑛� + Bài Giải cơng thức đệ quy thuật tốn xếp trộn – mergeSort 𝛰(1) 𝑛ế𝑢 𝑛 = 𝑛 𝑇(𝑛) = � 2𝑇 � � + 𝛰(𝑛) 𝑛ế𝑢 𝑛 > CuuDuongThanCong.com https://fb.com/tailieudientucntt C Cây đệ quy 𝑛 Bài Xác định cận tốt cho công thức đệ quy 𝑇(𝑛) = 3𝑇 � � + 𝑛 dùng phương pháp để xác nhận lại kết 𝑛 Bài Vẽ đệ quy cho 𝑇(𝑛) = 4𝑇 �� �� + 𝑐𝑛 với 𝑐 số Đưa tiệm cận chặt cho công thức đệ quy Xác nhận lại lời giải phương pháp D Định lý thợ Bài Dùng định lý thợ để đưa tiệm cận chặt cho công thức đệ quy sau 𝑛 𝑛 4𝑇 � � + 𝑛 4𝑇 � � + a) 𝑇(𝑛) = 4𝑇 � � + 𝑛 b) 𝑇(𝑛) = c) 𝑇(𝑛) = 𝑛2 𝑛3 Bài Dùng định lý thợ để chứng minh thời gian thực thuật tốn tìm kiếm nhị phân 𝑇(𝑛) = 𝑛 𝑇 �2 � + Θ(1) Θ(log 𝑛) 𝑛 Bài Định lý thợ áp dụng cho cơng thức đệ quy 𝑇(𝑛) = 4𝑇 � � + 𝑛2 log 𝑛 khơng, Tại sao? Tìm tiệm cận giới hạn cho 𝑇(𝑛) Bài Đánh giá thời gian thực thuật tốn đệ quy sau theo mơ hình O-lớn int findMin(int S[], int start, int end) { if(start>=end) return S[end]; int div = (end-start)/2; int A,B; A=findMin(S,start,start+div); B=findMin(S,start+div+1,end); } return Min(A,B); Trong hàm Min(A,B) trả giá trị nhỏ số A, B thời gian thực Θ(1) E Viết chương trình Bài Hãy viết hàm 𝑔𝑐𝑑() để tìm ước số chung lớn số nguyên dương 𝑎, 𝑏 theo thuật toán sau: a) Phương pháp vét cạn: duyệt tất số nguyên dương tìm thấy b) Dùng thuật tốn Euclid: giả sử 𝑏 số nhở hơn, 𝑏 = ước số chung lớn 𝑎, ngược lại ước số chung lớn 𝑎 𝑏 ước số chung lớn 𝑏 𝑎%𝑏 (chia module, chia lấy phần dư) Cài đặt thuật toán Euclid theo cách: lặp đệ quy CuuDuongThanCong.com https://fb.com/tailieudientucntt o Member(x,S): Kiểm tra xem phần tử x có thuộc tập hợp S hay không o Union(A,B): Hợp hai tập hợp A, B, trả tập hợp 𝐴 ∪ 𝐵 thông qua tập hợp A, B, hàm o Intersection(A,B): Giao hai tập hợp, trả 𝐴 ∩ 𝐵 thông qua tập hợp A, B, hàm o Substract(A,B): Hiệu hai tập hơp, trả 𝐴 − 𝐵 thông qua tập hợp A, B, hàm o Insert(x,S): thêm phần tử x vào tập hợp S o Delete(x,S) : loại bỏ phần tử x khỏi tập S (nếu x có S) Hãy cài đặt ADT sử dụng phương pháp biểu diễn a) Mảng b) Danh sách liên kết c) Xâu bit (bit biểu diễn phần tử có tập hợp bit biểu diễn phần tử khơng có) Chú ý: Đối với cách biểu diễn thứ phần tử phải biểu diễn theo thứ tự xác định Các phần tử tập hợp không trùng Bài 27 Cho dãy số nguyên dương gồm n số, khoảng cách hai vị trí độ chênh lệch giá trị hai số vị trí Ví dụ cho dãy gồm số 1, 3, 4, 3, Chêch lệch số thứ − = Chọn vị trí k bất dãy n số, tổng độ chệnh lệch vị trí k với tất 𝑛 − vị trí cịn lại tính tổng độ chênh lệch số vị trí 𝑘 tới 𝑛 − vị trí cịn lại Ví dụ với k=2 (số giá trị 3) tổng độ chêch lệch ứng với 2+1+0+4=7 Hãy viết chương trình tìm vị trí k cho có tổng độ chênh lệch nhỏ Bài 28 Viết chương trình đảo ngược thứ tự từ câu nhập vào từ bàn phím Ví dụ Câu đầu vào “ the quick brown fox jumps over the lazy dog” Thì kết hiển thị hình câu “dog lazy the over jumps fox brown quick the” Bài 29 Nhập vào từ bàn phím dãy số thực gồm n số (0

Ngày đăng: 01/03/2022, 13:39

TỪ KHÓA LIÊN QUAN