0 views

Uploaded by Xan Pbw

.....

- Bubble and Merge Sort
- aaoa chap 1
- Data Structures Cheat Sheet
- R Tutorial
- Chapter 09
- Analog Ic Design
- Outline 2015
- MELJUN CORTES Midterm Exam ITC16
- Fazni Kut Izracun
- Afi Detailed Toc
- LAB Manual
- Computer science C++
- 615.05
- Gate Cs Solved Paper by Nodia 2
- Linear Algebra, Chemical Equations Balance
- Optimized Select Algo
- Remedy for Effective Cure of Diseases using Combined Neutrosophic Relational Maps
- mail_for_ds
- Unit 2 Review Answers
- Sorting Algorithms in Java - Bubble Sort

You are on page 1of 4

Name:

1. (20 points) A network topology specifies how computers, printers, and other devices are connected over

a network. Figure 1 below illustrates three common topologies of networks: the ring, the star, and the

fully connected mesh.

star

mesh

Figure 1: Topologies

You are given a boolean matrix A[0..n − 1, 0..n − 1], where n > 3, which is supposed to be the adjacency

matrix of a graph modeling a network with one of these topologies, if any, the matrix represents. Design

a brute-force algorithm (express it in pseudocode) for this task and indicate its time efficiency class.

[Solution] Each vertex of a ring is connected to exactly two other vertices, so if we sum up the entires

in a row we get 2. For a star, each of the n − 1 vertices is connected to one other vertex and the central

vertex is connected to n − 1 other vertices. For a fully connected mesh, each vertex is connected to

exactly n − 1 other vertices. The pseudocode is given in W hichT opology.

Time efficiency is linear.

2. (25 points) Consider the following algorithm:

(a) Apply CountingSort algorithm to sort the list h2, 5, 3, 0, 2, 3, 0, 3i. Specifically, show the states of

the array C just after line no. 9 and just after line no. 12. And also show the state of the array B

after each iteration of the for loop on line no. 13.

[Solution]

Initially, A = h2a , 5, 3a , 0a , 2b , 3b , 0b , 3c i. The superscripts are to help decide on stability.

Just after line no. 9: C = h2, 0, 2, 3, 0, 1i. C now contains say how many 2’s are there in A at C[2],

etc. Just after line no. 12: C = h2, 2, 4, 7, 7, 8i. Now C contains say how many elements of A are

less or equal to 2 at C[2], etc.

The states of B after iterations are as follows:

[i = 8] : h∅, ∅, ∅, ∅, ∅, ∅, 3c , ∅i

[i = 7] : h∅, 0b , ∅, ∅, ∅, ∅, 3c , ∅i

[i = 6] : h∅, 0b , ∅, ∅, ∅, 3b , 3c , ∅i

[i = 5] : h∅, 0b , ∅, 2b , ∅, 3b , 3c , ∅i

[i = 4] : h0a , 0b , ∅, 2b , ∅, 3b , 3c , ∅i

[i = 3] : h0a , 0b , ∅, 2b , 3a , 3b , 3c , ∅i

[i = 2] : h0a , 0b , ∅, 2b , 3a , 3b , 3c , 5i

[i = 1] : h0a , 0b , 2a , 2b , 3a , 3b , 3c , 5i

COSC 3100, Spring First Test, Page 2 of 4 February 14, 2012

1: {Determines whether the graph is a ring, a star, or a fully connected mesh}

2: {Input: Boolean adjacency matrix A[0..n − 1, 0..n − 1] of the graph}

3: {Output: 1 denoting a ring, 2 denoting a star, or 3 denoting a fully connected mesh}

4: d0 ← 0

5: for c ← 1 to n − 1 do

6: d0 ← d0 + A[0, c]

7: end for

8: if d0 = 2 then

9: return 1

10: end if

11: if d0 = 1 then

12: return 2

13: end if

14: d1 ← 0

15: for c ← 0 to n − 1 do

16: d1 ← d1 + A[1, c]

17: end for

18: if d0 = d1 then

19: return 3

20: else

21: return 2

22: end if

(b) Do we need to consider the worst-case, the average-case, and the best-case while analyzing the

algorithm? Explain your answer. What is the time efficiency class of this algorithm?

[Solution] The algorithm never compares two elements and its operation is independent of the

specific elements in A. So, we do not need to consider various cases. The time efficiency class is

linear.

(c) Is it a stable sorting algorithm? Explain your answer. Give one situation where we may prefer a

stable sorting algorithm over an unstable one.

[Solution] It is a stable algorithm which is obvious from the final state of B. It is stable because it

starts putting the elements of A in sorted order from right to left. One situation could be, students

are already sorted alphabetically, now we want to sort them by their grade but want to preserve

alphabetic order for the students having the same grade.

(d) Is it an in-place sorting algorithm? Explain your answer.

[Solution] It is not in-place, because it uses extra arrays whose size depends on the input size, n.

3. (15 points) Give an example of a text of length n and a pattern of length m (> 1) that constitutes

a worst-case input for the brute-force string matching algorithm (given below). Exactly how many

character comparisons will be made for such input?

[Solution] Text could be “aab” whereas the pattern could be “ab”. The worst case number of compar-

isons happens, m(n − m + 1) = 2(3 − 2 + 1) = 4.

4. (10 points) How can pseudorandom numbers be useful in the empirical analysis of an algorithm?

[Solution] We need to generate random inputs to perform the average-case analysis of an algorithm

empirically. We can use pseudorandom numbers to generate random sample sizes and also the individual

random input-elements.

COSC 3100, Spring First Test, Page 3 of 4 February 14, 2012

Algorithm 2 CountingSort(A[1..n], k)

1: {Sort the elements in A[1..n] in nondecreasing order}

2: {Input: An array A[1..n] of nonnegative integers and the value (k) of the the highest element in A[1..n]}

3: {Output: An array B[1..n] containing the elements of A[1..n] sorted in nondecreasing order}

4: for i ← 0 to k do

5: C[i] ← 0

6: end for

7: for i ← 1 to n do

8: C[A[i]] ← C[A[i]] + 1

9: end for

10: for i ← 1 to k do

11: C[i] ← C[i] + C[i − 1]

12: end for

13: for i ← n downto 1 do

14: B[C[A[i]]] ← A[i]

15: C[A[i]] ← C[A[i]] − 1

16: end for

17: return B

1: {Implements brute-force string matching}

2: {Input: An array T[0..n − 1] of n characters representing a text and an array P[0..m − 1] of m characters

representing a pattern}

3: {Output: The index of the first character in the text that starts a matching substring or −1 if the search

is unsuccessful}

4: for i ← 0 to n − m do

5: j←0

6: while j < m and P [j] = T [i + j] do

7: j ←j+1

8: end while

9: if j = m then

10: return i

11: end if

12: end for

13: return −1

COSC 3100, Spring First Test, Page 4 of 4 February 14, 2012

5. (10 points) Given f (n) = n2n and g(n) = 3n , which one do you think is true: f (n) ∈ O (g(n)),

f (n) ∈ Ω (g(n)), or f (n) ∈ Θ (g(n)). Prove your answer.

[Solution]

n2n n

lim = lim 3 n

n→∞ 3n

n→∞

2

1

= lim 3

3 n

[By L’Hospital’s rule]

n→∞ ln 2 2

n

1 2

= lim

ln 32 n→∞ 3

= 0.

6. (20 points) Solve the following recurrence relation (assume that n is a power of 2):

(

1 when n = 1,

T (n) =

2T n2 + 6n − 1

when n ≥ 2

Given T (n) ∈ O(g(n)), g(n) = ?

[Solution] Lets assume n = 2m or m = lg n.

n

T (n) = 2T + 6n − 1

h 2 n n i

= 2 2T 2

+ 6 − 1 + 6n − 1

n2 2

= 22 T 2

+ 6n − 2 + 6n − 1

h 2 n n i

= 22 2T + 6 − 1 + 2 · 6n − (1 + 2)

n 23 22

= 23 T + 3 · 6n − 20 + 21 + 22

3

2 n

m

+ m · 6n − 20 + 21 + 22 + . . . + 2m−1

= 2 T m

2

= 2m T (1) + 6mn − (2m − 1)

= 2m + 6mn − 2m + 1

= 6n lg n + 1.

1 Useful formulas

Pu

1. i=l 1=u−l+1

Pn n(n+1)

2. i=1 i= 2

Pn 2 n(n+1)(2n+1)

3. i=1 i = 6

an+1 −1

Pn i

4. i=0 a = a−1 (a 6= 1)

ln n

5. lg n = ln 2

d m m−1

6. dn n = mn

d 1

7. dn ln n = n

d n n

8. dn a = (ln a)a

- Bubble and Merge SortUploaded byVrunda Kapadia
- aaoa chap 1Uploaded byFurqan Naseer
- Data Structures Cheat SheetUploaded byOmer Shapira
- R TutorialUploaded byqwertyraul
- Chapter 09Uploaded byRuby Li
- Analog Ic DesignUploaded byalapati1234567890
- Outline 2015Uploaded byWaleed Khalid
- MELJUN CORTES Midterm Exam ITC16Uploaded byMELJUN CORTES, MBA,MPA
- Fazni Kut IzracunUploaded byJason Aguilar
- Afi Detailed TocUploaded byCatalinIordache
- LAB ManualUploaded byRohit Chahar
- Computer science C++Uploaded bysellary
- 615.05Uploaded bySam Keays
- Gate Cs Solved Paper by Nodia 2Uploaded byKrishnendu Rarhi
- Linear Algebra, Chemical Equations BalanceUploaded bynomiady
- Optimized Select AlgoUploaded byamara_abugoush9842
- Remedy for Effective Cure of Diseases using Combined Neutrosophic Relational MapsUploaded byAnonymous 0U9j6BLllB
- mail_for_dsUploaded byDeepak Gupta
- Unit 2 Review AnswersUploaded byroberttolar
- Sorting Algorithms in Java - Bubble SortUploaded bymkenning
- pbis student presentation 8th gradeUploaded byapi-366521992
- ALG1.3Uploaded byraw.junk
- Sequences on Graphs with SymmetriesUploaded byDon Hass
- Analysis of AlgorithmsUploaded bytezukafuji
- Sol.assignment3 GraphsUploaded bymak ars
- Cpp_STL_ReferenceManualUploaded byapi-19976667
- KERALA UNIVERSITY Mca Syllabus 2011 AdmissionsUploaded byMartin Sebastian
- Sequential and Parallel Sorting AlgorithmsUploaded bykesharwanidurgesh
- Dijkstra's AlgorithmUploaded byAdam Meyers
- Python Program to Find the Second Largest Number in a List - SanfoundryUploaded byRavinderRavi

- Us 5855514Uploaded byXan Pbw
- Code PascalUploaded byXan Pbw
- sejarah komputerUploaded byXan Pbw
- Us 5855514Uploaded byXan Pbw
- Us 5855514Uploaded byXan Pbw
- Rangkaian Logika Digital_Normal_bab 1Uploaded byIntropeksi Gulo
- Rangkaian Logika Digital_Normal_bab 1Uploaded byIntropeksi Gulo
- ipusakaUploaded byRizky 'peur' Onade
- Modul 1 ResistorUploaded byDilandy
- Tugas Pak LewiUploaded byXan Pbw

- Fockers Arma Scripting - Chapter 2Uploaded byMatt Harrison
- COS1512 Tutorial 202Uploaded byLina Slabbert-van Der Walt
- Infosys Placement Paper - 56Uploaded byvcet_placements
- Chapter 1 - Intro to Programming LanguageUploaded byIdham Arif
- programmingUploaded byAshvin Grace
- Variables del sistema ingles.pdfUploaded byORTIZ
- 3Uploaded bywangwww
- RobotikaUploaded byZoranMatuško
- 1 FlowchartUploaded byCharlene Leuterio Delas Alas
- My Reference Manual EmuCv.pdfUploaded byPhiokham Suriya
- cdbfliteUploaded byPatrick Detollenaere
- Message Size in SAP PI for Master InterfaceUploaded byAshish Kumar Mishra
- Sem fiveUploaded bySuyash Agrawal
- r2-cheatsheetUploaded byAnonymous vcdqCTtS9
- (Www.examforyou.blogspot.com)-ABB Placement Sample Paper 1Uploaded byChandra Sekhar Naidu Atchuta
- SQL Workbench ManualUploaded byFrancisco Javier Acuña Cortez
- DL BalanceUploaded byCarlos Brown
- varicell.txtUploaded bytgWTG
- 5. Binary Search TreesUploaded byAhmed Hosni
- PLSQL_9_2_PracticeUploaded byAiko
- Dp AmazingBooks RubricUploaded byOana
- Java ExamplesUploaded byvenucse@indiatimes.com
- dev ae codeUploaded byBoggarapu Venkatesh
- Infix to Postfix And PrefixUploaded byPushkar Dua
- Post Optimality AnalysisUploaded bylitrakhan
- 2-Heuristic Search.pptUploaded bySwapnil Joshi
- 98-362Uploaded byEdivilson
- Win APIUploaded byBodo Ellendt
- Java SE 7 Programming - Student GuideUploaded byrag33
- java - What is the difference between EJB, hibernate, spring and JSF_ - Stack Ov.pdfUploaded byKunal Kumar