sonlandır

Sorun bildirin Kaynağı göster

Etkili birleştirme işlemlerini destekleyen ve tanımlanmış bir geçiş sırası olan özel bir veri yapısı. Genellikle kurallarda ve yönlerde geçişli bağımlılıklardan veri biriktirmek için kullanılır. Daha fazla bilgiyi burada bulabilirsiniz.

Ayarın öğeleri karma oluşturma işlemi uygulanmalı ve aynı türde (yerleşik tür(x) işlevinin tanımladığı şekilde) öğeler olmalıdır. Ancak dep'ler yalnızca karma oluşturma işlemi değildir ve hızlı üyelik testlerini desteklemez. Genel bir veri kümesi türüne ihtiyacınız varsa tüm anahtarların True ile eşleştiği bir sözlük kullanarak simülasyon yapabilirsiniz.

Depset'ler sabittir. Bunların oluşturucu işlevi kullanılarak oluşturulmalı ve transitive bağımsız değişkeni aracılığıyla diğer bağımsız değişkenlerle birleştirilmeli veya artırılmalıdır.

order parametresi, yinelemeyi tekrarlanabilir bir işleme dönüştürmek için gerçekleştirilen geçiş işleminin türünü belirler. Dört olası değer vardır:

  • "default" (eski adıyla "stable"): Sipariş belirtilmedi (ancak belirleyiciydi).
  • "postorder" (önceki adı "compile"): Soldan sağa sipariş. Bu şekilde, en baştan tüm çocuklar, en soldaki doğrudan öğeler en başta gelir.
  • "preorder" (eski adıyla "naive_link"): Soldan sağa bir ön sipariş. Bu, tam olarak en solda yer alan doğrudan öğeleri, daha sonra tekrarlayan şekilde en solda yer alan alt öğelerin üzerinden geçer.
  • "topological" (eski adıyla "link"): Kökten yapraklara kadar topolojik bir sıralama. Soldan sağa bir garanti yoktur.

İki DNS de yalnızca birbirlerinin aynı sıraya sahip olması veya birinin "default" sırasının bulunması halinde birleştirilebilir. İkinci durumda, sonuç olarak elde edilen sıralama diğerinin siparişiyle aynı olacaktır.

Hazır değerler, yinelenen değerler içerebilir ancak bunlar iterken (to_list() kullanılarak) gizlenir. Kopyalar, sıralama semantiğini etkileyebilir.

Üyeler

to_list

list depset.to_list()

Öğelerin listesini, yinelemenin geçiş sırasına göre, kopyaları olmadan döndürür. Lisansa birden fazla kez eklenen öğeler için siparişin belirtilmediğini ancak belirleyici olduğunu unutmayın. Ayrıca, "default" siparişi olan depsetlerin yanı sıra sırası ve üst kuruluş birimininkinden farklı olan alt alt varlıklar için sipariş belirtilmedi. Liste bir kopyadır. Bu listeyi değiştirmenin, kullanımdan kaldırma üzerinde etkisi yoktur; bunun tersi de geçerlidir.