二叉搜索树
二叉搜索树,又名二叉排序树, 它或者是一棵空树,或者是具有下列性质的二叉树 : 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值。 结构体: struct tree { char key; tree *left; tree *right; }; 插入函数: void intree(tree *tr,tree *temp) { if(tr->key>temp->key) { if(tr->left==NULL) tr->left=temp; else intree(tr->left,temp); } else { if(tr->right==NULL) tr->right=temp; else intree(tr->right,temp); } } 例题:hdu 3791 连接:http://acm.hdu.edu.cn/showproblem.php?pid=3791 解析:建立二叉搜索树,然后利用中序遍历返回字符串,查看字符串是否相等。 代码: #include<iostream> #include<string> using namespace std; struct tree { char key; tree *left; tree *right; }; void intree(tree *tr