Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Practical application 2 : Context - free language recognizer in java language. ( a ) Design an algorithm that recognizes ( accepts ) strings of

Practical application 2: Context-free language recognizer in java language.(a) Design an algorithm that recognizes (accepts) strings of the following context-free language: L ={0n1n : where n 1}. That is, strings that contain a number of zerosfollowed by the same number of ones. Examples of strings in the language are: 01,0011,000111, etc. Strings that are not in the language are, for example, 10,00,111,1100,0101,and many more. The algorithm should take a string of 0s and 1s as input and output Yesif the string belongs to the language, and No if the string doesnt belong to the language.The algorithm should use a stack. When it reads a 0 from the string, it pushes 0 onto thestack. When it reads a 1, it checks if the stack has a 0, in which case that 0 is popped fromthe stack. When the stack is empty and the end of the string is reached, the string isrecognized as correct (Yes). Otherwise, the string is not in the language (No).(b)[3 marks] Implement the algorithm of (a) in your favorite programming language and runit on different strings as follows: 01,000111,00000001111111, and 10,00,00111,0101,and others.(c)[2 marks] Consider an input string of size n: (i) what is the worst-case time that youralgorithm takes to decide whether or not the string belongs to the language? (ii) Why? Giveyour answers in terms of the O-notation.(d)[2 bonus marks] Run your algorithm on strings of lengths n =2,4,8,16,32,,220.Compute the running time in nanoseconds and draw a table with the results. Draw a table ora plot of the results for different values of n and compare the results obtained with thecomplexity you found in (c). Note: if all (or most of) the running times become 0, tryrunning the program 1,000 times and compute the average.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

The Accidental Data Scientist

Authors: Amy Affelt

1st Edition

1573877077, 9781573877077

More Books

Students also viewed these Databases questions

Question

3. Keep a list of suggestions.

Answered: 1 week ago

Question

2. What is the meaning and definition of Banking?

Answered: 1 week ago

Question

3.What are the Importance / Role of Bank in Business?

Answered: 1 week ago