ancestor and descendant: If there is a path from node u to node v, then u is an
ancestor of v and v is a descendant of u.
Java Interpreter is a program which translates the Java bytecode into the code that can be understood by the Operating System. An interpreter for Java should execute the Java Virtual Machine and execute the bytecodes created by a Java compiler.
Java Virtual Machine
A Java virtual machine is a program which executes certain other programs, namely those containing Java bytecode instructions. JVMs are most often implemented to run on an existing operating system, but can also be implemented to run directly on hardware.
Nodes are used to build linked, often hierarchical, data structures such as linked lists, trees, and graphs. Nodes are conceptually similar to vertices, which are elements of a graph. A node can have any number of children. The very top of the node is called the root.
It's the node above the node. Parent nodes have children, except for the very top node, every node has exactly one parent node
A method that calls itself to solve some problems. The case that we end our recursion is called a base case.
input(s) for which the program recurs (calls itself). Recursive case is a case that results in a recursive call. The job of the recursive cases is to break down complex inputs into simpler ones.
a character code that maps between binary numbers and the characters used in most modern languages, more than 110,000 characters. The lowest values of the UTF-8 encoding of Unicode are the same as ASCII, allowing characters to be 8 bits when staying within the ASCII character set. For other languages, more bits are used. Java uses Unicode.
an abstract computer that is simulated by an interpreter program running on an actual computer.