UNIVERSITI SAINS MALAYSIA. CPT212 Design & Analysis of Algorithms [Reka Bentuk & Analisis Algoritma]

Similar documents
CPT212 Design & Analysis of Algorithms [Reka Bentuk & Analisis Algoritma]

UNIVERSITI SAINS MALAYSIA. CPT113 Programming Methodology & Data Structures [Metodologi Pengaturcaraan & Struktur Data]

UNIVERSITI SAINS MALAYSIA. CST232 Operating Systems [Sistem Pengendalian]

UNIVERSITI SAINS MALAYSIA. CMT322/CMM323 Web Engineering & Technologies [Kejuruteraan & Teknologi Web]

UNIVERSITI SAINS MALAYSIA. CPT344 Computer Vision & Image Processing [Penglihatan Komputer & Pemprosesan Imej]

UNIVERSITI SAINS MALAYSIA. CST332 Internet Protocols. Architecture & Routing [Protokol, Seni Bina & Penghalaan Internet]

UNIVERSITI SAINS MALAYSIA. CST333 Distributed & Grid Computing [Perkomputeran Teragih & Grid]

MSS 317 Coding Theory [Teori Pengekodan]

UNIVERSITI SAINS MALAYSIA. CST131 Computer Organisation [Organisasi Komputer]

UNIVERSITI SAINS MALAYSIA. CPT211-CPM313 Programming Language Concepts & Paradigm [Konsep & Paradigma Bahasa Pengaturcaraan]

UNIVERSITI SAINS MALAYSIA. CST331 Principles of Parallel & Distributed Programming [Prinsip Pengaturcaraan Selari & Teragih]

UNIVERSITI SAINS MALAYSIA. CCS521 Advanced Distributed Systems Concepts and Design [Konsep dan Reka Bentuk Sistem Teragih Maju]

UNIVERSITI SAINS MALAYSIA. Peperiksaan Semester Pertama Sidang Akademik 2003/2004. September/Oktober 2003

CCS592 Advanced Algorithms and Complexity [Algoritma Lanjutan & Kekompleksan]

UNIVERSITI SAINS MALAYSIA. CPT111/CPM111 Principles of Programming [Prinsip Pengaturcaraan]

UNIVERSITI SAINS MALAYSIA. CST131 Computer Organisation [Organisasi Komputer]

UNIVERSITI SAINS MALAYSIA. CCS522 Advanced Data Communication & Computer Networks [Rangkaian Komputer & Komunikasi Data Lanjutan]

UNIVERSITI SAINS MALAYSIA

UNIVERSITI SAINS MALAYSIA. CCS522 Advanced Data Communication and Computer Networks [Rangkaian Komputer dan Komunikasi Data Lanjutan]

...a- JEE ELEKTRONIK DIGIT II. UNlVERSlTl SAINS MALAYSIA. Peperiksaan Semester Kedua Sidang Akademik FebruarVMac 2003.

Lab 4 : Sorting Techniques

UNIVERSITI SAINS MALAYSIA. CMT422 Multimedia Information Systems & Management [Sistem & Pengurusan Maklumat Multimedia]

UNIVERSITI SAINS MALAYSIA. CMT324 Computer Graphics & Visual Computing [Grafik Komputer & Perkomputeran Visual]

EEE 428 SISTEM KOMPUTER

MSS 318 Discrete Mathematics [Matematik Diskret]

UNIVERSITI SAINS MALAYSIA. CST131 Computer Organisation [Organisasi Komputer]

CPT111/CPM111 Principles of Programming [Prinsip Pengaturcaraan]

UNIVERSITI SAINS MALAYSIA. CST334 Network Monitoring & Security [Pengawasan & Keselamatan Rangkaian]

EEE 348 PENGANTAR REKABENTUK LITAR BERSEPADU

CPT211/CPM313 Programming Language Concepts & Paradigms [Konsep & Paradigma Bahasa Pengaturcaraan]

UNIVERSITI SAINS MALAYSIA. CMT224/CMM221 Multimedia Systems [Sistem Multimedia]

INSTRUCTION: This section consists of TWO (2) structured questions. Answer ALL questions.

UNIVERSITI SAINS MALAYSIA. CPT103 Struktur Data & Paradigma Pengaturcaraan

UNIVERSITI SAINS MALAYSIA. CPT103/ CPM211 Struktur Data & Paradigma Pengaturcaraan

ssk 2023 asas komunikasi dan rangkaian TOPIK 4.0 PENGALAMATAN RANGKAIAN Minggu 11

UNIVERSITI SAINS MALAYSIA. CPT201 Reka Bentuk & Analisis Algoritma

PART A SULIT (EKT 221) BAHAGIAN A. Answer ALL questions. Question 1. a) Briefly explain the concept of Clock Gating.

INSTRUCTION: This section consists of FOUR (4) questions. Answer ALL questions. ARAHAN: Bahagian ini mengandungi EMPAT (4) soalan. Jawab SEMUA soalan.

MAT 181 Programming For Scientific Applications [Pengaturcaraan Untuk Penggunaan Sains]

EEM 312 ROBOTIK & PENGLIHATAN MESIN

UNIVERSITI SAINS MALAYSIA. CST331 Principles of Parallel & Distributed Programming [Prinsip Pengaturcaraan Selari & Teragih]

UNIVERSITI SAINS MALAYSIA. CST231/CSM331 Data Communications & Networks [Komunikasi Data & Rangkaian]

INSTRUCTION: This section consists of FOUR (4) structured questions. Answer ALL questions.

UNIVERSITI SAINS MALAYSIA. CCS592 Advanced Algorithms and Complexity [Algoritma Lanjutan & Kekompleksan]

INSTRUCTION: This section consists of TWO (2) structured questions. Answer ALL questions.

MAT181 Programming For Scientific Applications [Pengaturcaraan Untuk Penggunaan Sains]

Pengenalan Sistem Maklumat Dalam Pendidikan

UNIVERSITI SAINS MALAYSIA. CPT103/CPM211 Struktur Data & Paradigma Pengaturcaraan

EEE 355 ROBOTIC & AUTOMATION [Robotik & Pengautomatan]

INSTRUCTION: This section consists of TWO (2) short answer and structured essay questions. Answer ALL questions.

INSTRUCTION: This section consists of TWO (2) questions. Answer ALL questions. ARAHAN: Bahagian ini mengandungi DUA (2) soalan. Jawab SEMUA soalan.

MULTIMEDIA COLLEGE JALAN GURNEY KIRI KUALA LUMPUR

EEE348 INTRODUCTION TO INTEGRATED CIRCUIT DESIGN (PENGANTAR REKABENTUK LITAR BERSEPADU)

UNIVERSITI SAINS MALAYSIA. CPT341 Software Design & Architecture [Reka Bentuk & Seni Bina Perisian]

UNIVERSITI SAINS MALAYSIA. CST234 Network Programming [Pengaturcaraan Rangkaian]

INSTRUCTION: This section consists of TWO (2) structured questions. Answer ALL questions.

UNIVERSITI SAINS MALAYSIA. CPT111 Principles of Programming [Prinsip Pengaturcaraan]

PANDUAN PENGGUNA (PENTADBIR SYSTEM/SYSTEM ADMINISTRATOR) (INFOTECH, BPPF DAN POLIS

MICROSOFT EXCEL. Membina Hamparan Elektronik Fungsi Hamparan Elektronik

UNIVERSITI SAINS MALAYSIA. CCS523 Computer Security & Cryptography [Keselamatan Komputer & Kriptografi]

MULTIMEDIA COLLEGE JALAN GURNEY KIRI KUALA LUMPUR

UNIVERSITI SAINS MALAYSIA. CCS513 Computer Vision and Image Analysis [Penglihatan Komputer dan Analisis Imej]

UNIVERSITI SAINS MALAYSIA. CPT101 Prinsip-Prinsip Pengaturcaraan

PANDUAN PENGGUNA (PENSYARAH)

MAT 181 Programming for Scientific Applications [Pengaturcaraan untuk Penggunaan Sains]

INSTRUCTION: This section consists of TWO (2)short answers and TWO (2) structured essays. Answer ALL questions.

INSTRUCTION: This section consists of FOUR (4) structured questions. Answer ALL questions.

UNIVERSITI SAINS MALAYSIA. CST432 Microprocessors & Embedded Systems [Mikropemproses & Sistem Terbenam]

UNIVERSITI SAINS MALAYSIA. CST232 Operating Systems [Sistem Pengendalian]

UNIVERSITI SAINS MALAYSIA EEE 355 ROBOT DAN PENGAUTOMATAN

PANDUAN PENGGUNA (SUPPLIER) MAINTAIN CERTIFICATES/SUPPLIER DETAILS SUPPLIER RELATIONSHIP MANAGEMENT SUPPLY CHAIN MANAGEMENT SYSTEM (SCMS)

INSTRUCTION: This section consists of FOUR (4) structured questions. Answer ALL questions.

CST432 Microprocessors & Embedded Systems [Mikropemproses & Sistem Terbenam]

Pengguna akan diberikan Username dan Password oleh Administrator untuk login sebagai admin/conference Manager bagi conference yang akan diadakan.

UNIVERSITI SAINS MALAYSIA. CPT113/CPM213 Programming Methodology & Data Structures [Metodologi Pengaturcaraan & Struktur Data]

COMBINING TABLES. Akademi Audit Negara. CAATs ASAS ACL / 1

UNIVERSITI MALAYSIA PERLIS. DNT 126 Basic Computer Programming [Asas Pengaturcaraan Komputer]

INSTRUCTION: This section consists of TWO (2) structured questions. Answer ALL questions.

INSTRUCTION: This section consists of TWO (2) structured questions. Answer ALL questions.

Semasa buku ini ditulis XAMPP mengandungi empat versi:

MAT 181 Programming For Scientific Applications [Pengaturcaraan Untuk Penggunaan Sains]

MAT 181 Programming For Scientific Applications [Pengaturcaraan Untuk Penggunaan Sains]

UNIVERSITI SAINS MALAYSIA. CMT322/CMM323 Web Engineering & Technologies [Kejuruteraan & Teknologi Web]

UNIVERSITI SAINS MALAYSIA. CPT101 Prinsip-Prinsip Pengaturcaraan

INSTRUCTION: This section consists of TEN (10) structured questions. Answer ALL questions.

INSTRUCTION: This section consists of TWO (2) questions. Answer ALL questions. ARAHAN: Bahagian ini mengandungi DUA (2) soalan. Jawab SEMUA soalan.

TEKNOLOGI, GADJET & KEIBUBAPAAN

INSTRUCTION: This section consists of TWO (2) structured questions. Answer ALL questions.

PANDUAN PENGGUNA (SUPPLIER) MAINTAIN CERTIFICATES/SUPPLIER DETAILS SUPPLIER RELATIONSHIP MANAGEMENT SUPPLY CHAIN MANAGEMENT SYSTEM (SCMS)

UNIVERSITI SAINS MALAYSIA. CMT221/CMM222 Database Organisation & Design [Organisasi & Reka Bentuk Pangkalan Data]

Panduan Guru Maker UNO/ Arduino

UNIVERSITI SAINS MALAYSIA. CCS514 - Envisioning Information [Pemelihatan Maklumat]

INSTRUCTION: This section consists of FOUR (4) structured questions. Answer ALL questions.

MANAGE COURSE RESOURCES LABEL TEXT PAGE URL BOOK FILE FOLDER IMS CONTENT PACKAGE

Jawab semua soalan. Nyatakan nilai digit bagi digit yang bergaris. State the digit value of the underlined digit.

CREATING USER ID AND PASSWORD : NOTA PENTING NOTA PENTING SEBELUM MEMULAKAN PROSES CREATE USER ID & PASSWORD

UNIVERSITI SAINS MALAYSIA. CIT502 Pengaturcaraan dan Kejuruteraan Perisian Berorientasi Objek

UNIVERSITI SAINS MALAYSIA. CST431/CST335 Systems Security & Protection [Keselamatan & Perlindungan Sistem]

Panduan Menggunakan Autoresponder FreeAutobot.com

PANDUAN PENGGUNA (SUPPLIER) e-purchase ORDER FOR SERVICES

Transcription:

UNIVERSITI SAINS MALAYSIA Second Semester Examination 2015/2016 Academic Session June 2016 CPT212 Design & Analysis of Algorithms [Reka Bentuk & Analisis Algoritma] Duration : 2 hours [Masa : 2 jam] INSTRUCTIONS TO CANDIDATE: [ARAHAN KEPADA CALON:] Please ensure that this examination paper contains FOUR questions in SEVEN printed pages before you begin the examination. [Sila pastikan bahawa kertas peperiksaan ini mengandungi EMPAT soalan di dalam TUJUH muka surat yang bercetak sebelum anda memulakan peperiksaan ini.] Answer ALL questions. [Jawab SEMUA soalan.] You may answer the questions either in English or in Bahasa Malaysia. [Anda dibenarkan menjawab soalan sama ada dalam bahasa Inggeris atau bahasa Malaysia.] In the event of any discrepancies, the English version shall be used. [Sekiranya terdapat sebarang percanggahan pada soalan peperiksaan, versi bahasa Inggeris hendaklah diguna pakai.]...2/-

- 2-1. (a) Two matrices of same dimension (A, B) can be added as follows: Dua matriks dengan dimensi yang sama (A, B) boleh ditambah seperti yang berikut: [ a 1,1 a 1,2 a 2,1 a 2,2 ] + [ b 1,1 b 1,2 b 2,1 b 2,2 ] = [ a 1,1 + b 1,1 a 1,2 + b 1,2 a 2,1 + b 2,1 a 2,2 + b 2,2 ] Write a Java function, addmatrix(int[][] a, int[][] b), to add two integer matrices and return the resulting matrix. Tulis suatu fungsi Java untuk menambah dua matriks, addmatrix(int[][] a, int[][] b, dan memulangkan matriks yang terhasil. For any two (2) types of primitive operations of the code written in 1(a), determine the number of primitive operations and the asymptotic complexity in big-oh notation. Bagi mana-mana dua (2) jenis operasi primitif bagi kod yang ditulis dalam 1(a), tentukan bilangan operasi primitif dan kekompleksan asimptot dalam tatatanda O-besar. A program X with input data 5, 6, 7, and 8 performs 17, 20, 23, and 26 operations respectively. What is the asymptotic complexity in big-oh notation for the program? Sebuah program X dengan data input 5, 6, 7 dan 8 melaksanakan 17, 20, 23 dan 26 operasi masing-masing. Apakah kekompleksan asimptot dalam tatatanda O-besar bagi program tersebut? (15/100) (c) Describe and illustrate using a figure, the operation of radix sort on the following list of words: Huraikan dan ilustrasikan dengan sebuah gambar rajah, operasi bagi isihan radiks bagi senarai perkataan berikut: egg, bee, apple, bean, abc, citrus (30/100) (d) What is the average asymptotic complexity of quick sort and what is the advantage of quick sort compared to merge sort? Apakah kekompleksan asimptot purata untuk isihan cepat dan apakah kelebihan isihan cepat berbanding isihan cantum? (15/100)...3/-

- 3-2. (a) The figure below shows an example of how a tree structure can be used to represent the information of an organization. Write a simple Java class, MultibranchTree, from scratch to implement a tree structure which will allow you to represent the information shown in the figure below. Gambar rajah di bawah menunjukkan contoh bagaimana sebuah struktur pepohon boleh digunakan untuk mewakili maklumat bagi sebuah organisasi. Tulis kelas Java yang mudah, MultibranchTree, dari mula untuk mengimplementasi sebuah struktur pepohon yang boleh mewakili maklumat seperti yang ditunjukkan dalam gambar rajah di bawah. CEO R&D Finance Human Resource (25/100) Given a B-tree below. Explain what happen when the value 20 is deleted from the tree. Diberi sebuah pepohon B di bawah. Terangkan apa akan berlaku apabila nilai 20 dihapuskan daripada pepohon tersebut. (15/100) (c) AVL tree can be used to keep a sorted list of words in lexicographic order. Pepohon AVL boleh digunakan untuk menyimpan sebuah senarai perkataan terisih dalam tertib leksikografi....4/-

- 4 - Assume you have the following list of words: apple, banana, papaya, lemon, lime, and watermelon. Describe and illustrate how the words are inserted into an AVL tree. Assuming the words given are used as key and value. Andaikan anda mempunyai suatu senarai perkataan berikut: apple, banana, papaya, lemon, lime, dan watermelon. Huraikan dan ilustrasikan bagaimana perkataan-perkataan tersebut disisip ke dalam pepohon AVL. Andaikan perkataan yang diberi digunakan sebagai kekunci dan nilai. What is the benefit of using an AVL tree, compared to a simple binary search tree? How can we print out the words in lexicographic order from an AVL tree? Apakah kebaikan menggunakan pepohon AVL berbanding pepohon gelintaran perduaan yang mudah? Bagaimanakah kita boleh mencetak perkataan-perkataan dalam urutan leksikografi daripada pepohon AVL? (60/100) 3. (a) A function is required to determine the number of edges in a directed graph. Sebuah fungsi diperlukan untuk menentukan bilangan tepi dalam graf tak berarah. How can we determine the number of edges if we are given the graph in adjacency list representation? Give also the corresponding pseudocode for this purpose? Bagaimanakah kita boleh menentukan bilangan tepi jika kita diberikan graf berkenaan dalam perwakilan senarai kesebelahan? Beri juga pseudokod berkenaan untuk tujuan ini. What is the complexity of the algorithm in 3(a). Justify your answer. Apakah kekompleksan algoritma dalam 3(a). Justifikasikan jawapan anda. (iii) What would happen to the complexity of the algorithm in 3(a) if we are given the graph in adjacency matrix representation? Justify your answer. Apakah yang akan terjadi terhadap kekompleksan algorithma dalam 3(a) jika kita diberikan graf berkenaan dalam perwakilan matriks kesebelahan. Justifikasikan jawapan anda. (30/100)...5/-

- 5 - Consider the following greedy strategy for finding a shortest path from vertex start to vertex goal in a given connected graph: 1. Initialize path to start. 2. Initialize VisitedVertices to {start}. 3. If start=goal, return path and exit. Otherwise, continue. 4. Find the edge (start, v) of minimum weight such that v is adjacent to start and v is not in VisitedVertices. 5. Add v to path. 6. Add v to VisitedVertices 7. Set start equal to v and go to step 3. Pertimbangkan strategi tamak berikut untuk mencari laluan terpendek dari bucu mula ke bucu matlamat pada graf terkait yang diberi: 1. Awalkan laluan kepada mula. 2. Awalkan BucuDilawat kepada {mula}. 3. Jika mula=matlamat, kembalikan laluan dan keluar. Jika tidak, teruskan. 4. Cari tepi (mula, v) dengan pemberat minimum yang mana v adalah bersebelahan dengan mula dan v bukan dalam BucuDilawat. 5. Tambahkan v kepada laluan. 6. Tambahkan v kepada BucuDilawat. 7. Tetapkan mula kepada v dan pergi ke langkah 3. Does this greedy strategy always find a shortest path from start to goal? Either explain intuitively why it works, or give a counter example using the following example: Adakah strategi tamak ini sentiasa mendapatkan laluan terpendek dari mula ke matlamat? Sama ada jelaskan secara intuitif kenapa ia berjaya, atau berikan penyangkal menggunakan contoh berikut: A weighted graph with vertices A, B, C and D, and the following edges and corresponding weights: Sebuah graf berpemberat dengan bucu-bucu A, B, C dan D, dan tepi serta pemberat berkaitan seperti yang berikut: (A,B,1) (A,C,2) (B,D,3) (C,D,1) (30/100)...6/-

- 6 - (c) Draw the 11-entry hash table that results from using the hash function h = (3i + 5) mod 11, to hash the keys 12, 44, 13, 88, 23, 94, 11, 39, 20, 16 and 5, assuming collisions are handled by chaining. Lukis jadual cincang 11-kemasukan yang terhasil daripada penggunaan fungsi cincang h = (3i + 5) mod 11, untuk mencincang kunci 12, 44, 13, 88, 23, 94, 11, 39, 20, 16 dan 5, dengan mengandaikan perlanggaran dikendalikan oleh perantaian. What would be the result of question 3(c), assuming collisions are handled by linear probing. Apakah hasil dari soalan 3(c), jika mengandaikan perlanggaran dikendalikan oleh pemeriksaan linear. 4. (a) Given an alphabet {a i} with frequencies {f(a i)} using the Huffman algorithm, find a set of binary codewords C = {c(a 1),.c(a n)} such that the average number of bits used to represent the data is minimized. Show the representation of the binary code as a binary tree. Diberi satu abjad {a i} dengan frekuensi {f(a i)} menggunakan algoritma Huffman, dapatkan satu set perkataan kod perduaan C = {c(a 1),.c(a n)} supaya purata bilangan bit yang digunakan untuk mewakili data adalah minimum. Tunjukkan perwakilan kod perduaan itu sebagai pepohon perduaan. Character Aksara Frequency Frekuensi a b c d e f 0.45 0.13 0.12 0.16 0.09 0.05 List the prefixes of the string P = aaabbaaa that are also suffixes of P. Senaraikan awalan bagi rentetan P = aaabbaaa yang juga merupakan akhiran bagi P. In external fragmentation of memory management, the operating system uses a dynamic partitioning placement algorithm to decide which free block to be allocated to a process. List down all four (4) algorithms available. Which one gives the best performance? Dalam penyerpihan luar pengurusan ingatan, sistem pengendalian menggunakan algoritma penempatan pemetakan dinamik untuk memutuskan blok bebas yang mana akan diperuntukkan kepada sesuatu proses. Senaraikan kesemua empat (4) algoritma yang ada. Yang manakah menghasilkan prestasi terbaik? (20/100)...7/-

- 7 - (c) Consider the following pseudocode for a simple approach to string matching: Pertimbangkan pseudokod berikut untuk pendekatan mudah pemadanan rentetan: bruteforcestringmatching(pattern P, text T) i = 0; while i T - P j = 0; while Ti == Pj and j < P i++; // (A) j++; if j == P return match at i - P ; // (B) i = i - j + 1; // (C) return no match; // (D) Give appropriate comments to replace (A), (B), (C) and (D) as indicated in the above pseudocode. Beri ulasan yang sesuai bagi menggantikan (A), (B), (C) dan (D) seperti yang ditandakan dalam pseudokod di atas. For the above algorithm, give the worst case complexity and a situation when the worst case occurs. Bagi algoritma di atas, beri kekompleksan kes terburuk dan satu situasi apabila kes terburuk berlaku. (iii) The above algorithm finds an occurrence of a pattern in the text and discontinues after finding the first occurence. How could the algorithm be modified so that multiple searches could be carried out? Algoritma di atas mencari satu kejadian sebuah pola dalam teks dan berhenti apabila kejadian yang pertama ditemui. Bagaimanakah algoritma berkenaan boleh diubah suai supaya penggelintaran berganda boleh dilakukan? - ooooooo -