Đề thi giữa kì 1 môn: Cấu trúc dữ liệu và giải thuật
Số trang: 4
Loại file: pdf
Dung lượng: 0.00 B
Lượt xem: 23
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Ghi chú: đề thi gồm tất cả 7 câu. Sinh viên lớp KSTN làm hết 7 câu, thang điểm 12/12. Sinh viên lớp thường làm 6 câu (từ câu 1 đến câu 6), thang diểm 10/10. Câu 1 (1.5 điểm): Tính toán big-O của các hàm dưới đây và sắp xếp chúng theo thứ tự từ nhỏ đến lớn theo big-O: Đáp áp: a) (1 điểm) Tính big-Oa. 2 = O(2 ) b. n! = O(n!) c. n3.5 = O(n3.5) d. n + n2 + n3 = O(n3) e. 105 = O(1) f. 150,000 = O(1) g. nlog2(n) = O(nlog2(n))n...
Nội dung trích xuất từ tài liệu:
Đề thi giữa kì 1 môn: Cấu trúc dữ liệu và giải thuật ĐÁP ÁNTrường ĐH Bách Khoa Tp.HCM Khoa KH&KT Máy tính Đề thi giữa kỳ HK1/2009 Môn: Cấu trúc dữ liệu và Giải thuật Thời gian: 60 phút (Không sử dụng tài liệu) Ghi chú: đề thi gồm tất cả 7 câu. Sinh viên lớp KSTN làm hết 7 câu, thang điểm 12/12. Sinh viên lớp thường làm 6 câu (từ câu 1 đến câu 6), thang diểm 10/10. Câu 1 (1.5 điểm): Tính toán big-O của các hàm dưới đây và sắp xếp chúng theo thứ tự từ nhỏ đến lớn theo big-O: Đáp áp: a) (1 điểm) Tính big-O n n a. 2 = O(2 ) b. n! = O(n!) c. n3.5 = O(n3.5) d. n + n2 + n3 = O(n3) e. 105 = O(1) f. 150,000 = O(1) g. nlog2(n) = O(nlog2(n)) b) (0.5 điểm) Sắp xếp theo big-O: 105 1. pre = null, tmp = head 2. loop (tmp is not null) 1. if ((tmp->data == x) or (tmp->data == x+1) or (tmp->data == x+2)) 1. if (pre is null) //delete first 1. head = head->link 2. delete tmp 3. tmp = head 2. else //delete the element after pre 1. pre->next = tmp->link 2. delete tmp 3. tmp = pre->link 3. end if 2. else 1. pre = tmp 2. tmp = tmp->link 3. end if 3. end loopend remove_in_rangeCâu 3 (2 điểm): Viết Stack ADT Create()một hàm cục toàn Push (val DataIn ) //Thêm 1 phần tử vào đỉnh stack //Bỏ phần tử trên đỉnh stack Pop ()(global function) bằng Top (ref DataOut ) //Xem phần tử trên đỉnh stack isEmpty ()pseudocode nhận vàomột queue và đảo ngược Queue ADT Create()queue đó. Giả sử rằng EnQueue (val DataIn ) //Thêm 1 phần tử vào cuối queue //Bỏ 1 phần tử đầu queue DeQueue ()các phương thức của QueueFront (ref DataOut ) //Xem phần tử đầu queue QueueRear (ref DataOut ) //Xem phần tử cuối queuequeue và stack được cho isEmpty ()theo đặc tả của hình bêncạnh. Chú ý: không được viết và dùng thêm các hàm phụ trợ nào khác.Đáp áp:algorithm reverse_queue (ref queue ) Post các phần tử trong queue sẽ bị đảo ngược vị trí 1. stack = Create a stack 2. loop (not queue.isEmpty()) 1. queue.QueueFront (x) 2. stack.Push (x) 3. queue.DeQueue() 3. end loop 4. loop (not stack.isEmpty()) 1. stack.Top (x) 2. queue.EnQueue (x) 3. stack.Pop() 5. end loopend reverse_queueCâu 4 (1.5 điểm): Hãy trình bày từng bước quá tr ình tạo một cây nhị phân t ìm kiếm (BST) bằng cách thêmvào trong cây rỗng ban đầu các khóa lần lượt như sau: F,O,R,G,E,T biết rằng giá trị so sánh của các khóa nàylà thứ tự của chúng trong bảng chữ cái.Đáp áp: F F F F F F O E O E O O O G R G R G R R TCâu 5 (1.5 điểm): Trình bày binary_search_1 (val target , ref position )từng bước quá trình tìm kiếm 1. bottom = 0 2. top = size of the listkhóa 31 dùng phương pháp t ìm 3. loop (bottom < top)kiếm nhị phân binary_search_1 1. mid = (bottom + top)/2 2. if (target > datamid)(forgetful version) trên danh 1. bottom = mid + 1 3. elsesách liên kết (DSLK) đơn có ...
Nội dung trích xuất từ tài liệu:
Đề thi giữa kì 1 môn: Cấu trúc dữ liệu và giải thuật ĐÁP ÁNTrường ĐH Bách Khoa Tp.HCM Khoa KH&KT Máy tính Đề thi giữa kỳ HK1/2009 Môn: Cấu trúc dữ liệu và Giải thuật Thời gian: 60 phút (Không sử dụng tài liệu) Ghi chú: đề thi gồm tất cả 7 câu. Sinh viên lớp KSTN làm hết 7 câu, thang điểm 12/12. Sinh viên lớp thường làm 6 câu (từ câu 1 đến câu 6), thang diểm 10/10. Câu 1 (1.5 điểm): Tính toán big-O của các hàm dưới đây và sắp xếp chúng theo thứ tự từ nhỏ đến lớn theo big-O: Đáp áp: a) (1 điểm) Tính big-O n n a. 2 = O(2 ) b. n! = O(n!) c. n3.5 = O(n3.5) d. n + n2 + n3 = O(n3) e. 105 = O(1) f. 150,000 = O(1) g. nlog2(n) = O(nlog2(n)) b) (0.5 điểm) Sắp xếp theo big-O: 105 1. pre = null, tmp = head 2. loop (tmp is not null) 1. if ((tmp->data == x) or (tmp->data == x+1) or (tmp->data == x+2)) 1. if (pre is null) //delete first 1. head = head->link 2. delete tmp 3. tmp = head 2. else //delete the element after pre 1. pre->next = tmp->link 2. delete tmp 3. tmp = pre->link 3. end if 2. else 1. pre = tmp 2. tmp = tmp->link 3. end if 3. end loopend remove_in_rangeCâu 3 (2 điểm): Viết Stack ADT Create()một hàm cục toàn Push (val DataIn ) //Thêm 1 phần tử vào đỉnh stack //Bỏ phần tử trên đỉnh stack Pop ()(global function) bằng Top (ref DataOut ) //Xem phần tử trên đỉnh stack isEmpty ()pseudocode nhận vàomột queue và đảo ngược Queue ADT Create()queue đó. Giả sử rằng EnQueue (val DataIn ) //Thêm 1 phần tử vào cuối queue //Bỏ 1 phần tử đầu queue DeQueue ()các phương thức của QueueFront (ref DataOut ) //Xem phần tử đầu queue QueueRear (ref DataOut ) //Xem phần tử cuối queuequeue và stack được cho isEmpty ()theo đặc tả của hình bêncạnh. Chú ý: không được viết và dùng thêm các hàm phụ trợ nào khác.Đáp áp:algorithm reverse_queue (ref queue ) Post các phần tử trong queue sẽ bị đảo ngược vị trí 1. stack = Create a stack 2. loop (not queue.isEmpty()) 1. queue.QueueFront (x) 2. stack.Push (x) 3. queue.DeQueue() 3. end loop 4. loop (not stack.isEmpty()) 1. stack.Top (x) 2. queue.EnQueue (x) 3. stack.Pop() 5. end loopend reverse_queueCâu 4 (1.5 điểm): Hãy trình bày từng bước quá tr ình tạo một cây nhị phân t ìm kiếm (BST) bằng cách thêmvào trong cây rỗng ban đầu các khóa lần lượt như sau: F,O,R,G,E,T biết rằng giá trị so sánh của các khóa nàylà thứ tự của chúng trong bảng chữ cái.Đáp áp: F F F F F F O E O E O O O G R G R G R R TCâu 5 (1.5 điểm): Trình bày binary_search_1 (val target , ref position )từng bước quá trình tìm kiếm 1. bottom = 0 2. top = size of the listkhóa 31 dùng phương pháp t ìm 3. loop (bottom < top)kiếm nhị phân binary_search_1 1. mid = (bottom + top)/2 2. if (target > datamid)(forgetful version) trên danh 1. bottom = mid + 1 3. elsesách liên kết (DSLK) đơn có ...
Tìm kiếm theo từ khóa liên quan:
cấu trúc dữ liệu đề kiểm tra cấu trúc dữ liệu cấu trúc máy tính ôn tập cấu trúc dữ liệu ôn tập giải thuật ôn thi cấu trúc và giải thuậtTài liệu có liên quan:
-
50 trang 533 0 0
-
Đề cương chi tiết học phần Cấu trúc dữ liệu và giải thuật (Data structures and algorithms)
10 trang 360 0 0 -
67 trang 338 1 0
-
Giáo trình Cấu trúc máy tính toàn tập
130 trang 228 0 0 -
Giải thuật và cấu trúc dữ liệu
305 trang 187 0 0 -
Thuyết trình môn kiến trúc máy tính: CPU
20 trang 185 0 0 -
78 trang 177 3 0
-
Bài giảng Phân tích thiết kế phần mềm: Chương 1 - Trường ĐH Ngoại ngữ - Tin học TP.HCM
64 trang 175 0 0 -
Đề kiểm tra giữa học kỳ II năm 2013 - 2014 môn Cấu trúc máy tính
6 trang 165 0 0 -
Giáo trình lắp ráp và cài đặt máy vi tính - Trường TCN Đông Sài Gòn
85 trang 152 0 0