Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 11 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
11
Dung lượng
94,48 KB
Nội dung
B n quy n tài li u thu c v di n àn http://sinhviennganhang.com THI MÔN C U TRÚC D LI U VÀ GI I THU T Th i gian: 120 phút Câu Cho danh sách sinh viên M i sinh viên c mô t b i thu c tính h tên, tu i, gi i tính Hãy cài t danh sách sinh viên b i danh sách liên k t Hãy vi t th t c lo i kh i danh sách t t c sinh viên n Câu Cho danh sách s nguyên c s p x p theo th t không gi m v i danh sách c cài t b i m ng: Hãy khai báo CTDL bi u di n dánh sách ó Hãy vi t th t c xem vào sanh sách m t s nguyên m i n cho danh sách nh n c v n c s p theo th t không gi m Câu M t m ng r ng g m 11 ô c ánh s t ên 10 dùng lưu tr s nguyên Các s nguyên k c ưa vào m ng b i hàm băm: h(k) = (k – 3*i)%11 (i = 0,1,…) Hãy ưa dãy s nguyên 15, 20, 6, 9, 17 vào m ng Gi i thích t i chúng l i c ưa vào nh ng v trí ó m ng Câu Cho th nh hư ng sau: i qua th xu t phát t nh 1 Hãy ưa r ng t o thành i qua theo th t ã i qua Hãy ưa r ng t o thành i qua theo th t ã i qua th theo b r ng danh sách th theo b sâu danh sách nh nh B n quy n tài li u thu c v di n àn http://sinhviennganhang.com THI MÔN C U TRÚC D LI U VÀ GI I THU T Th i gian: 120 phút Câu (2 i m) Khoa Công ngh c bi u di n b i danh sách l p M i l p c bi u di n b i tên l p danh sách sinh viên c a l p M i sinh viên c bi u di n b i tên, năm sinh, gi i tính Danh sách l p c cài t b i danh sách liên k t Hãy khai báo CTDL bi u di n Khoa Công ngh , Cho bi u di n hình h c CTDL Câu ( 2,5 i m) Cho danh sách s nguyên c cài t b i danh sách liên k t Ta c n k t h p danh sách thành m t danh sách b ng cách nôi uôi danh sách th nh t t i u danh sách thw hai Ví d , t danh sách L1 L 2, sau n i ta c L sau: L1 L2 9 L a) Khai báo CTDL bi u di n danh sách liên k t b) T danh sách liên k t ( có th r ng), vi t hàm k t n i danh sách thành m t danh sách Câu (2,5 i m) Các giá tr khóa c a tìm ki m nh phân s nguyên Cho dãy s nguyên: 5, 1, 6, 8, 4, 9, a) Áp d ng th t c xen vào b t u t r ng, xây d ng tìm ki m nh phân, b ng cách xem vào nh m i có khóa l n lư t 5, 1, 6, 8, 4, 9, b) T ã xây d ng, dưa dãy khóa theo th t : trư c, trung sau Câu (2 i m) M i ngư i có giá tr ưu tiên s nguyên M i ngư i c bi u di n b i tên, gi tr ưu tiên Hàng ưu tiên c lưu m ng theo th t gi m d n c a giá tr ưu tiên Ch ng h n, An có GTƯT 5, Ba Lan có GTƯT c lưu m ng sau: An Lan Ba 2 a) Khai báo CTDL cài a t hàng ưu tiên b i m ng b) Vi t hàm lo i ngư i có giá tr ưu tiên nh nh t Câu (1 i m) Áp d ng thu t toán s p x p n i b t cho m ng sau Yêu c u: ưa k t qu c a t ng bư c Max-1 B n quy n tài li u thu c v di n àn http://sinhviennganhang.com THI MÔN C U TRÚC D LI U VÀ GI I THU T Th i gian: 120 phút Câu Cho danh sách tên c a m i l p M i sinh viên c bi u di n b i trư ng: ten, diem Danh sách c cài t b i danh sách liên k t Hãy khai báo CTDL cài t danh sách ó Vi t th t c tính i m trung bình c a l p ó Vi t th t c lo i kh i danh sách t t c sinh viên có i m b ng p cho trư c Câu Cho m t cây, m i nh có t i a K nh Thông tin ch a m i nh s th c Cây c cài t cách ch danh sách c a m i nh s d ng tr Khai báo CTDL cài t b ng cách Vi t th t c i qua theo sâu ( quy ho c không quy) tính t ng s th c lưu nh c a Câu Cho b ng băm óng g m 11 thành ph n Các giá tr khóa s nguyên c ưa vào b ng b i hàm băm: h(x) = x%11 Va ch m c gi i quy t b ng cách băm l i bình phương T b ng băm r ng, s d ng t i a l n bă l i, ưa b ng băm k t qu th c hi n hành ng sau: Xen vào 5099, 23,, 213, ,36, 300, 19, 283 Lo i 300, 36 r i xen vào 146, 360, 480 Yêu c u: c n gi i thích t i nh n c k t qu th Câu Trình bày tư tư ng c a thu t tốn PRIM tìm bao trùm ng n nh t c a th vô hư ng liên thơng có tr ng s Mơ t thu t toán Áp dung thu t toán tìm bao trùm ng n nh t c th sau A 2 C D B F E Yêu c u: C n ph i tìm k t qu c a m i bư c gi i thích B n quy n tài li u thu c v di n àn http://sinhviennganhang.com THI CTDL VÀ GI I THU T Cho K46CA, CB,CC (Th i gian: 120 phút) Câu (3 i m) Ki u d li u tr u tư ng c xác nh sau: • Các i tư ng DL danh sách s nguyên c s p x p theo th t khơng gi m • Các phép tốn g m: Tìm xem danh sách có ch a s ngun cho trư c không? Xen m t s nguyên m i vào danh sách cho sau xen, danh sách v n c s p K t h p danh sách c s p thành m t danh sách c s p Danh sách c cài t b ng danh sách liên k t a) Hãy vi t file u ch a mô t CTDL prototype c a hàm th c hi n phép toán (V i m i hàm c n vi t i u ki n trư c i u ki n sau) b) Hãy cài t hàm xen vào Câu (2 i m) Gi s i tư ng khác có giá tr ưu tiên khác hàng ưu tiên c cài t b i tìm ki m nh phân v i khóa tìm ki m giá tr ưu tiên a) Hãy mô t CTDL bi u di n hangf ưu tiên cáhc cài t b) Hãy vi t hàm lo i i t ong có giái tr ưu tiên nh nh t kh i hàng ưu tiên Câu (2,5 i m) a) Hãy mô t CTDL bi u di n b ng băm dây chuy n vi t hàm xem vào b ng băm theo hàm băm ã cho b) Gi s c c a b ng 5, giá tr khóa s ngun khơng âm Và hàm băm hàm chua l y ph n sư Áp d ng hàm xen vào, t b ng băm day chuy n r ng, â vào d li u v i khóa 9,12,31,217,5.42,16 Cho bi u di n hình h c b ng băm k t qu Câu (1,5 i m) a) Hãy trình bày tư tư ng c u thu t toán i qua th theo b r ng theo sâu b) Cho th nh hư ng hình v sau: c) Hãy ưa th t nh c thưm theo b r ng sâu xu t phát t nh A A C E B D H G F Câu (1 i m) Gi s xâu c t o thành t lý t A vàB S d ng ccs phép toán ngăn x p, vi t hàm cho bi t m t xâu có d ng AnBn (n>=0) hay khơng? B n quy n tài li u thu c v di n àn http://sinhviennganhang.com (K46) Câu1 a ct //DL.h // Gi i thích v l p #ifndef _DL_H_ #define _DL_H_ #include class node { int data; node * next; node(int x) { data = x; next = NULL; }; } class DL { public : DL() // Kh i t o danh sách r ng // Precondition // Postcondition {Head = NULL ; Tail = NULL; length = 0}; DL(const DL & _dl); // Hàm ki n t o copy // // ~ DL(); // Hàm h y // // DL& operator = (const DL & _dl); // Toán t gán // // B n quy n tài li u thu c v di n àn http://sinhviennganhang.com bool Empty() const ; // Xác nh xem danh sách có r ng kô // Precondition : // Postcondition: Tr v true n u danh sách r ng int Length() const; // bool IsExist(int x); // Ki m tra xem danh sách có ch a s nguyên x kô // Precondition : danh sách khác r ng // Postcondition : tr v true…… void Insert(int x); // // // friend DL& KetHop(const DL& dl1 , const DL& dl2); // // // private : node * Head; node * Tail; int length; } #endif b.Cài t void DL :: Insert (int x) { node * Q = new node(x); if (Empty()) { Head = Q ; Tail = Q; length = 1; } node * Pre , P ; Pre = P = Head; While (Pre != Tail) B n quy n tài li u thu c v di n àn http://sinhviennganhang.com { if ( x data ) break; Pre = P; P = P->next; } if (P == Head) // Chèn vào u { Q -> next = Head; Head = Q; } else if (P == NULL) // Chèn vào cu i { Pre ->next = Q; } else //Chèn vào gi a { Q ->next = P; Pre ->next = Q; } } Câu a.Mô t //HUT.h // Gi i thích v l p #ifndef _ HUT _H_ #define _ HUT _H_ #include template class node { item data; int key; node(const & item _data , const int & _key) { data = _data ; key = _key; }; friend class HUT; } template class HUT B n quy n tài li u thu c v di n àn http://sinhviennganhang.com { public : static const int SIZE = 1000; HUT() // Kh i t o danh sách r ng // Precondition // Postcondition HUT (const HUT & _dl); // Hàm ki n t o copy // // HUT (node * _element , int n) // Xây d ng hàng ưu tiên t n ph n t lưu m ng _element ~ HUT (); // Hàm h y // // HUT & operator = (const HUT & _dl); // Toán t gán // // bool Empty() const ; // Xác nh xem danh sách có r ng kô // Precondition : // Postcondition: Tr v true n u danh sách r ng int Length() const; // void Insert(node _data); // // // node & FindMin() const; // // // node & DeleteMin(); B n quy n tài li u thu c v di n àn http://sinhviennganhang.com // Lo i i tư ng có ưu tiên nh nh t // // Tr v i tư ng có ưu tiên nh nh t private : node element[SIZE]; int last; void ShiftDown(int i); // y d li u nh i xu ng v trí thích h p // // } #endif b.Cài t template node& HUT :: DeleteMin() { assert(last >= 0); element[0] = element[last]; ShiftDown(0); } Câu a1.Mô t //ChainHash.h // Gi i thích v l p #ifndef _ ChainHash _H_ #define _ ChainHash _H_ #include typedef int keyType; template class ChainHash { public : static const int SIZE = 1000; ChainHash () // Kh i t o danh sách r ng // Precondition B n quy n tài li u thu c v di n àn http://sinhviennganhang.com // Postcondition ChainHash (const ChainHash & _dl); // Hàm ki n t o copy // // ~ ChainHash (); // Hàm h y // // ChainHash & operator = (const ChainHash & _dl); // Toán t gán // // bool Search(keyType k , Item & I) const; // // // void Insert(const item & _data); // // // void & Delete (keyType k); // Lo i i tư ng có ưu tiên nh nh t // // Tr v i tư ng có ưu tiên nh nh t private : struct CELL { item data; CELL * next; } CELL element[SIZE]; } #endif a2.Cài t template void ChainHash:: Insert (const item & _data) B n quy n tài li u thu c v di n àn http://sinhviennganhang.com { i = Hash(_data); ……………… } b V hình Hàng : Hàng : 31 -> 16 Hàng : 12 -> 217 -> 42 Hàng : Hàng : Câu : a Theo chi u r ng : A , B , C , G , D , F b Theo chi u sâu : A , B , G , D , F , C Câu : Gi ng thi Toán r i r c v a thi Chúc m i ngư i thi t t ...B n quy n tài li u thu c v di n àn http://sinhviennganhang.com THI MÔN C U TRÚC D LI U VÀ GI I THU T Th i gian: 120 phút Câu (2 i m) Khoa Công ngh c bi u di n b i danh... k t qu c a t ng bư c Max-1 B n quy n tài li u thu c v di n àn http://sinhviennganhang.com THI MÔN C U TRÚC D LI U VÀ GI I THU T Th i gian: 120 phút Câu Cho danh sách tên c a m i l p M i sinh viên... A , B , C , G , D , F b Theo chi u sâu : A , B , G , D , F , C Câu : Gi ng thi Toán r i r c v a thi Chúc m i ngư i thi t t