2.4 KiB
title | TARGET DECK | FILE TAGS | tags | ||
---|---|---|---|---|---|
Sorting | Obsidian::STEM | algorithm sorting |
|
Overview
Let n \geq 0
and S = \langle a_1, a_2, \ldots, a_n \rangle
be a sequence. The sorting problem refers to permuting keys a_1, a_2, \ldots, a_n
into a new sequence \langle a_1', a_2', \ldots, a_n' \rangle
such that a_1' \leq a_2' \leq \cdots \leq a_n'
.
Structural Comparison
The #Elixir documentation makes a point that there exist two types of comparisons between data types.1 The first is structural in which comparisons are made on the underlying data structures used to describe the data types. The second is semantic which focuses on making the comparison with respect to what the data types represent.
iex> 1 < :atom # structural
true
iex> Date.compare(~D[2017-03-31], ~D[2017-04-01]) # semantic
:lt
%%ANKI Basic What are the two types of comparisons made between data types? Back: Structural and semantic. Reference: “Kernel — Elixir v1.16.1,” accessed February 2, 2024, https://hexdocs.pm/elixir/1.16/Kernel.html#module-structural-comparison.
END%%
%%ANKI Basic What is structural comparison of two data types? Back: Comparison of the underlying data structures making up data types. Reference: “Kernel — Elixir v1.16.1,” accessed February 2, 2024, https://hexdocs.pm/elixir/1.16/Kernel.html#module-structural-comparison.
END%%
%%ANKI Basic What is semantic comparison of two data types? Back: Comparison made with respect to what the data types represent. Reference: “Kernel — Elixir v1.16.1,” accessed February 2, 2024, https://hexdocs.pm/elixir/1.16/Kernel.html#module-structural-comparison.
END%%
References
- Thomas H. Cormen et al., Introduction to Algorithms, 3rd ed (Cambridge, Mass: MIT Press, 2009).
- “Kernel — Elixir v1.16.1,” accessed February 2, 2024, https://hexdocs.pm/elixir/1.16/Kernel.html#module-structural-comparison.