<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>javathreads.de &#187; Applet</title>
	<atom:link href="http://javathreads.de/tag/applet/feed/" rel="self" type="application/rss+xml" />
	<link>http://javathreads.de</link>
	<description>Blog rund um Java und Web Entwicklung</description>
	<lastBuildDate>Wed, 02 Nov 2011 10:37:22 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Sortieralgorithmen animiert und im Detail</title>
		<link>http://javathreads.de/2008/08/sortieralgorithmen-animiert-und-im-detail/</link>
		<comments>http://javathreads.de/2008/08/sortieralgorithmen-animiert-und-im-detail/#comments</comments>
		<pubDate>Tue, 05 Aug 2008 07:00:37 +0000</pubDate>
		<dc:creator>Markus Kühle</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Algorithmen]]></category>
		<category><![CDATA[Animation]]></category>
		<category><![CDATA[Applet]]></category>
		<category><![CDATA[Bubblesort]]></category>
		<category><![CDATA[Heapsort]]></category>
		<category><![CDATA[Mergesort]]></category>
		<category><![CDATA[Quick3sort]]></category>
		<category><![CDATA[Quicksort]]></category>
		<category><![CDATA[Shellsort]]></category>
		<category><![CDATA[Sortieralgorithmen]]></category>

		<guid isPermaLink="false">http://javathreads.de/?p=131</guid>
		<description><![CDATA[Jeder der irgendwie was mit Informatik zu tun hat ist schon einmal drauf gesto&#223;en oder durfte sich mehr oder weniger freiwillig damit besch&#228;ftigen: Sortieralgorithmen. Meinereins musste sie zum Beispiel im Studium in C nachprogrammieren und es wurde diesem Thema sogar eine ganze Vorlesung gewidmet. Darin kamen dann Namen wie Bubblesort, Mergesort oder Quicksort auf oder [...]]]></description>
			<content:encoded><![CDATA[<p>Jeder der irgendwie was mit Informatik zu tun hat ist schon einmal drauf gesto&#223;en oder durfte sich mehr oder weniger freiwillig damit besch&#228;ftigen: Sortieralgorithmen. Meinereins musste sie zum Beispiel im Studium in C nachprogrammieren und es wurde diesem Thema sogar eine ganze Vorlesung gewidmet. Darin kamen dann Namen wie Bubblesort, Mergesort oder Quicksort auf oder man musste irgendetwas von einer Komplexit&#228;t O(n) erz&#228;hlen bzw errechnen.<br />
Wer zu diesem Thema eine wirklich brauchbare Lernhilfe (auch zum wiederholen geeignet ;)) ben&#246;tigt sollte sich mal die &#8220;<a href="http://vision.bc.edu/~dmartin/teaching/sorting/anim-html/all.html">Animated Sorting Algorithm Demo</a>&#8221; von <a href="http://vision.bc.edu/~dmartin/">David Martin</a>, Assistent an der Boston University f&#252;r Informatik, ansehen.</p>
<div class="singleImgDiv">
<a href="http://vision.bc.edu/~dmartin/teaching/sorting/anim-html/all.html"><img src="http://javathreads.de/data/uploads/2008/08/sortieralgorithmen.png" alt="" title="Sortieralgorithmen animiert" class="alignnone size-full wp-image-184" /></a>
</div>
<p>Man kann auf dieser Seite die Sortieralgorithmen live gegeneinander &#8220;antreten&#8221; lassen und beobachten. Dabei sind die grauen Balken die unsortierten Werte, die schwarzen sind bereits sortiert und der rote Pfeil zeigt die aktuelle Position des Algorithmus. Man kann zwischen einer Sortiermenge von 20 bis 50 Elementen w&#228;hlen und bekommt animiert gezeigt wie die Algorithmen funktionieren. Die Animiation startet man mit dem gr&#252;nen Pfeil. Neben der typischen vermischten Wertemenge ist eine &#8220;Best-Case&#8221; (bereits sortiert), &#8220;Worst-Case&#8221; (umgekehrt sortiert) und mehrere doppeltet Eintr&#228;ge als Animation vorhanden.</p>
<p>Neben der &#220;bersicht ist es m&#246;glich jeden einzelnen der aufgelisteten Sortieralgorithmen im Detail anzuschauen. Insgesamt werden acht Algorithmen verglichen und erl&#228;utert:</p>
<table style="width: 100%">
<tr>
<td style="width: 25%;">
<ul>
<li><a href="http://vision.bc.edu/~dmartin/teaching/sorting/anim-html/insertion.html">Insertion</a></li>
<li><a href="http://vision.bc.edu/~dmartin/teaching/sorting/anim-html/selection.html">Selection</a></li>
</ul>
</td>
<td style="width: 25%;">
<ul>
<li><a href="http://vision.bc.edu/~dmartin/teaching/sorting/anim-html/bubble.html">Bubble</a></li>
<li><a href="http://vision.bc.edu/~dmartin/teaching/sorting/anim-html/shell.html">Shell</a></li>
</ul>
</td>
<td style="width: 25%;">
<ul>
<li><a href="http://vision.bc.edu/~dmartin/teaching/sorting/anim-html/merge.html">Merge</a></li>
<li><a href="http://vision.bc.edu/~dmartin/teaching/sorting/anim-html/heap.html">Heap</a></li>
</ul>
</td>
<td style="width: 25%;">
<ul>
<li><a href="http://vision.bc.edu/~dmartin/teaching/sorting/anim-html/quick.html">Quick</a></li>
<li><a href="http://vision.bc.edu/~dmartin/teaching/sorting/anim-html/quick3.html">Quick3</a></li>
</ul>
</td>
</tr>
</table>
<p>Sieht man sich die Detailseite eines Algorithmuses an bekommt man diesen im Detail erl&#228;utert und kann eine Animation dazu ansehen. Hier im folgenden zum Beispiel der <a href="http://vision.bc.edu/~dmartin/teaching/sorting/anim-html/merge.html">Mergesort</a>.<br />
Die Animation selbst zeigt wieder alle vier Szenarien der Wertemenge:</p>
<div class="singleImgDiv">
<a href="http://vision.bc.edu/~dmartin/teaching/sorting/anim-html/merge.html"><img src="http://javathreads.de/data/uploads/2008/08/mergesort.png" alt="" title="Mergesort Details" class="alignnone size-full wp-image-185" /></a>
</div>
<p>Der Algorithmus selbst:</p>
<div class="codebox">
<pre>
m = n / 2
sort a[1..m] recursively
sort a[m+1..n] recursively
copy a[m+1..n] to temp space
merge
</pre>
</div>
<p>Dann noch die Eigenschaften:</p>
<ul>
<li>Stable</li>
<li>O(n) extra space (see below)</li>
<li>Ω(n·lg(n)) time</li>
<li>Completely non-adaptive</li>
</ul>
<p>Und zum Schluss noch einen Text mit Erkl&#228;rungen zu den Vor- oder Nachteilen dieses Algorithmuses.</p>
<div class="subHeadline">Referenzen</div>
<p>David Martin hat als Referenzen die B&#252;cher <a href="http://www.amazon.de/gp/product/0201361205?ie=UTF8&#038;tag=webthreadsde-21&#038;linkCode=as2&#038;camp=1638&#038;creative=6742&#038;creativeASIN=0201361205">Algorithms in Java 1-4 (Robert Sedgewick)</a> und <a href="http://www.amazon.de/gp/product/3827317193/028-6301784-8890928?ie=UTF8&#038;tag=webthreadsde-21&#038;linkCode=xm2&#038;camp=1638&#038;creativeASIN=3827317193">Programming Pearls (Jon Bently)</a> angegeben.</p>
<table style="width: 100%; margin-bottom: 10px;">
<tr>
<td style="width: 50%; text-align:center">
<a id="static_preview" href="http://www.amazon.de/gp/product/0201361205?ie=UTF8&#038;tag=webthreadsde-21&#038;linkCode=as2&#038;camp=1638&#038;creative=6742&#038;creativeASIN=0201361205" title="Algorithms in Java 1-4 (Robert Sedgewick)"><br />
<img id="static_preview_img" src="http://ecx.images-amazon.com/images/I/51P5776QJSL._SL160_.jpg" class="borderGray"/><br />
</a>
</td>
<td style="width: 50%; text-align:center">
<a id="static_preview" href="http://www.amazon.de/gp/product/3827317193?ie=UTF8&#038;tag=webthreadsde-21&#038;linkCode=as2&#038;camp=1638&#038;creative=6742&#038;creativeASIN=3827317193"><br />
<img id="static_preview_img" src="http://ecx.images-amazon.com/images/I/415H400PK4L._SL160_.jpg" class="borderGray" title="Programming Pearls (Jon Bently)"/><br />
</a>
</td>
</tr>
</table>
<p>F&#252;r das Buch Programming Pearls wurden die verschiedenen Sortieralgorithmen ebenfalls programmiert und sind aber, im Gegensatz zu dem oben vorgestellten Animationen, als <a href="http://netlib.bell-labs.com/cm/cs/pearls/sortanim.html">Java Applet im Browser zu sehen</a>. Aber die Darstellung des arbeitenden Algorithmus ist etwas anders, so dass man die etwas Ladezeit des Applets in Kauf nehmen sollte um auch dort mal einen Blick drauf zu werfen.</p>
<div class="singleImgDiv">
<a href="http://netlib.bell-labs.com/cm/cs/pearls/sortanim.html"><img src="http://javathreads.de/data/uploads/2008/08/programmingpearlsquicksort.png" alt="" title="Programming Pearls - Quicksort Animation" class="borderGray alignnone size-full wp-image-186" /></a>
</div>
<p>Insgesamt eine wirklich sehr gelungene Darstellung und Erl&#228;uterung von Sortieralgorithmen. Man erh&#228;lt auf ein eine schnelle und einfache Art und Weise einen kleinen Einblick in die Welt der Sortierung. Schon allein deswegen ist die &#8220;<a href="http://vision.bc.edu/~dmartin/teaching/sorting/anim-html/all.html">Animated Sorting Algorithm Demo</a>&#8221; Seite von David Martin ein Bookmark wert.</p>
]]></content:encoded>
			<wfw:commentRss>http://javathreads.de/2008/08/sortieralgorithmen-animiert-und-im-detail/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Wortwolken mit Hilfe eines Applets</title>
		<link>http://javathreads.de/2008/07/wortwolken-mit-hilfe-eines-applets/</link>
		<comments>http://javathreads.de/2008/07/wortwolken-mit-hilfe-eines-applets/#comments</comments>
		<pubDate>Mon, 28 Jul 2008 21:26:47 +0000</pubDate>
		<dc:creator>Markus Kühle</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Applet]]></category>
		<category><![CDATA[Java Web Start]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[Stanly-Track]]></category>
		<category><![CDATA[Wordle]]></category>

		<guid isPermaLink="false">http://javathreads.de/?p=116</guid>
		<description><![CDATA[Wortwolken, allgemein auch unter Tagclouds bekannt, gibt es seit ein paar Jahren in allen m&#246;glichen Variationen und k&#246;nnen unter dem Begriff &#8220;Web 2.0&#8221; verbucht werden. Eigentlich ist das Thema auch schon so alt, dass es sich nicht mehr lohnt dar&#252;ber zu berichten geschweige denn ein Tool daf&#252;r zu erstellen.
Jonathan Feinberg hat es dennoch gemacht und [...]]]></description>
			<content:encoded><![CDATA[<p>Wortwolken, allgemein auch unter Tagclouds bekannt, gibt es seit ein paar Jahren in allen m&#246;glichen Variationen und k&#246;nnen unter dem Begriff &#8220;<a href="http://www.webthreads.de/2006/04/was-ist-web-20/">Web 2.0</a>&#8221; verbucht werden. Eigentlich ist das Thema auch schon so alt, dass es sich nicht mehr lohnt dar&#252;ber zu berichten geschweige denn ein Tool daf&#252;r zu erstellen.<br />
<a href="http://mrfeinberg.com/">Jonathan Feinberg</a> hat es dennoch gemacht und mit seinem Tool &#8220;<a href="http://wordle.net/">Wordle</a>&#8221; besondere Aufmerksamkeit erregt. Mit Wordle ist es m&#246;glich sich eine Wortwolke aus einem beliebigen Text, einem Blog, RSS Feed oder del.icio.us Account <a href="http://wordle.net/create">erstellen zu lassen</a>. Das Ergebnis kann online oder lokal als Bild abgespeichert werden und sieht z.B. f&#252;r meinen Blog javathreads.de folgt aus:</p>
<div class="singleImgDiv">
<a href="http://wordle.net/gallery/wrdl/58984/javathreads.de" title="Wordle: http://javathreads.de"><br />
<img src="http://javathreads.de/data/uploads/2008/07/worldejavathreadsde600.jpg" alt="" title="Wordle javathreads.de" class="borderGray alignnone size-full wp-image-119" /><br />
</a>
</div>
<p>Das wirklich Interessante dabei ist nicht die Wortwolke an sich sondern die Tatsache, dass Worlde ein <a href="http://java.sun.com/applets/">Java Applet</a> verwendet um die Wortwolke zu erstellen und anschlie&#223;end durch den User bearbeiten zu lassen. Die Bearbeitung der Wortwolke bzw. die Einstellungen zu dieser k&#246;nnen ganz Applikationsgem&#228;&#223; durch ein Men&#252; gew&#228;hlt werden und auch sonst verh&#228;lt es sich eben wie eine &#8220;richtige Anwendung&#8221; und nicht wie eine Webseite.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/07/wordleapplet.jpg" alt="" title="Wordle Applet" class="borderGray alignnone size-full wp-image-158" />
</div>
<p>Vor ein paar Jahren w&#228;re so ein Applet noch v&#246;llig undenkbar gewesen aber da mittlerweile auf vielen Systemen Java zur Grundausstattung dazugeh&#246;rt und die Internet Anbindungen um ein vielfaches schneller ist als vor acht Jahren ist auch ein Applet heute eigentlich kein Problem mehr. Dennoch hat es einen negativen Ruf und man findet &#8220;gute Vertreter&#8221;, wie z.B. Wordle, nur selten.<br />
Ein weiterer Versuch mit Java in den Browser bzw. RIA (<a href="http://de.wikipedia.org/wiki/Rich_Internet_Application">Rich Internet Application</a>) Markt einzutreten wurde vor nicht allzulanger Zeit durch <a href="http://www.sun.com/software/javafx/index.jsp">JavaFX</a> gestartet. Auch der Ansatz des <a href="http://java.sun.com/javase/technologies/desktop/javawebstart/">Java Web Starts</a> ist ein vielversprechender.</p>
<div class="subHeadline"><a name="stanlytrack" class="noLink">Stanly Track</a></div>
<p>Zum Abschlu&#223; noch ein sch&#246;nes Beispiel f&#252;r ein Java Programm, was mittels Java Web Start zur Verf&#252;gung gestellt wird: <a href="http://www.dfs.de/dfs/internet/deutsch/inhalt/company_future/index.html?ionasFrameCheckName=haupt&#038;ionasFrameCheckUrl=http%3A//www.dfs.de/dfs/internet/deutsch/inhalt/company_future/primaernavigation/fluglaerm_umwelt/index.jsp%3Factivemenu%3Dflughafen_frankfurt/flugverlaeufe%26referrer%3D">Stanly-Track &#8211; Flugverl&#228;ufe vom Frankfurter Flughafen</a>. Mit diesem ist es m&#246;glich die ankommenden und abfliegenden Flugzeuge sowie die Flugspuren vom Frankfurter Flughafen zeitverz&#246;gert zu verfolgen. Man kann auch die Flugdaten anderer Flugh&#228;fen beobachten. Dazu auf der <a href="http://www.dfs.de/dfs/internet/deutsch/inhalt/company_future/primaernavigation/fluglaerm_umwelt/index.jsp">Deutschen Flugsicherung Homepage</a> einfach den gew&#252;nschten Flughafen selektieren.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2008/07/dfsstanlytrackjws.jpg" alt="" title="DFS Stanly-Track - Fl&#252;ge live beobachten mit Hilfe von Java Web Start" class="borderGray alignnone size-full wp-image-159" />
</div>
<p><a href="http://stanlytrack.dfs.de/stanlytrack/stanlytrackEDDF.jnlp">Hier klicken</a> um Stanly-Track f&#252;r Frankfurt direkt aufzurufen. Eine solche Java Web Start Datei hat immer die Endung .jnlp (<a href="http://java.sun.com/developer/technicalArticles/Programming/jnlp/">Java Network Launch Protocol</a>) und wird nach dem Aufrufen zum Download angeboten. Stanly-Track ist immerhin schon seit 2005 verf&#252;gbar.</p>
<p>Insgesamt bestehen also mehrere M&#246;glichkeiten wie Java sich auch im Web und RIA Markt zuk&#252;nftig noch stark bemerkbar machen kann. Obwohl Applets schon abgeschrieben waren kommen sie durch neue Ans&#228;tze wieder zur Geltung, aber auch mit JavaFX wird eine neue Richtung eingeschlagen. Man darf also gespannt sein wie sich diese Themen weiterentwickeln.</p>
]]></content:encoded>
			<wfw:commentRss>http://javathreads.de/2008/07/wortwolken-mit-hilfe-eines-applets/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

