<?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>kelebek@PIS-ii:~$ &#187; Sort</title>
	<atom:link href="http://blog.yollu.com/tag/sort/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.yollu.com</link>
	<description>Aşkın Yollu&#039;nun Web Günlüğü</description>
	<lastBuildDate>Mon, 07 Dec 2009 06:45:39 +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>Bubble sort  algoritması ve scheme çözümü</title>
		<link>http://blog.yollu.com/2007/12/17/binary-sort-ikili-siralama-algoritmasi-ve-scheme-cozumu/</link>
		<comments>http://blog.yollu.com/2007/12/17/binary-sort-ikili-siralama-algoritmasi-ve-scheme-cozumu/#comments</comments>
		<pubDate>Mon, 17 Dec 2007 12:11:28 +0000</pubDate>
		<dc:creator>Aşkın Yollu</dc:creator>
				<category><![CDATA[Programlama]]></category>
		<category><![CDATA[Scheme]]></category>
		<category><![CDATA[Algoritma]]></category>
		<category><![CDATA[Bubble]]></category>
		<category><![CDATA[Sıralama]]></category>
		<category><![CDATA[Sort]]></category>

		<guid isPermaLink="false">http://www.bobrektasi.org/2007/12/17/binary-sort-ikili-siralama-algoritmasi-ve-scheme-cozumu/</guid>
		<description><![CDATA[Bubble sort algoritması kabaca: verilen dizideki elemanları ikili olarak karşılaştırıp gerekli olduğunda yerlerini değiştirmek esasına dayanır. Elimizde 11 5 8 4 6 84 7 sayılarında oluşan bir dizi olduğunu var sayalım ve bu diziyi küçükten büyüğe sıralamak isteyelim.

önce 11 ile 5i karşılaştırırız, 11 5'ten büyük olduğu için 11 ile 5in yerini değiştiririz; 5 11 8 [...]]]></description>
			<content:encoded><![CDATA[<p>Bubble sort algoritması kabaca: verilen dizideki elemanları ikili olarak karşılaştırıp gerekli olduğunda yerlerini değiştirmek esasına dayanır. Elimizde 11 5 8 4 6 84 7 sayılarında oluşan bir dizi olduğunu var sayalım ve bu diziyi küçükten büyüğe sıralamak isteyelim.</p>
<ol>
<li>önce 11 ile 5i karşılaştırırız, 11 5'ten büyük olduğu için 11 ile 5in yerini değiştiririz; 5 11 8 4 6 84 7</li>
<li>sonra 11 ile 8i karşılaştırırız ve 11 ile 8'in yerini değiştiririz 5 8 11 4 6 84 7</li>
<li>11 ile 4; 5 8 4 11 6 84 7</li>
<li>11 ile 6; 5 8 4 6 11 84 7</li>
<li>11 ile 84; 84 büyük olduğu için sıralamaya dokunmayız. 5 8 4 6 11 84 7</li>
<li>şimdi 84 ile 7'yi karşılaştırırız; 5 8 4 6 11 7 84</li>
</ol>
<p>Son durumda 7 elemanlı bir dizi için 6 kontrol yaptık ve en büyük elemanı sona attık. Şimdiki karşılaştırmalarımızda artık son elamanı yok sayabiliriz. Yani problemimiz artık 6 elemanlı bir diziyi sıralamak oldu. Aynı işlemleri 6 eleman varsayarak yaptığımızda sırasıyla problem 5, 4, 3, 2 ve 1 elemanlı dizileri sıralamaya dönüşecek. 1 elemanlı dizi herzaman sıralı olduğu için hiç bi derdimiz sıkıntımızda kalmayacak:) Bu şekilde işlemleride 6 defa yaptık.<br />
Şimdi sıra geldi koda</p>
<pre class="scheme"><ol start="0"><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">define</span> vector-bubble-sort</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">  <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">lambda</span> <span style="color: #66cc66;">&#40;</span>vec op<span style="color: #66cc66;">&#41;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">    <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">let</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span>tmp <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#40;</span>stop-<span style="color: #b1b100;">do</span> #f<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">      <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">do</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span>i <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#40;</span>+ i <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">or</span> <span style="color: #66cc66;">&#40;</span>= i <span style="color: #66cc66;">&#40;</span>vector-<span style="color: #b1b100;">length</span> vec<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> stop-<span style="color: #b1b100;">do</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">        <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">set!</span> stop-<span style="color: #b1b100;">do</span> #t<span style="color: #66cc66;">&#41;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">        <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">do</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span>j <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#40;</span>+ j <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span>= j <span style="color: #66cc66;">&#40;</span>- <span style="color: #66cc66;">&#40;</span>vector-<span style="color: #b1b100;">length</span> vec<span style="color: #66cc66;">&#41;</span> i <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">          <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">not</span> <span style="color: #66cc66;">&#40;</span>op <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">vector-ref</span> vec j<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">vector-ref</span> vec <span style="color: #66cc66;">&#40;</span>+ j <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">              <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">begin</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">                <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">set!</span> tmp <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">vector-ref</span> vec j<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">                <span style="color: #66cc66;">&#40;</span>vector-<span style="color: #b1b100;">set!</span> vec j <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">vector-ref</span> vec <span style="color: #66cc66;">&#40;</span>+ j <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">                <span style="color: #66cc66;">&#40;</span>vector-<span style="color: #b1b100;">set!</span> vec <span style="color: #66cc66;">&#40;</span>+ j <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span> tmp<span style="color: #66cc66;">&#41;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">                <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">set!</span> stop-<span style="color: #b1b100;">do</span> #f<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">    vec<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></div></li></ol></pre>
<p>DrScheme de etkileşim penceresine </p>
<pre class="scheme"><span style="color: #66cc66;">&#40;</span>vector-bubble-sort #<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">5</span> <span style="color: #cc66cc;">11</span> <span style="color: #cc66cc;">8</span> <span style="color: #cc66cc;">4</span> <span style="color: #cc66cc;">6</span> <span style="color: #cc66cc;">84</span> <span style="color: #cc66cc;">7</span><span style="color: #66cc66;">&#41;</span> &lt; <span style="color: #66cc66;">&#41;</span></pre>
<p> şeklide giriş yapmamız gerekiyor. "< " işareti yerine ">" işaretide koyabiliriz. Bu sayede birde büyükten küçüğe sıralamak için aynı kodları yazmamıza gerek kalmayacak. </pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.yollu.com/2007/12/17/binary-sort-ikili-siralama-algoritmasi-ve-scheme-cozumu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
