7 svar
198 visningar
TB16 182 – Fd. Medlem
Postad: 24 aug 2019 12:21

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 Online 30499
Postad: 24 aug 2019 13:12

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 182 – Fd. Medlem
Postad: 24 aug 2019 13:57
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 Online 30499
Postad: 24 aug 2019 20:08
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 182 – Fd. Medlem
Postad: 26 aug 2019 19:58
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 Online 30499
Postad: 26 aug 2019 22:06
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 182 – Fd. Medlem
Postad: 28 aug 2019 13:30
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 Online 30499
Postad: 28 aug 2019 16:28

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
Close