mirror of
https://github.com/donnemartin/interactive-coding-challenges
synced 2026-01-09 10:58:02 +00:00
Move tree height to a class
This commit is contained in:
@@ -91,33 +91,15 @@
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Overwriting height.py\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"%%writefile height.py\n",
|
||||
"def height(node):\n",
|
||||
" if node is None:\n",
|
||||
" return 0\n",
|
||||
" return 1 + max(height(node.left), \n",
|
||||
" height(node.right))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"metadata": {
|
||||
"collapsed": true
|
||||
},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"%run height.py"
|
||||
"class BstHeight(Bst):\n",
|
||||
"\n",
|
||||
" def height(self, node):\n",
|
||||
" if node is None:\n",
|
||||
" return 0\n",
|
||||
" return 1 + max(self.height(node.left),\n",
|
||||
" self.height(node.right))"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -129,7 +111,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 4,
|
||||
"execution_count": 3,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
@@ -150,13 +132,13 @@
|
||||
"class TestHeight(object):\n",
|
||||
"\n",
|
||||
" def test_height(self):\n",
|
||||
" root = Node(5)\n",
|
||||
" assert_equal(height(root), 1)\n",
|
||||
" insert(root, 2)\n",
|
||||
" insert(root, 8)\n",
|
||||
" insert(root, 1)\n",
|
||||
" insert(root, 3)\n",
|
||||
" assert_equal(height(root), 3)\n",
|
||||
" bst = BstHeight(Node(5))\n",
|
||||
" assert_equal(bst.height(bst.root), 1)\n",
|
||||
" bst.insert(2)\n",
|
||||
" bst.insert(8)\n",
|
||||
" bst.insert(1)\n",
|
||||
" bst.insert(3)\n",
|
||||
" assert_equal(bst.height(bst.root), 3)\n",
|
||||
"\n",
|
||||
" print('Success: test_height')\n",
|
||||
"\n",
|
||||
@@ -172,7 +154,7 @@
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 5,
|
||||
"execution_count": 4,
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user