{"id":9287,"date":"2022-08-25T11:24:11","date_gmt":"2022-08-25T11:24:11","guid":{"rendered":"https:\/\/www.prepbytes.com\/blog\/?p=9287"},"modified":"2023-04-27T05:31:01","modified_gmt":"2023-04-27T05:31:01","slug":"arithmetic-expression-evaluation","status":"publish","type":"post","link":"https:\/\/prepbytes.com\/blog\/arithmetic-expression-evaluation\/","title":{"rendered":"Arithmetic Expression Evaluation"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661426402223-Article%20%284%29.jpg\" alt=\"\" \/><\/p>\n<p>Arithmetic expression evaluation is the process of computing the value of a mathematical expression containing arithmetic operators, such as addition, subtraction, multiplication, and division, along with parentheses and operands. Before delving deep into the topic, let us first study what do mean by arithmetic expression in data structure.<\/p>\n<h2>Arithmetic Expression in Data Structure<\/h2>\n<p>An Arithmetic expression is a finite combination of arithmetic operands, operators(such as, +, -, \/, *), and brackets. The common way of representing an arithmetic expression is by using infix notation. In infix notation, the operands are separated by an operator as shown in the below example.<\/p>\n<p><strong>For example:<\/strong><\/p>\n<pre><code> X + Y.\n(X + Y) - Z.\nX \/ Y<\/code><\/pre>\n<p>We can clearly see here that the two operands are always separated by an operator or a parenthesis.<\/p>\n<p>The infix notation is solved using the operator precedence rule.<\/p>\n<h3>Operator Precedence Table<\/h3>\n<p>The below table shows the precedence of the operators in a sequential manner.<\/p>\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1)<\/td><td>Parentheses<\/td><\/tr><tr><td>2)<\/td><td>Addition(+), Subtraction(-)<\/td><\/tr><tr><td>3)<\/td><td>Multiply(*), Divide(\/)<\/td><\/tr><tr><td>4)<\/td><td>Relational operators(= &lt;> &lt; > &lt;= >=)<\/td><\/tr><tr><td>5)<\/td><td>IS<\/td><\/tr><tr><td>6)<\/td><td>NOT(~)<\/td><\/tr><tr><td>7)<\/td><td>AND(&amp;&amp;)<\/td><\/tr><tr><td>8)<\/td><td>OR(||)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n<p><strong>Example:<\/strong><\/p>\n<pre><code>(4 + 5) * (8 \/ 4 - 2)\n9 * (1 - 2)\n9 * -1\n-9<\/code><\/pre>\n<p>We can also represent an arithmetic expression using prefix or <a href=\"https:\/\/prepbytes.com\/blog\/stacks\/conversion-of-prefix-to-postfix-notation\/\" title=\"postfix notation.\">postfix notation.<\/a><\/p>\n<h3>Prefix Notation<\/h3>\n<p>In prefix notation, the operator comes first and the operands come after them. In the prefix expression, we don\u2019t use brackets. The other name for prefix notation is Polish notation.<\/p>\n<p><strong>Example:<\/strong><\/p>\n<pre><code>Prefix: +XY-MN \nInfix: (X + Y) (M \u2013 N)<\/code><\/pre>\n<h3>Algorithm to Evaluate Prefix Notation Using Stack<\/h3>\n<p>Here is the step-wise algorithm for the arithmetic expression evaluation using stack in Java.<\/p>\n<ol>\n<li>Read the given expression from right to left using a for loop.<\/li>\n<li>If the current character is an operand, push it to the stack.<\/li>\n<li>If the current character is an operator, remove the top two characters from the stack. Let\u2019s say the removed characters are operand1 and operand2. Now. evaluate (operand1 operator operand2) and push the solution back to the stack.<\/li>\n<li>The last character in the stack after traversing the complete prefix notation will be the solution.<\/li>\n<\/ol>\n<h3>Code Implementation<\/h3>\n<p>The code for the arithmetic expression evaluation using stack in Java fro prefix notation is given below.<\/p>\n\t\t\t\t\t\t<style>\r\n\t\t\t\t\r\n\t\t\t\t\t#tab_container_9289 {\r\n\toverflow:hidden;\r\n\tdisplay:block;\r\n\twidth:100%;\r\n\tborder:0px solid #ddd;\r\n\tmargin-bottom:30px;\r\n\t}\r\n\r\n#tab_container_9289 .tab-content{\r\n\tpadding:20px;\r\n\tborder: 1px solid #e6e6e6 !important;\r\n\tmargin-top: 0px;\r\n\tbackground-color:#ffffff !important;\r\n\tcolor: #000000 !important;\r\n\tfont-size:16px !important;\r\n\tfont-family: Open Sans !important;\r\n\t\r\n\t\tborder: 1px solid #e6e6e6 !important;\r\n\t}\r\n#tab_container_9289 .wpsm_nav-tabs {\r\n    border-bottom: 0px solid #ddd;\r\n}\r\n#tab_container_9289 .wpsm_nav-tabs > li.active > a, #tab_container_9289 .wpsm_nav-tabs > li.active > a:hover, #tab_container_9289 .wpsm_nav-tabs > li.active > a:focus {\r\n\tcolor: #000000 !important;\r\n\tcursor: default;\r\n\tbackground-color: #ffffff !important;\r\n\tborder: 1px solid #e6e6e6 !important;\r\n}\r\n\r\n#tab_container_9289 .wpsm_nav-tabs > li > a {\r\n    margin-right: 0px !important; \r\n    line-height: 1.42857143 !important;\r\n    border: 1px solid #d5d5d5 !important;\r\n    border-radius: 0px 0px 0 0 !important; \r\n\tbackground-color: #e8e8e8 !important;\r\n\tcolor: #000000 !important;\r\n\tpadding: 15px 18px 15px 18px !important;\r\n\ttext-decoration: none !important;\r\n\tfont-size: 14px !important;\r\n\ttext-align:center !important;\r\n\tfont-family: Open Sans !important;\r\n}\r\n#tab_container_9289 .wpsm_nav-tabs > li > a:focus {\r\noutline: 0px !important;\r\n}\r\n\r\n#tab_container_9289 .wpsm_nav-tabs > li > a:before {\r\n\tdisplay:none !important;\r\n}\r\n#tab_container_9289 .wpsm_nav-tabs > li > a:after {\r\n\tdisplay:none !important ;\r\n}\r\n#tab_container_9289 .wpsm_nav-tabs > li{\r\npadding:0px !important ;\r\nmargin:0px;\r\n}\r\n\r\n#tab_container_9289 .wpsm_nav-tabs > li > a:hover , #tab_container_9289 .wpsm_nav-tabs > li > a:focus {\r\n    color: #000000 !important;\r\n    background-color: #e8e8e8 !important;\r\n\tborder: 1px solid #d5d5d5 !important;\r\n\t\r\n}\r\n#tab_container_9289 .wpsm_nav-tabs > li > a .fa{\r\n\r\nmargin-right:5px !important;\r\n\r\nmargin-left:5px !important;\r\n\r\n\r\n}\r\n\r\n\t\t#tab_container_9289 .wpsm_nav-tabs a{\r\n\t\t\tbackground-image: none;\r\n\t\t\tbackground-position: 0 0;\r\n\t\t\tbackground-repeat: repeat-x;\r\n\t\t}\r\n\t\t\t\r\n\r\n\r\n#tab_container_9289 .wpsm_nav-tabs > li {\r\n    float: left;\r\n    margin-bottom: -1px !important;\r\n\tmargin-right:0px !important; \r\n}\r\n\r\n\r\n#tab_container_9289 .tab-content{\r\noverflow:hidden !important;\r\n}\r\n\r\n\r\n@media (min-width: 769px) {\r\n\r\n\t#tab_container_9289 .wpsm_nav-tabs > li{\r\n\t\tfloat:left !important ;\r\n\t\t\t\tmargin-right:-1px !important;\r\n\t\t\t\t\t}\r\n\t#tab_container_9289 .wpsm_nav-tabs{\r\n\t\tfloat:none !important;\r\n\t\tmargin:0px !important;\r\n\t}\r\n\r\n\t#tab_container_9289 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_9289 .wpsm_nav{\r\n\t\t\t}\r\n\r\n}\r\n\r\n\r\n\r\n@media (max-width: 768px) {\r\n\t#tab_container_9289 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_9289 .wpsm_nav{\r\n\t\t\t}\r\n}\r\n\r\n\r\n\t.wpsm_nav-tabs li:before{\r\n\t\tdisplay:none !important;\r\n\t}\r\n\r\n\t@media (max-width: 768px) {\r\n\t\t\t\t\r\n\t\t\t\t.wpsm_nav-tabs{\r\n\t\t\tmargin-left:0px !important;\r\n\t\t\tmargin-right:0px !important; \r\n\t\t\t\r\n\t\t}\r\n\t\t\t\t#tab_container_9289 .wpsm_nav-tabs > li{\r\n\t\t\tfloat:none !important;\r\n\t\t}\r\n\t\t\t\r\n\t}\t\t\t\t<\/style>\r\n\t\t\t\t<div id=\"tab_container_9289\" >\r\n\t \r\n\t\t\t\t\t<ul class=\"wpsm_nav wpsm_nav-tabs\" role=\"tablist\" id=\"myTab_9289\">\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<li role=\"presentation\"  class=\"active\"  onclick=\"do_resize()\">\r\n\t\t\t\t\t\t\t\t<a href=\"#tabs_desc_9289_1\" aria-controls=\"tabs_desc_9289_1\" role=\"tab\" data-toggle=\"tab\">\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-code\"><\/i> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<span>Java<\/span>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t <\/ul>\r\n\r\n\t\t\t\t\t  <!-- Tab panes -->\r\n\t\t\t\t\t  <div class=\"tab-content\" id=\"tab-content_9289\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane  in active \" id=\"tabs_desc_9289_1\">\r\n\t\t\t\t\t\t\t\t<!-- wp:enlighter\/codeblock {\"language\":\"java\"} -->\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\r\nimport java.util.*;\r\npublic class Prepbytes\r\n{\r\n\tpublic static void main(String[] args) {\r\n\t\tchar expression[] = new char[]{'*', '-', '5', '4', '+', '3', '2'};\r\n\t\tint ans = evaluate(expression);\r\n\t\tSystem.out.println(ans);\r\n\t}\r\n\t\r\n\t\/\/ This function will evaluate the given expression\r\n\tpublic static int evaluate(char[] expression){\r\n\t    Stack&lt;Character&gt; st = new Stack&lt;&gt;();\r\n\t    int n = expression.length;\r\n\t    \r\n\t    \/\/ Traverse the given expression in left to right direction\r\n\t    for(int i = n - 1; i &gt;= 0; i--){\r\n\t        char ch = expression[i];\r\n\t        \r\n\t        \/\/ If the current character is an operand, push it to the stack.\r\n\t        if((int)ch - '0' &gt;= 0 &amp;&amp; (int)ch - '0' &lt;= 9){\r\n\t            st.push(ch);\r\n\t        }\r\n\t        \r\n\t        \/\/ If the current character is an operator.\r\n\t        else{\r\n\t            \r\n\t            \/\/ Remove the top two characters from the stack.\r\n\t            int operand2 = st.pop() - '0';\r\n\t            int operand1 = st.pop() - '0';\r\n\t            int val = 0;\r\n\t            \r\n\t            \/\/ Evaluate (operand1 operator operand2)\r\n\t            switch(ch){\r\n\t                case '+':\r\n\t                    val = operand1 + operand2;\r\n\t                    break;\r\n                    case '-':\r\n                        val = operand1 - operand2;\r\n\t                    break;\r\n                    case '*':\r\n                        val = operand1 * operand2;\r\n\t                    break;\r\n                    case '\/':\r\n                        val = operand1 \/ operand2;\r\n\t                    break;\r\n\t            }\r\n\t            \r\n\t            \/\/ Push the solution back to the stack.\r\n\t            st.push((char)(val + '0'));\r\n\t        }\r\n\t    }\r\n\t    return st.pop() - '0';\r\n\t}\r\n}\r\n\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\r\n\t\t\t\t\t\t <\/div>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t <\/div>\r\n\t\t\t\t\t \r\n\t\t\t\t <\/div>\r\n <script>\r\n\t\tjQuery(function () {\r\n\t\t\tjQuery('#myTab_9289 a:first').tab('show')\r\n\t\t});\r\n\t\t\r\n\t\t\t\tjQuery(function(){\r\n\t\t\tvar b=\"fadeIn\";\r\n\t\t\tvar c;\r\n\t\t\tvar a;\r\n\t\t\td(jQuery(\"#myTab_9289 a\"),jQuery(\"#tab-content_9289\"));function d(e,f,g){\r\n\t\t\t\te.click(function(i){\r\n\t\t\t\t\ti.preventDefault();\r\n\t\t\t\t\tjQuery(this).tab(\"show\");\r\n\t\t\t\t\tvar h=jQuery(this).data(\"easein\");\r\n\t\t\t\t\tif(c){c.removeClass(a);}\r\n\t\t\t\t\tif(h){f.find(\"div.active\").addClass(\"animated \"+h);a=h;}\r\n\t\t\t\t\telse{if(g){f.find(\"div.active\").addClass(\"animated \"+g);a=g;}else{f.find(\"div.active\").addClass(\"animated \"+b);a=b;}}c=f.find(\"div.active\");\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t\t\r\n\r\n\t\tfunction do_resize(){\r\n\r\n\t\t\tvar width=jQuery( '.tab-content .tab-pane iframe' ).width();\r\n\t\t\tvar height=jQuery( '.tab-content .tab-pane iframe' ).height();\r\n\r\n\t\t\tvar toggleSize = true;\r\n\t\t\tjQuery('iframe').animate({\r\n\t\t\t    width: toggleSize ? width : 640,\r\n\t\t\t    height: toggleSize ? height : 360\r\n\t\t\t  }, 250);\r\n\r\n\t\t\t  toggleSize = !toggleSize;\r\n\t\t}\r\n\r\n\r\n\t<\/script>\r\n\t\t\t\t\r\n\t\t\t\n<p><strong>Output:<\/strong><\/p>\n<pre><code>-5<\/code><\/pre>\n<p><strong>Time Complexity:<\/strong> O(n) where n is the number of characters in the expression. Each character is pushed and popped in the stack exactly once, hence the time complexity is O(n).<\/p>\n<p><strong>Space Complexity:<\/strong> O(n) as we are using stack.<\/p>\n<h3>Postfix Notation<\/h3>\n<p>In postfix notation, the operators come after the operands, just opposite of the prefix notation. In the postfix expression, we don\u2019t use brackets. The prefix notation is commonly known as Reverse Polish notation.<\/p>\n<p><strong>Example:<\/strong><\/p>\n<pre><code>Prefix: NM-XY+ \nInfix: (X + Y) (M \u2013 N)<\/code><\/pre>\n<h3>Algorithm to Evaluate Prefix Notation, Using Stack<\/h3>\n<p>The stepwise algorithm for arithmetic expression evaluation using stack in Java is given below.<\/p>\n<ol>\n<li>Read the expression from left to right.<\/li>\n<li>If the current character is an operand, push it to the stack.<\/li>\n<li>If the current character is an operator, remove the top two characters from the stack. Let\u2019s say the removed characters are operand1 and operand2. Now. evaluate (operand1 operator operand2) and push the solution back to the stack.<\/li>\n<li>The last character in the stack after traversing the complete prefix notation will be the solution.<\/li>\n<\/ol>\n<h3>Dry Run for Arithmetic Expression Evaluation using Stack<\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661426444117-Image-01%20%286%29.png\" alt=\"\" \/><\/p>\n<h3>Code Implementation<\/h3>\n<p>Here is the code implementation for the arithmetic expression evaluation using stack in Java.<\/p>\n\t\t\t\t\t\t<style>\r\n\t\t\t\t\r\n\t\t\t\t\t#tab_container_9288 {\r\n\toverflow:hidden;\r\n\tdisplay:block;\r\n\twidth:100%;\r\n\tborder:0px solid #ddd;\r\n\tmargin-bottom:30px;\r\n\t}\r\n\r\n#tab_container_9288 .tab-content{\r\n\tpadding:20px;\r\n\tborder: 1px solid #e6e6e6 !important;\r\n\tmargin-top: 0px;\r\n\tbackground-color:#ffffff !important;\r\n\tcolor: #000000 !important;\r\n\tfont-size:16px !important;\r\n\tfont-family: Open Sans !important;\r\n\t\r\n\t\tborder: 1px solid #e6e6e6 !important;\r\n\t}\r\n#tab_container_9288 .wpsm_nav-tabs {\r\n    border-bottom: 0px solid #ddd;\r\n}\r\n#tab_container_9288 .wpsm_nav-tabs > li.active > a, #tab_container_9288 .wpsm_nav-tabs > li.active > a:hover, #tab_container_9288 .wpsm_nav-tabs > li.active > a:focus {\r\n\tcolor: #000000 !important;\r\n\tcursor: default;\r\n\tbackground-color: #ffffff !important;\r\n\tborder: 1px solid #e6e6e6 !important;\r\n}\r\n\r\n#tab_container_9288 .wpsm_nav-tabs > li > a {\r\n    margin-right: 0px !important; \r\n    line-height: 1.42857143 !important;\r\n    border: 1px solid #d5d5d5 !important;\r\n    border-radius: 0px 0px 0 0 !important; \r\n\tbackground-color: #e8e8e8 !important;\r\n\tcolor: #000000 !important;\r\n\tpadding: 15px 18px 15px 18px !important;\r\n\ttext-decoration: none !important;\r\n\tfont-size: 14px !important;\r\n\ttext-align:center !important;\r\n\tfont-family: Open Sans !important;\r\n}\r\n#tab_container_9288 .wpsm_nav-tabs > li > a:focus {\r\noutline: 0px !important;\r\n}\r\n\r\n#tab_container_9288 .wpsm_nav-tabs > li > a:before {\r\n\tdisplay:none !important;\r\n}\r\n#tab_container_9288 .wpsm_nav-tabs > li > a:after {\r\n\tdisplay:none !important ;\r\n}\r\n#tab_container_9288 .wpsm_nav-tabs > li{\r\npadding:0px !important ;\r\nmargin:0px;\r\n}\r\n\r\n#tab_container_9288 .wpsm_nav-tabs > li > a:hover , #tab_container_9288 .wpsm_nav-tabs > li > a:focus {\r\n    color: #000000 !important;\r\n    background-color: #e8e8e8 !important;\r\n\tborder: 1px solid #d5d5d5 !important;\r\n\t\r\n}\r\n#tab_container_9288 .wpsm_nav-tabs > li > a .fa{\r\n\r\nmargin-right:5px !important;\r\n\r\nmargin-left:5px !important;\r\n\r\n\r\n}\r\n\r\n\t\t#tab_container_9288 .wpsm_nav-tabs a{\r\n\t\t\tbackground-image: none;\r\n\t\t\tbackground-position: 0 0;\r\n\t\t\tbackground-repeat: repeat-x;\r\n\t\t}\r\n\t\t\t\r\n\r\n\r\n#tab_container_9288 .wpsm_nav-tabs > li {\r\n    float: left;\r\n    margin-bottom: -1px !important;\r\n\tmargin-right:0px !important; \r\n}\r\n\r\n\r\n#tab_container_9288 .tab-content{\r\noverflow:hidden !important;\r\n}\r\n\r\n\r\n@media (min-width: 769px) {\r\n\r\n\t#tab_container_9288 .wpsm_nav-tabs > li{\r\n\t\tfloat:left !important ;\r\n\t\t\t\tmargin-right:-1px !important;\r\n\t\t\t\t\t}\r\n\t#tab_container_9288 .wpsm_nav-tabs{\r\n\t\tfloat:none !important;\r\n\t\tmargin:0px !important;\r\n\t}\r\n\r\n\t#tab_container_9288 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_9288 .wpsm_nav{\r\n\t\t\t}\r\n\r\n}\r\n\r\n\r\n\r\n@media (max-width: 768px) {\r\n\t#tab_container_9288 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_9288 .wpsm_nav{\r\n\t\t\t}\r\n}\r\n\r\n\r\n\t.wpsm_nav-tabs li:before{\r\n\t\tdisplay:none !important;\r\n\t}\r\n\r\n\t@media (max-width: 768px) {\r\n\t\t\t\t\r\n\t\t\t\t.wpsm_nav-tabs{\r\n\t\t\tmargin-left:0px !important;\r\n\t\t\tmargin-right:0px !important; \r\n\t\t\t\r\n\t\t}\r\n\t\t\t\t#tab_container_9288 .wpsm_nav-tabs > li{\r\n\t\t\tfloat:none !important;\r\n\t\t}\r\n\t\t\t\r\n\t}\t\t\t\t<\/style>\r\n\t\t\t\t<div id=\"tab_container_9288\" >\r\n\t \r\n\t\t\t\t\t<ul class=\"wpsm_nav wpsm_nav-tabs\" role=\"tablist\" id=\"myTab_9288\">\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<li role=\"presentation\"  class=\"active\"  onclick=\"do_resize()\">\r\n\t\t\t\t\t\t\t\t<a href=\"#tabs_desc_9288_1\" aria-controls=\"tabs_desc_9288_1\" role=\"tab\" data-toggle=\"tab\">\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-code\"><\/i> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<span>Java<\/span>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t <\/ul>\r\n\r\n\t\t\t\t\t  <!-- Tab panes -->\r\n\t\t\t\t\t  <div class=\"tab-content\" id=\"tab-content_9288\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane  in active \" id=\"tabs_desc_9288_1\">\r\n\t\t\t\t\t\t\t\t<!-- wp:enlighter\/codeblock {\"language\":\"java\"} -->\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\r\n\r\nimport java.util.*;\r\npublic class Prepbytes\r\n{\r\n\tpublic static void main(String[] args) {\r\n\t\tchar expression[] = new char[]{'2', '3', '+', '4', '5', '-', '*'};\r\n\t\tint ans = evaluate(expression);\r\n\t\tSystem.out.println(ans);\r\n\t}\r\n\t\r\n\t\/\/ This function will evaluate the given expression\r\n\tpublic static int evaluate(char[] expression) {\r\n\t    Stack&lt;Character&gt; st = new Stack&lt;&gt;();\r\n\t    \r\n\t    \/\/ Traverse the given expression in left to right direction\r\n\t    for(char ch : expression){\r\n\t        \r\n\t        \/\/ If the current character is an operand, push it to the stack.\r\n\t        if((int)ch - '0' &gt;= 0 &amp;&amp; (int)ch - '0' &lt;= 9) {\r\n\t            st.push(ch);\r\n\t        }\r\n\t        \r\n\t        \/\/ If the current character is an operator.\r\n\t        else{\r\n\t            \r\n\t            \/\/ Remove the top two characters from the stack.\r\n\t            int operand2 = st.pop() - '0';\r\n\t            int operand1 = st.pop() - '0';\r\n\t            int val = 0;\r\n\t            \r\n\t            \/\/ Evaluate (operand1 operator operand2)\r\n\t            switch(ch) {\r\n\t                case '+':\r\n\t                    val = operand1 + operand2;\r\n\t                    break;\r\n                    case '-':\r\n                        val = operand1 - operand2;\r\n\t                    break;\r\n                    case '*':\r\n                        val = operand1 * operand2;\r\n\t                    break;\r\n                    case '\/':\r\n                        val = operand1 \/ operand2;\r\n\t                    break;\r\n\t            }\r\n\t            \r\n\t            \/\/ Push the solution back to the stack.\r\n\t            st.push((char)(val + '0'));\r\n\t        }\r\n\t    }\r\n\t    return st.pop() - '0';\r\n\t}\r\n}\r\n\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\r\n\t\t\t\t\t\t <\/div>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t <\/div>\r\n\t\t\t\t\t \r\n\t\t\t\t <\/div>\r\n <script>\r\n\t\tjQuery(function () {\r\n\t\t\tjQuery('#myTab_9288 a:first').tab('show')\r\n\t\t});\r\n\t\t\r\n\t\t\t\tjQuery(function(){\r\n\t\t\tvar b=\"fadeIn\";\r\n\t\t\tvar c;\r\n\t\t\tvar a;\r\n\t\t\td(jQuery(\"#myTab_9288 a\"),jQuery(\"#tab-content_9288\"));function d(e,f,g){\r\n\t\t\t\te.click(function(i){\r\n\t\t\t\t\ti.preventDefault();\r\n\t\t\t\t\tjQuery(this).tab(\"show\");\r\n\t\t\t\t\tvar h=jQuery(this).data(\"easein\");\r\n\t\t\t\t\tif(c){c.removeClass(a);}\r\n\t\t\t\t\tif(h){f.find(\"div.active\").addClass(\"animated \"+h);a=h;}\r\n\t\t\t\t\telse{if(g){f.find(\"div.active\").addClass(\"animated \"+g);a=g;}else{f.find(\"div.active\").addClass(\"animated \"+b);a=b;}}c=f.find(\"div.active\");\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t\t\r\n\r\n\t\tfunction do_resize(){\r\n\r\n\t\t\tvar width=jQuery( '.tab-content .tab-pane iframe' ).width();\r\n\t\t\tvar height=jQuery( '.tab-content .tab-pane iframe' ).height();\r\n\r\n\t\t\tvar toggleSize = true;\r\n\t\t\tjQuery('iframe').animate({\r\n\t\t\t    width: toggleSize ? width : 640,\r\n\t\t\t    height: toggleSize ? height : 360\r\n\t\t\t  }, 250);\r\n\r\n\t\t\t  toggleSize = !toggleSize;\r\n\t\t}\r\n\r\n\r\n\t<\/script>\r\n\t\t\t\t\r\n\t\t\t\n<p><strong>Output:<\/strong><\/p>\n<pre><code>-5<\/code><\/pre>\n<p><strong>Time Complexity:<\/strong> O(n)  where n is the length of the expression. Each character is pushed and popped in the stack exactly once, hence the time complexity is O(n).<\/p>\n<p><strong>Space Complexity:<\/strong> O(n) as we are using stack.<\/p>\n<p><strong>Conclusion<\/strong>\nIn this article, we learned about the arithmetic expression in data structure. We have also discussed the algorithm and code implementation of the arithmetic expression evaluation using stack in Java. Hope this blog helps you understand and solve the problem. <\/p>\n<h2>FAQs Related to Arithmetic Expression<\/h2>\n<p>Here are some frequently asked questions on arithmetic expression evaluation using stack in Java.<\/p>\n<p><strong>Ques 1. What is a stack data structure?<\/strong>\n<strong>Ans.<\/strong> A stack is a data structure that follows the Last-In-First-Out (LIFO) principle. It is a collection of elements where the last element added to the stack is the first one to be removed.<\/p>\n<p><strong>Ques 2. How is a stack implemented in Java?<\/strong>\n<strong>Ans.<\/strong> A stack can be implemented in Java using the Stack class, which is a part of the Java Collections framework.<\/p>\n<p><strong>Ques 3. What is the difference between a stack and a queue data structure?<\/strong>\n<strong>Ans.<\/strong> A stack follows the Last-In-First-Out (LIFO) principle, while a queue follows the First-In-First-Out (FIFO) principle.<\/p>\n<p><strong>Ques 4. What is the postfix evaluation algorithm?<\/strong>\n<strong>Ans.<\/strong> The postfix evaluation algorithm is an algorithm for evaluating the value of a postfix expression using a stack data structure.<\/p>","protected":false},"excerpt":{"rendered":"<p>Arithmetic expression evaluation is the process of computing the value of a mathematical expression containing arithmetic operators, such as addition, subtraction, multiplication, and division, along with parentheses and operands. Before delving deep into the topic, let us first study what do mean by arithmetic expression in data structure. Arithmetic Expression in Data Structure An Arithmetic [&hellip;]<\/p>\n","protected":false},"author":52,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[127],"tags":[],"class_list":["post-9287","post","type-post","status-publish","format-standard","hentry","category-stacks"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Arithmetic Expression Evaluation | PrepBytes Blog<\/title>\n<meta name=\"description\" content=\"This article tried to discuss about arithmetic expression evaluation. Hope this blog helps you understand and solve the problem.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/prepbytes.com\/blog\/arithmetic-expression-evaluation\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Arithmetic Expression Evaluation | PrepBytes Blog\" \/>\n<meta property=\"og:description\" content=\"This article tried to discuss about arithmetic expression evaluation. Hope this blog helps you understand and solve the problem.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prepbytes.com\/blog\/arithmetic-expression-evaluation\/\" \/>\n<meta property=\"og:site_name\" content=\"PrepBytes Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prepbytes0211\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-08-25T11:24:11+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-04-27T05:31:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661426402223-Article%20%284%29.jpg\" \/>\n<meta name=\"author\" content=\"Prepbytes\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Prepbytes\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/prepbytes.com\/blog\/arithmetic-expression-evaluation\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/arithmetic-expression-evaluation\/\"},\"author\":{\"name\":\"Prepbytes\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\"},\"headline\":\"Arithmetic Expression Evaluation\",\"datePublished\":\"2022-08-25T11:24:11+00:00\",\"dateModified\":\"2023-04-27T05:31:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/arithmetic-expression-evaluation\/\"},\"wordCount\":759,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/arithmetic-expression-evaluation\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661426402223-Article%20%284%29.jpg\",\"articleSection\":[\"Stacks\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/prepbytes.com\/blog\/arithmetic-expression-evaluation\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/prepbytes.com\/blog\/arithmetic-expression-evaluation\/\",\"url\":\"https:\/\/prepbytes.com\/blog\/arithmetic-expression-evaluation\/\",\"name\":\"Arithmetic Expression Evaluation | PrepBytes Blog\",\"isPartOf\":{\"@id\":\"http:\/\/43.205.93.38\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/arithmetic-expression-evaluation\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/arithmetic-expression-evaluation\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661426402223-Article%20%284%29.jpg\",\"datePublished\":\"2022-08-25T11:24:11+00:00\",\"dateModified\":\"2023-04-27T05:31:01+00:00\",\"description\":\"This article tried to discuss about arithmetic expression evaluation. Hope this blog helps you understand and solve the problem.\",\"breadcrumb\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/arithmetic-expression-evaluation\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/prepbytes.com\/blog\/arithmetic-expression-evaluation\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prepbytes.com\/blog\/arithmetic-expression-evaluation\/#primaryimage\",\"url\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661426402223-Article%20%284%29.jpg\",\"contentUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661426402223-Article%20%284%29.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/prepbytes.com\/blog\/arithmetic-expression-evaluation\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\/\/43.205.93.38\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Stacks\",\"item\":\"https:\/\/prepbytes.com\/blog\/category\/stacks\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Arithmetic Expression Evaluation\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/43.205.93.38\/#website\",\"url\":\"http:\/\/43.205.93.38\/\",\"name\":\"PrepBytes Blog\",\"description\":\"ONE-STOP RESOURCE FOR EVERYTHING RELATED TO CODING\",\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/43.205.93.38\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"http:\/\/43.205.93.38\/#organization\",\"name\":\"Prepbytes\",\"url\":\"http:\/\/43.205.93.38\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp\",\"contentUrl\":\"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp\",\"width\":160,\"height\":160,\"caption\":\"Prepbytes\"},\"image\":{\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/prepbytes0211\/\",\"https:\/\/www.instagram.com\/prepbytes\/\",\"https:\/\/www.linkedin.com\/company\/prepbytes\/\",\"https:\/\/www.youtube.com\/channel\/UC0xGnHDrjUM1pDEK2Ka5imA\"]},{\"@type\":\"Person\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\",\"name\":\"Prepbytes\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g\",\"caption\":\"Prepbytes\"},\"url\":\"https:\/\/prepbytes.com\/blog\/author\/gourav-jaincollegedekho-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Arithmetic Expression Evaluation | PrepBytes Blog","description":"This article tried to discuss about arithmetic expression evaluation. Hope this blog helps you understand and solve the problem.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/prepbytes.com\/blog\/arithmetic-expression-evaluation\/","og_locale":"en_US","og_type":"article","og_title":"Arithmetic Expression Evaluation | PrepBytes Blog","og_description":"This article tried to discuss about arithmetic expression evaluation. Hope this blog helps you understand and solve the problem.","og_url":"https:\/\/prepbytes.com\/blog\/arithmetic-expression-evaluation\/","og_site_name":"PrepBytes Blog","article_publisher":"https:\/\/www.facebook.com\/prepbytes0211\/","article_published_time":"2022-08-25T11:24:11+00:00","article_modified_time":"2023-04-27T05:31:01+00:00","og_image":[{"url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661426402223-Article%20%284%29.jpg","type":"","width":"","height":""}],"author":"Prepbytes","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Prepbytes","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/prepbytes.com\/blog\/arithmetic-expression-evaluation\/#article","isPartOf":{"@id":"https:\/\/prepbytes.com\/blog\/arithmetic-expression-evaluation\/"},"author":{"name":"Prepbytes","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e"},"headline":"Arithmetic Expression Evaluation","datePublished":"2022-08-25T11:24:11+00:00","dateModified":"2023-04-27T05:31:01+00:00","mainEntityOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/arithmetic-expression-evaluation\/"},"wordCount":759,"commentCount":0,"publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/arithmetic-expression-evaluation\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661426402223-Article%20%284%29.jpg","articleSection":["Stacks"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/prepbytes.com\/blog\/arithmetic-expression-evaluation\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/prepbytes.com\/blog\/arithmetic-expression-evaluation\/","url":"https:\/\/prepbytes.com\/blog\/arithmetic-expression-evaluation\/","name":"Arithmetic Expression Evaluation | PrepBytes Blog","isPartOf":{"@id":"http:\/\/43.205.93.38\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/arithmetic-expression-evaluation\/#primaryimage"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/arithmetic-expression-evaluation\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661426402223-Article%20%284%29.jpg","datePublished":"2022-08-25T11:24:11+00:00","dateModified":"2023-04-27T05:31:01+00:00","description":"This article tried to discuss about arithmetic expression evaluation. Hope this blog helps you understand and solve the problem.","breadcrumb":{"@id":"https:\/\/prepbytes.com\/blog\/arithmetic-expression-evaluation\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prepbytes.com\/blog\/arithmetic-expression-evaluation\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prepbytes.com\/blog\/arithmetic-expression-evaluation\/#primaryimage","url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661426402223-Article%20%284%29.jpg","contentUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1661426402223-Article%20%284%29.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/prepbytes.com\/blog\/arithmetic-expression-evaluation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/43.205.93.38\/"},{"@type":"ListItem","position":2,"name":"Stacks","item":"https:\/\/prepbytes.com\/blog\/category\/stacks\/"},{"@type":"ListItem","position":3,"name":"Arithmetic Expression Evaluation"}]},{"@type":"WebSite","@id":"http:\/\/43.205.93.38\/#website","url":"http:\/\/43.205.93.38\/","name":"PrepBytes Blog","description":"ONE-STOP RESOURCE FOR EVERYTHING RELATED TO CODING","publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/43.205.93.38\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"http:\/\/43.205.93.38\/#organization","name":"Prepbytes","url":"http:\/\/43.205.93.38\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/","url":"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp","contentUrl":"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp","width":160,"height":160,"caption":"Prepbytes"},"image":{"@id":"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/prepbytes0211\/","https:\/\/www.instagram.com\/prepbytes\/","https:\/\/www.linkedin.com\/company\/prepbytes\/","https:\/\/www.youtube.com\/channel\/UC0xGnHDrjUM1pDEK2Ka5imA"]},{"@type":"Person","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e","name":"Prepbytes","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g","caption":"Prepbytes"},"url":"https:\/\/prepbytes.com\/blog\/author\/gourav-jaincollegedekho-com\/"}]}},"_links":{"self":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/9287","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/users\/52"}],"replies":[{"embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/comments?post=9287"}],"version-history":[{"count":7,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/9287\/revisions"}],"predecessor-version":[{"id":16034,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/9287\/revisions\/16034"}],"wp:attachment":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/media?parent=9287"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/categories?post=9287"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/tags?post=9287"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}