Trees vs Nodes
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 20/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- julia
- Ambito
- backend-api-design
Direzione di ricerca
Inizia leggendo l’issue #115 e rivedendo il tipo IndexedTree esistente e le API che accettano radici di nodi. Il lavoro sarebbe completato quando esistesse un design concreto e concordato per distinguere i nodi dagli alberi interi e definire come l’API debba supportare tipi di albero aggiuntivi.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
I haven't had much time to contribute to this package for quite a while, but this was a major issue I identified way back when I was thinking about expanding the interface. After it came up recently in #115 I'm adding this issue just to start the discussion. It is more of a problem for when/if the API gets expanded further and not something that needs to be fixed right now.
Basically, there is a subtle but important difference between a tree and a node. A node is just some type that implements children(), while a tree represents an entire collection of nodes with a single root and all their parent/child relationships. Part of the confusion is because any node implicitly represents a tree with itself as the root. This is just part of a tree's inherently recursive nature - any subtree is itself a tree in its own right. Several functions currently in this package conceptually work on full trees but take as an argument a node which is the root of that tree. However, this isn't necessarily the same as "the tree the node belongs to".
If a node implements parent links there is a well-defined "whole tree" that it belongs to (the root of which can be obtained by moving up the chain of parent links as far as possible). If there aren't explicit parent links then the "true" root could depend on context - e.g. in parsed JSON data made of nested arrays and dictionaries there is a node that corresponds to the root of the document. An API function that is just passed a plain array nested several layers deep in this document has no way of knowing that, and maybe should treat that node as possibly existing within a larger tree rather than assuming it is the root.
Currently there is just one type (IndexedTree) which represents a whole tree without also being a node itself, but I could definitely envision others. It would make sense to have the API be able to deal with these types in general.
- Lingua principale
- Julia
- Stelle
- 244
- Fork
- 67
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di JuliaCollections/AbstractTrees.jl
-
New tagged release?Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
JuliaCollections/AbstractTrees.jl#160 · 2 reazioni ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
JuliaCollections/AbstractTrees.jl#158 · 1 commento ·
-
printing broad trees should truncateForse già presa @ghyatzo l’ha presa 232 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 32/100
JuliaCollections/AbstractTrees.jl#138 · 1 commento ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 42/100
JuliaCollections/AbstractTrees.jl#134 · 3 commenti ·
Tutte le issue di JuliaCollections/AbstractTrees.jl
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
OpenFUSIONToolkit/GPEC#644 ·
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 62/100
SciML/DataDrivenDiffEq.jl#694 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
JuliaLang/LinearAlgebra.jl#1834 ·
I maintainer di solito rispondono entro 1 giorno
-
`RawAcquisitionData(acqData)` writes the repetition into the `average` counterForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
MagneticResonanceImaging/MRIReco.jl#332 ·
I maintainer di solito rispondono entro 1 giorno
-
Docstrings show df:DataFrame and an undefined function is exportedForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100