2012-04-10 23 views
7

Dış sıralama ve iç sıralama arasındaki fark nedir? Giriş verilerinin RAM'de saklanıp saklanamayacağını veya algoritma ile ilgisi olmadığını anlamıyorum.Dış sıralama ve iç sıralama arasındaki fark nedir?

+1

http://en.wikipedia.org/wiki/External_sorting –

+1

http://en.wikipedia.org/wiki/Internal_sort –

+2

Bellek içi veya bellek dışı sıralama arasındaki farkı göremiyorsanız Bu konuda yeterince düşünmedin mi. İkisini de yapacak program yazmanızı öneririm. Öncelikle, uzunluk 100 tamsayılarının listesini sıralayın; Sonraki 4TB'ye kadar çalışan tamsayıların listesini sıralayın. –

cevap

9

İç sıralamada, sıralama yapılacak olan tüm veriler, sıralama devam ederken bellekte depolanır. Harici sıralama verilerinde hafıza dışında saklanır (diskte olduğu gibi) ve sadece küçük parçalar halinde belleğe yüklenir. Harici sıralama genellikle, verilerin belleğe tam olarak sığamayacağı durumlarda uygulanır.

İçsel sıralamada, kabuk sıralaması gibi bir şey yapabilirsiniz - istediğiniz herhangi bir zamanda istediğiniz dizi öğelerine erişmeniz yeterlidir. Bunu harici sıralamada yapamazsınız - dizi tamamen bellekte değildir, bu nedenle bellekte herhangi bir öğeye rastgele erişemezsiniz ve rasgele diskte rastgele erişemezsiniz. Harici sıralama algoritması, en iyi şekilde veri parçaları yükleme ve boşaltma ile uğraşmak zorundadır.

+0

harici bellek - verilerinizin bir kısmını bir seferde alıyorsunuz? – committedandroider

+0

@committedandroider: Evet, çünkü tüm verileri uygun belleğe sığdıramazsınız. – sharptooth