Analyze the time complexity of this program in big-O notation, assuming that the total number of numbers and symbols in the expression is n. Expect any type of numbers including integers, floats/doubles static double evalPostFix() { Stack s = new Stack(); String token; Double a, b, result=0.0; boolean isNumber; Scanner sc = new Scanner(System.in); token = sc.next(); while (token.charAt(0) != '=') { try { isNumber = true; result = Double.parseDouble(token); } catch (Exception e) { isNumber = false; } if (isNumber) s.push(result); else { switch (token.charAt(0)) { case ’+’: a = s.pop(); b = s.pop(); s.push(a+b); break; case ’-’: a = s.pop(); b = s.pop(); s.push(a-b); break; case ’*’: a = s.pop(); b = s.pop(); s.push(a*b); break; case ’/’: a = s.pop(); b = s.pop(); s.push(a/b); break; case ’^’: a = s.pop(); b = s.pop(); s.push(Math.exp(a*Math.log(b))); break; } } token = sc.next(); } return s.peek(); }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
icon
Concept explainers
Question

Analyze the time complexity of this program in big-O notation, assuming that the total number of numbers and symbols in the expression is n. Expect any type of numbers including integers, floats/doubles

static double evalPostFix()
{
Stack<Double> s = new Stack<Double>();
String token;
Double a, b, result=0.0;
boolean isNumber;

Scanner sc = new Scanner(System.in);
token = sc.next();
while (token.charAt(0) != '=')
{
try
{
isNumber = true;
result = Double.parseDouble(token);
}
catch (Exception e)
{
isNumber = false;
}
if (isNumber)
s.push(result);
else
{
switch (token.charAt(0))
{
case ’+’: a = s.pop(); b = s.pop();
s.push(a+b); break;
case ’-’: a = s.pop(); b = s.pop();
s.push(a-b); break;
case ’*’: a = s.pop(); b = s.pop();
s.push(a*b); break;
case ’/’: a = s.pop(); b = s.pop();
s.push(a/b); break;
case ’^’: a = s.pop(); b = s.pop();
s.push(Math.exp(a*Math.log(b)));
break;
}
}

token = sc.next();
}
return s.peek();
}

Expert Solution
steps

Step by step

Solved in 3 steps

Blurred answer
Knowledge Booster
Depth First Search
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education