Skip to content

TREES.h包含的内容

Sumizome Yoshino edited this page Feb 26, 2024 · 1 revision

基本功能

  • explicit TREE(const bool Huffman, const int type, const bool Tree, const bool help);//默认构造函数
  • ~TREE();//默认析构函数
  • TREE& operator=(const TREE& x);//重载赋值运算符
  • TREE(const TREE& x);//复制构造函数

第六章:树和二叉树

  • void Silence_T();//开启调试输出
  • void Silence_F();//关闭调试输出
  • void Preorder() const;//先序遍历二叉树
  • void Inorder() const;//中序遍历二叉树
  • void Inorder_nostack() const;//中序遍历二叉树,使用parent域,不使用栈
  • void Postorder_A() const;//更好的后序遍历算法,栈中所有结点都是当前结点的祖先
  • void Postorder_B() const;//后序遍历二叉树
  • void Level() const;//层序遍历二叉树
  • void Tree_thread(const int order);//二叉树线索化
  • void Tree_nonthread();//二叉树去线索化
  • int Tree_thread_type() const;//返回二叉树被线索化的类型
  • void Convert_tree();//将二叉树标记为使用二叉链表作为存储结构的树或者森林
  • void Convert_nontree();//将用二叉链表作为存储结构的树或者森林标记为普通的二叉树
  • long long Num_leaf() const;//叶子结点的数量(二叉树/树/森林)
  • long long Num_nonleaf() const;//非叶子结点的数量(二叉树/树/森林)
  • void Cleartree();//将二叉树清空
  • void Repairtree();//若树不存在(tree_m=nullptr),创建一棵空树。若树存在,不执行任何操作。该函数不可代替Cleartree函数
  • long long Depth() const;//二叉树的深度(二叉树/树/森林)
  • bool Complete() const;//二叉树是否为完全二叉树
  • void Info() const;//输出二叉树的全部信息
  • void ExchangeLR();//交换二叉树所有结点的左右子树
  • long long Max_level_node() const;//二叉树每层结点数的最大值
  • Type L_C_A(const long long a, const long long b) const;//二叉树两个结点的最小公共祖先,a/b是层序序列下两个结点的编号
  • void Longest_path() const;//输出二叉树中最长的路径(若有多条,输出叶子结点最靠左的那条)
  • void Print_Preorder(const bool guide) const;//以凹入表形式打印二叉树(可选是否打印辅助线)(二叉树/树/森林)
  • void Print_Inorder() const;//树状打印二叉树,不可以打印树/森林,不支持打印辅助线
  • void Print_arithmetic() const;//按照算术表达式形式打印二叉树
  • long long Degree() const;//返回树或二叉树的度(二叉树/树/森林)
  • void Huffman_create();//创建一个赫夫曼树
  • long double W_P_L() const;//计算赫夫曼树的带权路径长度
  • template friend bool Similar(const TREE& a, const TREE& b);//判断二叉树是否相似(结点结构相同但是值可以不同)
Clone this wiki locally