Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
pp:2026:scala:l05 [2026/03/26 08:13] ldaniel scala definition for matrix |
pp:2026:scala:l05 [2026/05/02 21:34] (current) cosmin.asavoae |
||
|---|---|---|---|
| Line 31: | Line 31: | ||
| <hidden Automatic conversions> | <hidden Automatic conversions> | ||
| <code scala> | <code scala> | ||
| - | given nat2Int: Conversion[Nat, Int] with | + | given nat2Int: Conversion[Nat, Int] = toInt |
| - | def apply(x: Nat): Int = toInt(x) | + | |
| - | given int2Nat: Conversion[Int, Nat] with | + | given int2Nat: Conversion[Int, Nat] = toNat |
| - | def apply(x: Int): Nat = toNat(x) | + | |
| // the second conversion is used to cast params from Int to Nat | // the second conversion is used to cast params from Int to Nat | ||
| Line 118: | Line 116: | ||
| </code> | </code> | ||
| - | **5.3.2** Write a function which takes a BinaryTree and returns the number of nodes in its subtree. | + | **5.3.2** Write a function which takes a BinaryTree and returns the total number of nodes in it. |
| <code scala> | <code scala> | ||
| - | def subtree(tree: BinaryTree): Int = ??? | + | def size(tree: BinaryTree): Int = ??? |
| </code> | </code> | ||
| Line 133: | Line 131: | ||
| </code> | </code> | ||
| - | **(!) 5.3.5** Write a function which takes two BinaryTree and tries to assign the second tree as a child of the first. It should return a "container" of a BinaryTree . | + | **(!) 5.3.5** Write a function which takes two BinaryTree and tries to assign the second tree as a child of the first. It should return a "container" of a BinaryTree. The append is successful if the second tree can become a direct child of the first tree's root. |
| <code scala> | <code scala> | ||
| def append(tree1: BinaryTree, tree2: BinaryTree): Option[BinaryTree] = ??? | def append(tree1: BinaryTree, tree2: BinaryTree): Option[BinaryTree] = ??? | ||