7 svar
59 visningar
TB16 185
Postad: 24 aug 2019

JSON element

Uppgift:

A binary tree is a tree whose every node either branches to two binary trees or is a
leaf, i.e. contains a value. Here is an example of a binary tree
Show a JSON element representing the above example tree, and which is
valid according to your Schema.

   - Variant: Make values in branches optional (but values in leafs should still be required)

Jag har försökt lösa uppgiften på följande vis:
Är detta en korrekt lösning? Den skiljer sig från svaret till uppgiften, men det kanske bara är ett annat sätt att lösa uppgiften på? Svaret till uppgiften:

Key/value based approach:



Laguna 6358
Postad: 24 aug 2019

Namn är förstås godtyckliga, men leaf/löv syftar bara på noder som inte har barn. Kalla dem children i stället. 

Varför har du både leaf och leafs? 

TB16 185
Postad: 24 aug 2019
Laguna skrev:

Namn är förstås godtyckliga, men leaf/löv syftar bara på noder som inte har barn. Kalla dem children i stället. 

Varför har du både leaf och leafs? 

Ja just det ja. Anledningen till att jag skrev både leaf och leafs är bara pga slarv. Är elementet korrekt i övrigt om man bortser från namnen?

Efter namnjusteringarna: 
 





Laguna 6358
Postad: 24 aug 2019
TB16 skrev:
Laguna skrev:

Namn är förstås godtyckliga, men leaf/löv syftar bara på noder som inte har barn. Kalla dem children i stället. 

Varför har du både leaf och leafs? 

Ja just det ja. Anledningen till att jag skrev både leaf och leafs är bara pga slarv. Är elementet korrekt i övrigt om man bortser från namnen?

Efter namnjusteringarna: 
Det blir besvärligt att skriva generell kod som hanterar dina träd, för noderna är inte alls enhetliga. I roten står värdet under "root", på nästa nivå under "left" eller "right", och på lövnivån under "LeftLeaf" och "RightLeaf".





TB16 185
Postad: 26 aug 2019
Laguna skrev: Det blir besvärligt att skriva generell kod som hanterar dina träd, för noderna är inte alls enhetliga. I roten står värdet under "root",

Hur menar du med att värdet står under "root"? Syftar du på att värdet 3 står under "root"?

 





Laguna 6358
Postad: 26 aug 2019
TB16 skrev:
Laguna skrev: Det blir besvärligt att skriva generell kod som hanterar dina träd, för noderna är inte alls enhetliga. I roten står värdet under "root",

Hur menar du med att värdet står under "root"? Syftar du på att värdet 3 står under "root"?

 

Med "under root" menade jag att man slår upp nyckeln "root" för att få värdet. Visuellt är det väl till höger här.

TB16 185
Postad: 28 aug 2019
Laguna skrev:
TB16 skrev:
Laguna skrev: Det blir besvärligt att skriva generell kod som hanterar dina träd, för noderna är inte alls enhetliga. I roten står värdet under "root",

Hur menar du med att värdet står under "root"? Syftar du på att värdet 3 står under "root"?

 

Med "under root" menade jag att man slår upp nyckeln "root" för att få värdet. Visuellt är det väl till höger här.

Gör man inte det i svaret till uppgiften också? (se nedan). Är det att jag bakar in barnnoderna i en array som skapar problem? 

{ "data":3,
"lft": {
"data":1,
"lft": {"data":0},
"rgt": {"data":2}
},
"rgt": {
"data":5,
"lft": {"data":4},
"rgt": {"data":6}
}
}

Visuell representation:

Laguna 6358
Postad: 28 aug 2019

Den enda nyckel de har där är "data", så man behöver inte veta var i trädet en nod finns för att hantera den.

Svara Avbryt
Close