2013-03-12 21 views
6

Ben gibi kelimelerin bir listesini çizmek olabilir:Değişmez listeleri ağaçlara ikili olarak düşünebilir miyiz?

this -> is -> a -> test 

ve ardından paylaşımı yoluyla, ben olarak iki liste çizmek olabilir: Ben okları ters eğer

this -> is -> a -> test 
        ^
        | 
that -> was -> a -> hard 

Şimdi, bir ağaç olsun, Kök olarak test edilir. Bu, grafik/kategori teorisindeki dualite ile aynı kavramdır. Bu nedenle, ağaçları ve listeleri ikili kavram olarak düşünebilirim.

Bu doğru/kullanışlı mı?

+1

Sanırım, çünkü bu tür bir paylaşım otomatik değil. –

+0

@DanielLyons, bu ikiliin bir orman olacağı anlamına mı geliyor? – didierc

+0

@didierc Bence bu soru gerçekten geçerli değil demektir. –

cevap

18

Paylaşım ve tembellik keyfi döngüsel yapılara sahip olmanıza izin verir. Örneğin, Haskell tanımı

ones = 1 : ones 

tek tepe (1'e karşılık gelir) ve (grafik teorisi değil, programlama anlamda) bir döngü oluşturduğu bir grafik üretir. Okları ters çevirerek, aynı yapıyı elde edersiniz ve bu bir ağaç değildir (döngüleri olduğu gibi).

Bu nedenle, tembel bir dilde doğru değil.

+4

Gerçekten. Bir sebepten dolayı "grafik azaltma" denir. –