class_docstr: A Node instance is used for composing tree-based structures.
class_docstr_tok: ["A","Node","instance","is","used","for","composing","tree-based","structures","."]
docstr: Traverses the node in post-order.
docstr_tok: ["Traverses","the","node","in","post-order","."]
code: def post_order(self) -> List[Node]:
      """Traverses the node in post-order."""
  
      post_order, stacked = [], []
  
      while True:
          while self is not None:
              if self.right is not None:
                  stacked.append(self.right)
  
              stacked.append(self)
  
              self = self.left
  
          self = stacked.pop()
  
          if (
              self.right is not None
              and len(stacked) > 0
              and stacked[-1] is self.right
          ):
              stacked.pop()
              stacked.append(self)
  
              self = self.right
          else:
              post_order.append(self)
  
              self = None
  
          if len(stacked) == 0:
              break
  
      return post_order
  
imports: from __future__ import annotations
  from typing import Any, Dict, List, Optional, Union
  import numpy
  import opytimizer.utils.constant
  import opytimizer.utils.exception
label_desc: Use image node_id 23 for calling the Node obj's underlying member method code with example usage: obj.post_order() and returns: post_order