<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: B Ağacı (B-Tree)</title>
	<atom:link href="http://www.bilgisayarkavramlari.com/2008/10/25/b-agaci-b-tree/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bilgisayarkavramlari.com/2008/10/25/b-agaci-b-tree/</link>
	<description>www.bilgisayarkavramlari.com</description>
	<lastBuildDate>Thu, 09 Feb 2012 15:35:42 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: kemal</title>
		<link>http://www.bilgisayarkavramlari.com/2008/10/25/b-agaci-b-tree/comment-page-1/#comment-64540</link>
		<dc:creator>kemal</dc:creator>
		<pubDate>Mon, 02 Jan 2012 14:01:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/2008/10/25/b-agaci-b-tree/#comment-64540</guid>
		<description>Merhabalar. B Tree&#039;lerle ilgili mantığı yazınızı okuyarak çok rahat anlayabildim. Ancak elimde büyük bir text var ve burdan kelime arama işlemini B trees ile yapmaya çalışıyorum. Bu konuyla ilgili örnek teşkil etmesi amacıyla kod koyabilirmisiniz? Şimdiden teşekkür ediyorum.

tunahancankurt.blogspot.com</description>
		<content:encoded><![CDATA[<p>Merhabalar. B Tree&#8217;lerle ilgili mantığı yazınızı okuyarak çok rahat anlayabildim. Ancak elimde büyük bir text var ve burdan kelime arama işlemini B trees ile yapmaya çalışıyorum. Bu konuyla ilgili örnek teşkil etmesi amacıyla kod koyabilirmisiniz? Şimdiden teşekkür ediyorum.</p>
<p>tunahancankurt.blogspot.com</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Şadi Evren ŞEKER</title>
		<link>http://www.bilgisayarkavramlari.com/2008/10/25/b-agaci-b-tree/comment-page-1/#comment-61067</link>
		<dc:creator>Şadi Evren ŞEKER</dc:creator>
		<pubDate>Thu, 31 Mar 2011 12:57:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/2008/10/25/b-agaci-b-tree/#comment-61067</guid>
		<description>Öncelikle sorunuzu ilgili olduğu konu olan b-ağacı başlığına taşıdım. 

B ağaçlarında, düğümlerde,  anahtar sayının bir fazlası kadar işaretçi bulunur. Yukarıdaki yazıdaki şekillerden bunu görebilirsiniz. Örneğin düğümde 2 anahtar bulunduğunda 3 işaretçi bulunmaktadır. Bu durumda 95 işaretçi (gösterici , pointer) bulunan bir düğümde 94 adet anahtar bulunacaktır. 

ikinci sorunuz ise veri tabanı konusu ile daha çok ilgili olmakla birlikte, sorudaki indeksleme yapısının iyi anlaşılması gerkir. 
Soruda bir özetleme fonksiyonu (karım ,hash ) kullanıldığından bahsedilmiş. Bu durumda eşitlik kontrolünde O(1) zamanına sahip erişim zaten hash ile yapılabiliyor demektir. Benzer şekilde eşit olmama durumu da O(1) zamanında kontrol edilebilir. Dolayısıyla sorudaki II. ve IV. aramaların vakit olarak B+ ağacından daha hızlı zaten yapılabilmesi söz konusudur. 

Geriye kalan I ve III şıklarınız cevap olacaktır. Buradaki B ağaçlarının erişim süresinin O(log n) ve hash indekslemenin erişim süresinin O(1) olduğunu hatırlamanız yeterlidir. 

Başarılar</description>
		<content:encoded><![CDATA[<p>Öncelikle sorunuzu ilgili olduğu konu olan b-ağacı başlığına taşıdım. </p>
<p>B ağaçlarında, düğümlerde,  anahtar sayının bir fazlası kadar işaretçi bulunur. Yukarıdaki yazıdaki şekillerden bunu görebilirsiniz. Örneğin düğümde 2 anahtar bulunduğunda 3 işaretçi bulunmaktadır. Bu durumda 95 işaretçi (gösterici , pointer) bulunan bir düğümde 94 adet anahtar bulunacaktır. </p>
<p>ikinci sorunuz ise veri tabanı konusu ile daha çok ilgili olmakla birlikte, sorudaki indeksleme yapısının iyi anlaşılması gerkir.<br />
Soruda bir özetleme fonksiyonu (karım ,hash ) kullanıldığından bahsedilmiş. Bu durumda eşitlik kontrolünde O(1) zamanına sahip erişim zaten hash ile yapılabiliyor demektir. Benzer şekilde eşit olmama durumu da O(1) zamanında kontrol edilebilir. Dolayısıyla sorudaki II. ve IV. aramaların vakit olarak B+ ağacından daha hızlı zaten yapılabilmesi söz konusudur. </p>
<p>Geriye kalan I ve III şıklarınız cevap olacaktır. Buradaki B ağaçlarının erişim süresinin O(log n) ve hash indekslemenin erişim süresinin O(1) olduğunu hatırlamanız yeterlidir. </p>
<p>Başarılar</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: solnishka</title>
		<link>http://www.bilgisayarkavramlari.com/2008/10/25/b-agaci-b-tree/comment-page-1/#comment-61055</link>
		<dc:creator>solnishka</dc:creator>
		<pubDate>Thu, 31 Mar 2011 09:54:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/2008/10/25/b-agaci-b-tree/#comment-61055</guid>
		<description>Sırası (order) 50 olan bir B+ ağaçta, yaprak olmayan
bir düğümde 95 işaretçi bulunmaktadır.
Buna göre bu düğümde kaç anahtar vardır?
A) 48 B) 49 C) 93 D) 94 E) 95

Her disk bloğuna 10 kaydın sığabildiği, 5 000 000
kaydın tutulduğu R(A,B,C,D,E) dosyası vardır. A özniteliği
anahtar alandır ve bu alandaki veriler 0 ile
4 999 999 arasında değişen değerler alabilmektedir.
R dosyası A değerlerine göre sıralı saklanmaktadır.
Ayrıca bu dosya için A özniteliğine göre, hem bir B+
ağacı hem de karım (hash) dizin vardır.
Buna göre,
I. σA&gt;50 000 (R)
II. σA=50 000 (R)
III. σA&gt;50 000 ∧ A&lt;50 010 (R)
IV. σA≠50 000 (R)
sorgularından hangileri için B+ ağaç dizinini kullanmak
en hızlı ve en ucuz çözüm olur?
(σ : İlişkisel cebirdeki seçme işlemi)
A) Yalnız II B) Yalnız III
C) Yalnız I ve III D) Yalnız I ve IV
E) Yalnız II ve IV


şimdiden teşekkürler..</description>
		<content:encoded><![CDATA[<p>Sırası (order) 50 olan bir B+ ağaçta, yaprak olmayan<br />
bir düğümde 95 işaretçi bulunmaktadır.<br />
Buna göre bu düğümde kaç anahtar vardır?<br />
A) 48 B) 49 C) 93 D) 94 E) 95</p>
<p>Her disk bloğuna 10 kaydın sığabildiği, 5 000 000<br />
kaydın tutulduğu R(A,B,C,D,E) dosyası vardır. A özniteliği<br />
anahtar alandır ve bu alandaki veriler 0 ile<br />
4 999 999 arasında değişen değerler alabilmektedir.<br />
R dosyası A değerlerine göre sıralı saklanmaktadır.<br />
Ayrıca bu dosya için A özniteliğine göre, hem bir B+<br />
ağacı hem de karım (hash) dizin vardır.<br />
Buna göre,<br />
I. σA&gt;50 000 (R)<br />
II. σA=50 000 (R)<br />
III. σA&gt;50 000 ∧ A&lt;50 010 (R)<br />
IV. σA≠50 000 (R)<br />
sorgularından hangileri için B+ ağaç dizinini kullanmak<br />
en hızlı ve en ucuz çözüm olur?<br />
(σ : İlişkisel cebirdeki seçme işlemi)<br />
A) Yalnız II B) Yalnız III<br />
C) Yalnız I ve III D) Yalnız I ve IV<br />
E) Yalnız II ve IV</p>
<p>şimdiden teşekkürler..</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Şadi Evren ŞEKER</title>
		<link>http://www.bilgisayarkavramlari.com/2008/10/25/b-agaci-b-tree/comment-page-1/#comment-54881</link>
		<dc:creator>Şadi Evren ŞEKER</dc:creator>
		<pubDate>Sun, 02 Jan 2011 05:19:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/2008/10/25/b-agaci-b-tree/#comment-54881</guid>
		<description>yukarıdaki bu kod, btree kodu değil bst (binary search tree) kodudur. Sorunuzun çözümünü daha önce bir ders sayfamda yayınlamıştım http://www.sadievrenseker.com/datastr2009/ adresine bakabilirsiniz. 

başarılar</description>
		<content:encoded><![CDATA[<p>yukarıdaki bu kod, btree kodu değil bst (binary search tree) kodudur. Sorunuzun çözümünü daha önce bir ders sayfamda yayınlamıştım <a href="http://www.sadievrenseker.com/datastr2009/" rel="nofollow">http://www.sadievrenseker.com/datastr2009/</a> adresine bakabilirsiniz. </p>
<p>başarılar</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Şadi Evren ŞEKER</title>
		<link>http://www.bilgisayarkavramlari.com/2008/10/25/b-agaci-b-tree/comment-page-1/#comment-54550</link>
		<dc:creator>Şadi Evren ŞEKER</dc:creator>
		<pubDate>Tue, 28 Dec 2010 22:55:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/2008/10/25/b-agaci-b-tree/#comment-54550</guid>
		<description>kodunuzu inceledim ve visual studio ile denedim (CSharp yazdığınızı varsayıyorum). Ancak kodunuzda çok sayıda tanımlanmamış değişken kullanılması söz konusu. Örneğin temp ve gecici gibi. 

Mümkünse kodunuzu içeren projeyi bir rar veya zip dosyası haline getirip mail ile bana ulaştırın. Vakit konusunda söz vermemekle birlikte inceleyip size hatanızı ve düzeltilmiş halini ulaştırmaya çalışırım. 

başarılar</description>
		<content:encoded><![CDATA[<p>kodunuzu inceledim ve visual studio ile denedim (CSharp yazdığınızı varsayıyorum). Ancak kodunuzda çok sayıda tanımlanmamış değişken kullanılması söz konusu. Örneğin temp ve gecici gibi. </p>
<p>Mümkünse kodunuzu içeren projeyi bir rar veya zip dosyası haline getirip mail ile bana ulaştırın. Vakit konusunda söz vermemekle birlikte inceleyip size hatanızı ve düzeltilmiş halini ulaştırmaya çalışırım. </p>
<p>başarılar</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ayse arslan</title>
		<link>http://www.bilgisayarkavramlari.com/2008/10/25/b-agaci-b-tree/comment-page-1/#comment-54547</link>
		<dc:creator>ayse arslan</dc:creator>
		<pubDate>Tue, 28 Dec 2010 22:41:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/2008/10/25/b-agaci-b-tree/#comment-54547</guid>
		<description>&lt;pre&gt;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication14
{
    class Node
    {
        public int? veri;
        public Node leftNode, rightNode;
        public Node(int? veri, Node leftNode, Node rightNode)
        {
            this.veri = veri;
            this.rightNode = rightNode;
            this.leftNode = leftNode;
        }
    }
    class uygulama
    {
        static void ekle(int veri, Node root)
        {
            Node yeniNode = new Node(veri, null, null); //daha önce node yok ise yeniNode root olacak
            if (root.veri == null)
                root.veri = veri;
            else
            {
                Node current = root;
                Node parent; //geçici root (temp gibi)
                while (true)
                {
                    parent = current;
                    if (veri = temp.veri)
                    {
                        temp.veri = temp.rightNode.veri;
                        gecici.rightNode = temp.rightNode.rightNode;
                    }
                }
            }
        }

        static void preorder(Node node)
        {

            Console.WriteLine(node.veri);
            if (node.leftNode != null)
                preorder(node.leftNode);
            if (node.rightNode != null)
                preorder(node.rightNode);
        }
        static void inorder(Node node)
        {
            Console.WriteLine(node.leftNode);
            if (node.veri != null)
                inorder(node.veri);
            if (node.rightNode != null)
                inorder(node.rightNode);
        }
        static void postorder(Node node)
        {
            Console.WriteLine(node.leftNode);
            if (node.rightNode != null)
                postorder(node.rightNode);
            if (node.veri != null)
                postorder(node.veri);
        }

        static void Main(string[] args)
        {
            Node root = new Node(null, null, null); //kök node oluşturma
            ekle(15, root);
            ekle(10, root);
            preorder(root);
            sil(12, root);
        }
    }

    
}
&lt;/pre&gt;
sil işlemi çalışmıyor kafam çok karıştı hatalarmda yardm edersenz sevinirm.</description>
		<content:encoded><![CDATA[<pre>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication14
{
    class Node
    {
        public int? veri;
        public Node leftNode, rightNode;
        public Node(int? veri, Node leftNode, Node rightNode)
        {
            this.veri = veri;
            this.rightNode = rightNode;
            this.leftNode = leftNode;
        }
    }
    class uygulama
    {
        static void ekle(int veri, Node root)
        {
            Node yeniNode = new Node(veri, null, null); //daha önce node yok ise yeniNode root olacak
            if (root.veri == null)
                root.veri = veri;
            else
            {
                Node current = root;
                Node parent; //geçici root (temp gibi)
                while (true)
                {
                    parent = current;
                    if (veri = temp.veri)
                    {
                        temp.veri = temp.rightNode.veri;
                        gecici.rightNode = temp.rightNode.rightNode;
                    }
                }
            }
        }

        static void preorder(Node node)
        {

            Console.WriteLine(node.veri);
            if (node.leftNode != null)
                preorder(node.leftNode);
            if (node.rightNode != null)
                preorder(node.rightNode);
        }
        static void inorder(Node node)
        {
            Console.WriteLine(node.leftNode);
            if (node.veri != null)
                inorder(node.veri);
            if (node.rightNode != null)
                inorder(node.rightNode);
        }
        static void postorder(Node node)
        {
            Console.WriteLine(node.leftNode);
            if (node.rightNode != null)
                postorder(node.rightNode);
            if (node.veri != null)
                postorder(node.veri);
        }

        static void Main(string[] args)
        {
            Node root = new Node(null, null, null); //kök node oluşturma
            ekle(15, root);
            ekle(10, root);
            preorder(root);
            sil(12, root);
        }
    }

}
</pre>
<p>sil işlemi çalışmıyor kafam çok karıştı hatalarmda yardm edersenz sevinirm.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Şadi Evren ŞEKER</title>
		<link>http://www.bilgisayarkavramlari.com/2008/10/25/b-agaci-b-tree/comment-page-1/#comment-10895</link>
		<dc:creator>Şadi Evren ŞEKER</dc:creator>
		<pubDate>Wed, 27 Jan 2010 21:39:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/2008/10/25/b-agaci-b-tree/#comment-10895</guid>
		<description>evet logn &#039;dir ve logaritmanın tabanı, düğüm boyutudur. Yani bir düğümdeki eleman sayısı kadar farklı alternatif her adımda incelendiği için problemi bu kadar alt parçaya böler ve basitleştirir. 

Örneğin düğüm boyutumuz 5 olsun. Arama algoritmamız ilk adımda problemi 5 parçaya böler ve bunlardan birisine iner. Dolayısıyla her adımda problemin kalan kısmının %20&#039;si aranmak üzere seçilir. 

Diğer bir deyişle ağacın derinliği (kökten yapraklara kadar olan uzaklık) oluşturulurken logn seviye yeterlidir.</description>
		<content:encoded><![CDATA[<p>evet logn &#8216;dir ve logaritmanın tabanı, düğüm boyutudur. Yani bir düğümdeki eleman sayısı kadar farklı alternatif her adımda incelendiği için problemi bu kadar alt parçaya böler ve basitleştirir. </p>
<p>Örneğin düğüm boyutumuz 5 olsun. Arama algoritmamız ilk adımda problemi 5 parçaya böler ve bunlardan birisine iner. Dolayısıyla her adımda problemin kalan kısmının %20&#8242;si aranmak üzere seçilir. </p>
<p>Diğer bir deyişle ağacın derinliği (kökten yapraklara kadar olan uzaklık) oluşturulurken logn seviye yeterlidir.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Yaman</title>
		<link>http://www.bilgisayarkavramlari.com/2008/10/25/b-agaci-b-tree/comment-page-1/#comment-10893</link>
		<dc:creator>Yaman</dc:creator>
		<pubDate>Wed, 27 Jan 2010 21:08:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/2008/10/25/b-agaci-b-tree/#comment-10893</guid>
		<description>taman sanırım buldum, O(logn)</description>
		<content:encoded><![CDATA[<p>taman sanırım buldum, O(logn)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Yaman</title>
		<link>http://www.bilgisayarkavramlari.com/2008/10/25/b-agaci-b-tree/comment-page-1/#comment-10892</link>
		<dc:creator>Yaman</dc:creator>
		<pubDate>Wed, 27 Jan 2010 21:05:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/2008/10/25/b-agaci-b-tree/#comment-10892</guid>
		<description>Merhabalar hocam, B-Tree&#039;de arama işleminin zaman karmaşıklığı nedir? (nlog2n??)</description>
		<content:encoded><![CDATA[<p>Merhabalar hocam, B-Tree&#8217;de arama işleminin zaman karmaşıklığı nedir? (nlog2n??)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Halim</title>
		<link>http://www.bilgisayarkavramlari.com/2008/10/25/b-agaci-b-tree/comment-page-1/#comment-5441</link>
		<dc:creator>Halim</dc:creator>
		<pubDate>Wed, 29 Jul 2009 21:30:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/2008/10/25/b-agaci-b-tree/#comment-5441</guid>
		<description>Teşekkürler</description>
		<content:encoded><![CDATA[<p>Teşekkürler</p>
]]></content:encoded>
	</item>
</channel>
</rss>

