A multiplexer, also known as a data selector, is a combinational circuit that selects data from multiple inputs and forwards one of them to a single output line based on the select signals. It has N input lines, M select lines, and one output line. The select inputs determine which input line is selected and forwarded to the output line.
An encoder is a combinational circuit that converts a set of inputs into a binary code. It has multiple input lines and a single output line. The encoder detects the active input and generates a binary code corresponding to that input.
A decoder is a combinational circuit that converts a binary code into a set of output signals. It has N input lines and 2N output lines. The decoder takes the binary code on its N input lines and activates the output line corresponding to the binary code.

Combinational circuits are types of digital circuits that output a binary value, based on a set of input signals. These circuits are generally constructed using logic gates such as AND, OR, NOT, NAND, and NOR gates. They do not have any memory elements or feedback loops, meaning the output only depends on the current input conditions.
Combinational circuits are used for tasks that involve mathematical computations, such as adders and multipliers, as well as logic operations, such as reduction and comparison. They are widely used in digital systems and applications such as computers, calculators, and communication systems.
Universal gates are digital logic gates that can be used to implement any Boolean function without requiring other gates. In other words, any Boolean function can be expressed as a combination of one or more universal gates. The two most commonly used universal gates are the NAND gate and the NOR gate.