<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.algo.informatik.tu-darmstadt.de/index.php?action=history&amp;feed=atom&amp;title=Genericity</id>
	<title>Genericity - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.algo.informatik.tu-darmstadt.de/index.php?action=history&amp;feed=atom&amp;title=Genericity"/>
	<link rel="alternate" type="text/html" href="https://wiki.algo.informatik.tu-darmstadt.de/index.php?title=Genericity&amp;action=history"/>
	<updated>2026-10-27T10:58:23Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://wiki.algo.informatik.tu-darmstadt.de/index.php?title=Genericity&amp;diff=3109&amp;oldid=prev</id>
		<title>Weihe: /* Comparison */</title>
		<link rel="alternate" type="text/html" href="https://wiki.algo.informatik.tu-darmstadt.de/index.php?title=Genericity&amp;diff=3109&amp;oldid=prev"/>
		<updated>2015-05-21T12:45:16Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Comparison&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:45, 21 May 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l15&quot;&gt;Line 15:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 15:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Remark===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Remark===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Note that &amp;lt;math&amp;gt;c(x,y)=0&amp;lt;/math&amp;gt; does &#039;&#039;&#039;not&#039;&#039;&#039; imply &amp;lt;math&amp;gt;x=y&amp;lt;/math&amp;gt;. If &amp;lt;math&amp;gt;c(x,y)=0&amp;lt;/math&amp;gt; actually implies &amp;lt;math&amp;gt;x=y&amp;lt;/math&amp;gt; for all &amp;lt;math&amp;gt;x,y&amp;lt;/math&amp;gt;, such a binary relation is usually called a &#039;&#039;&#039;total&#039;&#039;&#039; or &#039;&#039;&#039;linear order&#039;&#039;&#039; - as opposed to &#039;&#039;&#039;partial orders&#039;&#039;&#039;, in which &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pairs of elements may be &lt;/del&gt;incomparable.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Note that &amp;lt;math&amp;gt;c(x,y)=0&amp;lt;/math&amp;gt; does &#039;&#039;&#039;not&#039;&#039;&#039; imply &amp;lt;math&amp;gt;x=y&amp;lt;/math&amp;gt;. If &amp;lt;math&amp;gt;c(x,y)=0&amp;lt;/math&amp;gt; actually implies &amp;lt;math&amp;gt;x=y&amp;lt;/math&amp;gt; for all &amp;lt;math&amp;gt;x,y&amp;lt;/math&amp;gt;, such a binary relation is usually called a &#039;&#039;&#039;total&#039;&#039;&#039; or &#039;&#039;&#039;linear order&#039;&#039;&#039; - as opposed to &#039;&#039;&#039;partial orders&#039;&#039;&#039;, in which &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;math&amp;gt;c(x,y)=0&amp;lt;/math&amp;gt; is possible for &amp;lt;math&amp;gt;x\neq y&amp;lt;/math&amp;gt;. In the last case, we say &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; are &#039;&#039;&#039;&lt;/ins&gt;incomparable&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Weihe</name></author>
	</entry>
	<entry>
		<id>https://wiki.algo.informatik.tu-darmstadt.de/index.php?title=Genericity&amp;diff=3108&amp;oldid=prev</id>
		<title>Weihe: /* Comparison */</title>
		<link rel="alternate" type="text/html" href="https://wiki.algo.informatik.tu-darmstadt.de/index.php?title=Genericity&amp;diff=3108&amp;oldid=prev"/>
		<updated>2015-05-21T12:29:59Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Comparison&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:29, 21 May 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l10&quot;&gt;Line 10:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 10:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A &amp;#039;&amp;#039;&amp;#039;comparison&amp;#039;&amp;#039;&amp;#039; on a finite or infinite set &amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt; is a binary relation &amp;lt;math&amp;gt;c:S\times S \rightarrow \{ -1,0,+1\}&amp;lt;/math&amp;gt; with the following properties:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;A &amp;#039;&amp;#039;&amp;#039;comparison&amp;#039;&amp;#039;&amp;#039; on a finite or infinite set &amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt; is a binary relation &amp;lt;math&amp;gt;c:S\times S \rightarrow \{ -1,0,+1\}&amp;lt;/math&amp;gt; with the following properties:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;math&amp;gt;c(x,x) = 0&amp;lt;/math&amp;gt; for all &amp;lt;math&amp;gt;x \in S&amp;lt;/math&amp;gt; (reflexivity),&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;math&amp;gt;c(x,x) = 0&amp;lt;/math&amp;gt; for all &amp;lt;math&amp;gt;x \in S&amp;lt;/math&amp;gt; (reflexivity),&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;math&amp;gt;c(x,y)=-c(y,x)&amp;lt;/math&amp;gt; for all &amp;lt;math&amp;gt;x,y \in S&amp;lt;/math&amp;gt; (anti-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;commutativity&lt;/del&gt;), and&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;math&amp;gt;c(x,y)=-c(y,x)&amp;lt;/math&amp;gt; for all &amp;lt;math&amp;gt;x,y \in S&amp;lt;/math&amp;gt; (anti-&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;symmetry&lt;/ins&gt;), and&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;math&amp;gt;(c(x,y) = 1 \land c(y,z) = 1) \Rightarrow c(x,z)=1&amp;lt;/math&amp;gt; for all &amp;lt;math&amp;gt;x,y,z \in S&amp;lt;/math&amp;gt; (transitivity)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;math&amp;gt;(c(x,y) = 1 \land c(y,z) = 1) \Rightarrow c(x,z)=1&amp;lt;/math&amp;gt; for all &amp;lt;math&amp;gt;x,y,z \in S&amp;lt;/math&amp;gt; (transitivity)&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;For convenience, we write &amp;lt;math&amp;gt;x&amp;lt;y&amp;lt;/math&amp;gt; in case &amp;lt;math&amp;gt;c(x,y)=1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x\le y&amp;lt;/math&amp;gt; in case &amp;lt;math&amp;gt;c(x,y)\ge 0&amp;lt;/math&amp;gt;, and so on.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;For convenience, we write &amp;lt;math&amp;gt;x&amp;lt;y&amp;lt;/math&amp;gt; in case &amp;lt;math&amp;gt;c(x,y)=1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x\le y&amp;lt;/math&amp;gt; in case &amp;lt;math&amp;gt;c(x,y)\ge 0&amp;lt;/math&amp;gt;, and so on.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Remark===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Remark===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Note that &amp;lt;math&amp;gt;c(x,y)=0&amp;lt;/math&amp;gt; does &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; imply &amp;lt;math&amp;gt;x=y&amp;lt;/math&amp;gt;. If &amp;lt;math&amp;gt;c(x,y)=0&amp;lt;/math&amp;gt; actually implies &amp;lt;math&amp;gt;x=y&amp;lt;/math&amp;gt; for all &amp;lt;math&amp;gt;x,y&amp;lt;/math&amp;gt;, such a binary relation is usually called a &amp;#039;&amp;#039;&amp;#039;total&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;linear order&amp;#039;&amp;#039;&amp;#039; - as opposed to &amp;#039;&amp;#039;&amp;#039;partial orders&amp;#039;&amp;#039;&amp;#039;, in which pairs of elements may be incomparable.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Note that &amp;lt;math&amp;gt;c(x,y)=0&amp;lt;/math&amp;gt; does &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; imply &amp;lt;math&amp;gt;x=y&amp;lt;/math&amp;gt;. If &amp;lt;math&amp;gt;c(x,y)=0&amp;lt;/math&amp;gt; actually implies &amp;lt;math&amp;gt;x=y&amp;lt;/math&amp;gt; for all &amp;lt;math&amp;gt;x,y&amp;lt;/math&amp;gt;, such a binary relation is usually called a &amp;#039;&amp;#039;&amp;#039;total&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;linear order&amp;#039;&amp;#039;&amp;#039; - as opposed to &amp;#039;&amp;#039;&amp;#039;partial orders&amp;#039;&amp;#039;&amp;#039;, in which pairs of elements may be incomparable.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Weihe</name></author>
	</entry>
	<entry>
		<id>https://wiki.algo.informatik.tu-darmstadt.de/index.php?title=Genericity&amp;diff=3107&amp;oldid=prev</id>
		<title>Weihe at 12:29, 21 May 2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.algo.informatik.tu-darmstadt.de/index.php?title=Genericity&amp;diff=3107&amp;oldid=prev"/>
		<updated>2015-05-21T12:29:15Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:29, 21 May 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l4&quot;&gt;Line 4:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 4:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;An algorithmic problem, algorithm, abstract data structure, or implementation of a data structure is &amp;#039;&amp;#039;&amp;#039;generic&amp;#039;&amp;#039;&amp;#039; if one or more related types are left open in the definition. The choice of these types is deferred until the algorithm is called or an object of the data structure is created.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;An algorithmic problem, algorithm, abstract data structure, or implementation of a data structure is &amp;#039;&amp;#039;&amp;#039;generic&amp;#039;&amp;#039;&amp;#039; if one or more related types are left open in the definition. The choice of these types is deferred until the algorithm is called or an object of the data structure is created.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;===&lt;/del&gt;Remark&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;===&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;&lt;/ins&gt;Remark&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;:&#039;&#039;&#039;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Typically, there are requirements on the open types. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;A typical requirement is that a comparison as defined below is given for &lt;/del&gt;that &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;type&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Typically, there are requirements on the open types. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;This means an open type must offer some methods with prescribed syntax and semantics. Quite different concepts to formulate and ensure syntactical requirements are implemented in the various programming languages &lt;/ins&gt;that &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;support genericity&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Comparison==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Comparison==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Weihe</name></author>
	</entry>
	<entry>
		<id>https://wiki.algo.informatik.tu-darmstadt.de/index.php?title=Genericity&amp;diff=580&amp;oldid=prev</id>
		<title>Cuozzo: Created page with &quot;Category:Background Category:Checkup ==Definition== An algorithmic problem, algorithm, abstract data structure, or implementation of a data structure is &#039;&#039;&#039;generic&#039;&#039;&#039;...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.algo.informatik.tu-darmstadt.de/index.php?title=Genericity&amp;diff=580&amp;oldid=prev"/>
		<updated>2014-10-02T13:14:07Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&lt;a href=&quot;/index.php?title=Category:Background&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Category:Background (page does not exist)&quot;&gt;Category:Background&lt;/a&gt; &lt;a href=&quot;/index.php?title=Category:Checkup&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Category:Checkup (page does not exist)&quot;&gt;Category:Checkup&lt;/a&gt; ==Definition== An algorithmic problem, algorithm, abstract data structure, or implementation of a data structure is &amp;#039;&amp;#039;&amp;#039;generic&amp;#039;&amp;#039;&amp;#039;...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:Background]]&lt;br /&gt;
[[Category:Checkup]]&lt;br /&gt;
==Definition==&lt;br /&gt;
An algorithmic problem, algorithm, abstract data structure, or implementation of a data structure is &amp;#039;&amp;#039;&amp;#039;generic&amp;#039;&amp;#039;&amp;#039; if one or more related types are left open in the definition. The choice of these types is deferred until the algorithm is called or an object of the data structure is created.&lt;br /&gt;
&lt;br /&gt;
===Remark===&lt;br /&gt;
Typically, there are requirements on the open types. A typical requirement is that a comparison as defined below is given for that type.&lt;br /&gt;
&lt;br /&gt;
==Comparison==&lt;br /&gt;
A &amp;#039;&amp;#039;&amp;#039;comparison&amp;#039;&amp;#039;&amp;#039; on a finite or infinite set &amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt; is a binary relation &amp;lt;math&amp;gt;c:S\times S \rightarrow \{ -1,0,+1\}&amp;lt;/math&amp;gt; with the following properties:&lt;br /&gt;
* &amp;lt;math&amp;gt;c(x,x) = 0&amp;lt;/math&amp;gt; for all &amp;lt;math&amp;gt;x \in S&amp;lt;/math&amp;gt; (reflexivity),&lt;br /&gt;
* &amp;lt;math&amp;gt;c(x,y)=-c(y,x)&amp;lt;/math&amp;gt; for all &amp;lt;math&amp;gt;x,y \in S&amp;lt;/math&amp;gt; (anti-commutativity), and&lt;br /&gt;
* &amp;lt;math&amp;gt;(c(x,y) = 1 \land c(y,z) = 1) \Rightarrow c(x,z)=1&amp;lt;/math&amp;gt; for all &amp;lt;math&amp;gt;x,y,z \in S&amp;lt;/math&amp;gt; (transitivity)&lt;br /&gt;
For convenience, we write &amp;lt;math&amp;gt;x&amp;lt;y&amp;lt;/math&amp;gt; in case &amp;lt;math&amp;gt;c(x,y)=1&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;x\le y&amp;lt;/math&amp;gt; in case &amp;lt;math&amp;gt;c(x,y)\ge 0&amp;lt;/math&amp;gt;, and so on.&lt;br /&gt;
&lt;br /&gt;
===Remark===&lt;br /&gt;
Note that &amp;lt;math&amp;gt;c(x,y)=0&amp;lt;/math&amp;gt; does &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; imply &amp;lt;math&amp;gt;x=y&amp;lt;/math&amp;gt;. If &amp;lt;math&amp;gt;c(x,y)=0&amp;lt;/math&amp;gt; actually implies &amp;lt;math&amp;gt;x=y&amp;lt;/math&amp;gt; for all &amp;lt;math&amp;gt;x,y&amp;lt;/math&amp;gt;, such a binary relation is usually called a &amp;#039;&amp;#039;&amp;#039;total&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;linear order&amp;#039;&amp;#039;&amp;#039; - as opposed to &amp;#039;&amp;#039;&amp;#039;partial orders&amp;#039;&amp;#039;&amp;#039;, in which pairs of elements may be incomparable.&lt;/div&gt;</summary>
		<author><name>Cuozzo</name></author>
	</entry>
</feed>