Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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] = ???