<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.unkompliziert.eu/index.php?action=history&amp;feed=atom&amp;title=Hash_Table_%28Datenstruktur%29</id>
	<title>Hash Table (Datenstruktur) - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.unkompliziert.eu/index.php?action=history&amp;feed=atom&amp;title=Hash_Table_%28Datenstruktur%29"/>
	<link rel="alternate" type="text/html" href="https://wiki.unkompliziert.eu/index.php?title=Hash_Table_(Datenstruktur)&amp;action=history"/>
	<updated>2026-04-30T23:53:28Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in unkompliziert.eu</subtitle>
	<generator>MediaWiki 1.34.1</generator>
	<entry>
		<id>https://wiki.unkompliziert.eu/index.php?title=Hash_Table_(Datenstruktur)&amp;diff=63&amp;oldid=prev</id>
		<title>Felix: Die Seite wurde neu angelegt: „=== Grundidee === * Der Index, an dem die gesuchte Information steht, wird berechnet  {| class=&quot;wikitable&quot; |- ! Index !! Schlüssel !! Info |- ! !! Name !! Tel…“</title>
		<link rel="alternate" type="text/html" href="https://wiki.unkompliziert.eu/index.php?title=Hash_Table_(Datenstruktur)&amp;diff=63&amp;oldid=prev"/>
		<updated>2020-04-11T07:56:35Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „=== Grundidee === * Der Index, an dem die gesuchte Information steht, wird berechnet  {| class=&amp;quot;wikitable&amp;quot; |- ! Index !! Schlüssel !! Info |- ! !! Name !! Tel…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=== Grundidee ===&lt;br /&gt;
* Der Index, an dem die gesuchte Information steht, wird berechnet&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Index !! Schlüssel !! Info&lt;br /&gt;
|-&lt;br /&gt;
! !! Name !! Tel.&lt;br /&gt;
|-&lt;br /&gt;
| 0 || Baum || 09....&lt;br /&gt;
|-&lt;br /&gt;
| 1 ||   ||  &lt;br /&gt;
|-&lt;br /&gt;
| 2 || unkompliziert ||  0 32 222133190&lt;br /&gt;
|-&lt;br /&gt;
| 3 ||   ||  &lt;br /&gt;
|-&lt;br /&gt;
| 4 || Wasser  ||  0...&lt;br /&gt;
|-&lt;br /&gt;
| 5 ||   ||  &lt;br /&gt;
|-&lt;br /&gt;
| 6 || Bisa ||  09...&lt;br /&gt;
|-&lt;br /&gt;
| 7 || Holla  ||  09...&lt;br /&gt;
|-&lt;br /&gt;
| 8 ||   ||  &lt;br /&gt;
|-&lt;br /&gt;
| 9 ||   ||  &lt;br /&gt;
|}&lt;br /&gt;
Aktueller Füllgrad: 60%&lt;br /&gt;
&lt;br /&gt;
Maximaler Füllgrad 60%&lt;br /&gt;
&lt;br /&gt;
'''Größe eines Hash Table: Anzahl der zu speichernden Elemente'''&lt;br /&gt;
&lt;br /&gt;
=== Arbeitsweise beim Einfügen von Daten ===&lt;br /&gt;
1. Berechne den Hashwert der gewünschten Information&lt;br /&gt;
* z.B. Hashwert von &amp;quot;unkompliziert&amp;quot; = 37852&lt;br /&gt;
&lt;br /&gt;
2. Index = Hashwert modulo GrößeHashTable&lt;br /&gt;
* im Beispiel: Index = 37852 % 10 = 2&lt;br /&gt;
&lt;br /&gt;
*Holla: 16517&lt;br /&gt;
* Bisa: 12516&lt;br /&gt;
* Baum: 19220&lt;br /&gt;
* Olga: 13666 =&amp;gt; Index 6&lt;br /&gt;
* Wasser 2504&lt;br /&gt;
&lt;br /&gt;
3. Prüfe, ob die berechnete Position frei ist&lt;br /&gt;
* Nein: Erhöhe Index um 1&lt;br /&gt;
   Index = Größe vom Hash Table =&amp;gt; Index = 0&lt;br /&gt;
* Ja: Einfügen an die berechnete Stelle&lt;br /&gt;
   &lt;br /&gt;
=== Kenngrößen einer Hash-Table ===&lt;br /&gt;
* Aktueller Füllgrad&lt;br /&gt;
   aktFüllgrad = (Anzahl der Einträge) / (Größe der HT) * 100 (in Prozent)&lt;br /&gt;
&lt;br /&gt;
* Maximaler Füllgrad&lt;br /&gt;
   Beim Anlegen des HT wird ein maximaler Füllgrad mit angegeben (ca. 60-70%)&lt;br /&gt;
&lt;br /&gt;
* Grundsatz&lt;br /&gt;
   Je niedriger der aktuelle Füllgrad ist, desto schneller arbeitet der Hashtable, weil es weniger Kollisionen gibt.&lt;br /&gt;
&lt;br /&gt;
* Kollission&lt;br /&gt;
   Der Eintrag steht nicht an der berechneten Position&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Index !! Schlüssel !! Info&lt;br /&gt;
|-&lt;br /&gt;
! !! Name !! Tel.&lt;br /&gt;
|-&lt;br /&gt;
| 0 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 ||   ||  &lt;br /&gt;
|-&lt;br /&gt;
| 2 || ||  &lt;br /&gt;
|-&lt;br /&gt;
| 3 ||   ||  &lt;br /&gt;
|-&lt;br /&gt;
| 4 ||   || &lt;br /&gt;
|-&lt;br /&gt;
| 5 ||   ||  &lt;br /&gt;
|-&lt;br /&gt;
| 6 ||  ||  &lt;br /&gt;
|-&lt;br /&gt;
| 7 ||   || &lt;br /&gt;
|-&lt;br /&gt;
| 8 ||   ||  &lt;br /&gt;
|-&lt;br /&gt;
| 9 ||   ||  &lt;br /&gt;
|-&lt;br /&gt;
| 10 ||   ||  &lt;br /&gt;
|-&lt;br /&gt;
| 11 ||   ||  &lt;br /&gt;
|-&lt;br /&gt;
| 12 || Wasser  ||  &lt;br /&gt;
|-&lt;br /&gt;
| 13 ||   ||  &lt;br /&gt;
|-&lt;br /&gt;
| 14 ||   ||  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Wasser: 2504%14 = 12&lt;br /&gt;
&lt;br /&gt;
Beim Erreichen des maximalen Füllgrades wird ein HT erweitert, d.h. es wird ein Resize durchgeführt.&lt;br /&gt;
&lt;br /&gt;
z.B. in DB-Systemen&lt;br /&gt;
   create table ...&lt;br /&gt;
   resize 10%&lt;br /&gt;
   resize 100MB&lt;br /&gt;
   ...&lt;br /&gt;
&lt;br /&gt;
=== Auswirkungen eines Resize ===&lt;br /&gt;
Alle im alten HT vorhandenen Einträge müssen neu berechnet werden.&lt;br /&gt;
* Leistungseinbruch des Servers beim Resize&lt;br /&gt;
* HT ist während des Resize nicht nutzbar&lt;br /&gt;
&lt;br /&gt;
==== Vorteile HT ====&lt;br /&gt;
* Sehr schnell, weil Index berechnet wird.&lt;br /&gt;
==== Nachteile HT ====&lt;br /&gt;
* Leistungseinbrüche möglich (Resize)&lt;br /&gt;
* Sehr hoher Speicherbedarf&lt;br /&gt;
* Keine Suche möglich, der exakte Schlüssel muss bekannt sein&lt;br /&gt;
==== Einsatzgebiet ====&lt;br /&gt;
In Datenbanken zur Verwaltung der Schlüssel (Primary key und foreign key, oder Indizes)&lt;/div&gt;</summary>
		<author><name>Felix</name></author>
		
	</entry>
</feed>