SORU
28 HAZİRAN 2010, PAZARTESİ


Hash tabloları VS ilişkilendirilebilir diziler

Son zamanlarda hakkında okudumhash tablolarıçok ünlü bir kitap "Introduction to Algorithms". Gerçek uygulamalarda onları henüz kullanmadım ama. Ama nasıl başlayacağımı bilmiyorum.
Herkes sözlük uygulaması (hzimetleri gibi) karma tablo kullanarak gerçekleştirmek için kullanmanın bazı örnekler verin, örneğin, olabilir mi?
Ve son olarak karma tabloları ve ilişkisel diziler arasındaki fark nedir bilmek istiyorum PHP, yani hangi teknoloji ve hangi durumlarda? kullanmalıyım
Eğer yanlış (pardon) isem lütfen beni düzeltin, aslında karma tabloları ile başlıyorum çünkü ve onlar hakkında (teorik) sadece temel bilgilerim var.
Çok teşekkürler.

CEVAP
28 HAZİRAN 2010, PAZARTESİ


PHP ilişkisel diziler ekstra işlevsellik biraz hashtables olarak uygulanır.

Ancak teknik olarak ilişkilendirilebilir bir dizi bir karma tablo için aynı değildir sadeceuygulanmaktadırperde arkasında bir karma tablosu ile kısmen. Bu uygulamalarının çoğu bir karma tablo olduğundan, bir karma tablosu her şeyi yapabilir - ama daha fazla da olabilir.

Örneğin, ilişkili bir dizi bir karma tablosu ile yapamaz hangi bir for döngüsü kullanılarak döngü.

Bu kadar benzer iken, ilişkilendirilebilir bir dizi aslındaüst kümesidirtam olarak aynı şeyi yapıyorlar bir karma tablo ne -. Ayrıca ekstra işlevsellik hashtables gibi düşün.

Kod örnekleri:

Bir karma tablo olarak ilişkilendirilebilir bir dizi kullanarak:

$favoriteColor = array();
$favoriteColor['bob']='blue';
$favoriteColor['Peter']='red';
$favoriteColor['Sally']='pink';
echo 'bob likes: '.$favoriteColor['bob']."\n";
echo 'Sally likes: '.$favoriteColor['Sally']."\n";
//output: bob likes blue
//        Sally likes pink

İlişkilendirilebilir bir dizi döngü:

$idTable=array();
$idTable['Tyler']=1;
$idTable['Bill']=20;
$idTable['Marc']=4;
//up until here, we're using the array as a hashtable.

//now we loop through the array - you can't do this with a hashtable:
foreach($idTable as $person=>$id)
    echo 'id: '.$id.' | person: '.$person."\n";

//output: id: 1 | person: Tyler
//        id: 20 | person: Bill
//        id: 4 | person: Marc

İkinci örnekte, her elemanın düzen sağlandığı, özellikle not (Tyler, Bill Marc) hangi diziye girdi sıralarına göre. Bu ilişkisel diziler ve hashtables arasında büyük bir fark var. Bir karma tablosu tutar öğeler, ilişkisel dizi yapar bir PHP (hatta PHP bir ilişkisel dizi sıralama yapabilirsiniz) ise arasında hiçbir bağlantı sağlar.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ciaran Blumenfeld

    Ciaran Blume

    20 NİSAN 2009
  • knopik96

    knopik96

    7 Mayıs 2011
  • UrAvgConsumer

    UrAvgConsume

    1 Ocak 2012