
Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN: 9780133594140
Author: James Kurose, Keith Ross
Publisher: PEARSON
expand_more
expand_more
format_list_bulleted
Question
Given a binary tree with integer data at all nodes (including leaves), your task is to create a pretty printer. Each node in the tree can have 0, 1, or 2 children in python3.
- constructor that takes a required int argument for the data stored in the node, and two optional Node arguments for the left and right children, respectively.
- __str__(self) -> str: returns a string representation of the subtree rooted at the self node [must use recursion]
- compute_height(self) -> int: returns the height of the current node. The height is the distance of the longest path between a leaf node and the current node. [must use recursion]
- pretty_print(self, indent: int): prints a formatted tree string with each node on a separate line, using the format value: height, and making sure that sibling and cousin nodes (i.e., those at the same distance from the root node) are indented using the same number of spaces (see example below). The root is indented 0 spaces, the children of the root are indented a single space, their children (root's grandchildren) are indented 2 spaces, etc. [must use recursion]
Expert Solution

This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
This is a popular solution
Trending nowThis is a popular solution!
Step by stepSolved in 4 steps with 2 images

Knowledge Booster
Similar questions
- How to announce a Linked List Node with three characters in C language, same as the example shown in teaching materials For example is the following figure. EAT O a. struct Node { char *EAT[3]; struct Node next; } Node; O b. struct { Char Three; Link *Next; }; O c. typedef Linked Node { Character EAT; Arrow Link; O d. struct Node { char Three; Arrow Link; }; O e. typedef structure Node { char Name[3]; structure Node *Next; }; O f. structure List Node { Three Character; Link; } O g. typedef struct Node { char name[3]; struct Node *next; } node_C; Oh. typedef struct Node { char EAT; struct *Next; };arrow_forwardPlease fill in the code gaps if possible. This problem has been giving me trouble. Any help is appreciated. public class Node { private String element; // we assume elements are character strings private Node next; /* Creates a node with the given element and next node. */ public Node(String s, Node n) { //fill in body } /* Returns the element of this node. */ public String getElement() { //fill in body } /* Returns the next node of this node. */ public Node getNext() { //fill in body } // Modifier methods: /* Sets the element of this node. */ public void setElement(String newElem) { //fill in body } /* Sets the next node of this node. */ public void setNext(Node newNext) { //fill in body } }arrow_forwardImplement LeafNode and InteriorNode classes for the expression tree as discussed on this page Use this template: Please don't change any function namesAdd any methods if necesssaryTODO: Remove the pass statements and implement the methods. '''class LeafNode:def __init__(self, data):self.data = datadef postfix(self):return str(self)def __str__(self):return str(self.data)def prefix(self):passdef infix(self):passdef value(self):return self.dataclass InteriorNode:def __init__(self, op, left_op, right_op):self.op = opself.left_op = left_opself.right_op = right_opdef postfix(self):return self.left_op.postfix() + " " + self.right_op.postfix() + " " + self.opdef prefix(self):passdef infix(self):passdef value(self):passif __name__ == "__main__":# TODO: (Optional) your test code here.a = LeafNode(4)b = InteriorNode('+', LeafNode(2), LeafNode(3))c = InteriorNode('*', a, b)c = InteriorNode('-', c, b)arrow_forward
- Tree.java: This is a simple binary tree class that should be used to represent the data in your Huffman tree. You only need to implement two of the methods (_printTree and compareTo). Huffman.java: This file contains all of the logic required to implement a Huffman tree. The code in this file relies on the Tree.java file. You must provide the implementation for all of the methods in this class. public class Main { /* * tree.txt should produce this tree: * 16 * / \ * 6 Z * / \ * A D * * A (1), D (5), Z (10) * * Codes: * A: 00 * D: 01 * Z: 1 * * Preorder Traversal: * 16, 6, 1 (A), 5 (D), 10 (Z) */ public static void main(String[] args) throws Exception { Huffman huff = new Huffman(); huff.buildTreeFromFile("tree.txt"); // Print the tree: System.out.println("printTree tests:"); huff.printTree(); // Expected output: [16: , 6: , 1:A, 5:D, 10:Z] // Get some codes:…arrow_forwardCreate a function that uses Node * pointing to root of AVL Tree as an input and returns the height of the AVL tree in O(log(n)).arrow_forward
arrow_back_ios
arrow_forward_ios
Recommended textbooks for you
- Computer Networking: A Top-Down Approach (7th Edi...Computer EngineeringISBN:9780133594140Author:James Kurose, Keith RossPublisher:PEARSONComputer Organization and Design MIPS Edition, Fi...Computer EngineeringISBN:9780124077263Author:David A. Patterson, John L. HennessyPublisher:Elsevier ScienceNetwork+ Guide to Networks (MindTap Course List)Computer EngineeringISBN:9781337569330Author:Jill West, Tamara Dean, Jean AndrewsPublisher:Cengage Learning
- Concepts of Database ManagementComputer EngineeringISBN:9781337093422Author:Joy L. Starks, Philip J. Pratt, Mary Z. LastPublisher:Cengage LearningPrelude to ProgrammingComputer EngineeringISBN:9780133750423Author:VENIT, StewartPublisher:Pearson EducationSc Business Data Communications and Networking, T...Computer EngineeringISBN:9781119368830Author:FITZGERALDPublisher:WILEY

Computer Networking: A Top-Down Approach (7th Edi...
Computer Engineering
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:PEARSON

Computer Organization and Design MIPS Edition, Fi...
Computer Engineering
ISBN:9780124077263
Author:David A. Patterson, John L. Hennessy
Publisher:Elsevier Science

Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:9781337569330
Author:Jill West, Tamara Dean, Jean Andrews
Publisher:Cengage Learning

Concepts of Database Management
Computer Engineering
ISBN:9781337093422
Author:Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:Cengage Learning

Prelude to Programming
Computer Engineering
ISBN:9780133750423
Author:VENIT, Stewart
Publisher:Pearson Education

Sc Business Data Communications and Networking, T...
Computer Engineering
ISBN:9781119368830
Author:FITZGERALD
Publisher:WILEY