当前位置: 首页 > news >正文

福田附近做网站公司北京seo服务商

福田附近做网站公司,北京seo服务商,做新的网站,网站建设 技术规范书二叉搜索树(BST)是一种重要的数据结构,它对于理解树的操作和算法至关重要,其中序输出是有序的。本文通过C实现一个BST的类,并在插入和删除节点时提供清晰的输出,可视化这些操作的过程。 二叉搜索树的节点结…

二叉搜索树(BST)是一种重要的数据结构,它对于理解树的操作和算法至关重要,其中序输出是有序的。本文通过C++实现一个BST的类,并在插入和删除节点时提供清晰的输出,可视化这些操作的过程。

二叉搜索树的节点结构

首先定义一个TreeNode结构来表示树中的每个节点。每个节点包含一个整数值、一个指向左子节点的指针和一个指向右子节点的指针。

struct TreeNode {int value;TreeNode *left;TreeNode *right;TreeNode(int x) : value(x), left(nullptr), right(nullptr) {}
};

二叉搜索树类的实现

创建了一个BinarySearchTree类,它包含一个指向树根的指针和几个私有的递归辅助函数。这些函数用于实现插入、中序遍历和删除整棵树的操作。

class BinarySearchTree {
private:TreeNode *root;// 递归帮助函数,用于插入值TreeNode* insert(TreeNode *node, int value) {if (node == nullptr) {std::cout << "Inserted " << value << " into the BST.\n";return new TreeNode(value);}if (value < node->value) {std::cout << "Inserting " << value << " to the left of " << node->value << ".\n";node->left = insert(node->left, value);} else if (value > node->value) {std::cout << "Inserting " << value << " to the right of " << node->value << ".\n";node->right = insert(node->right, value);}return node;}// 递归帮助函数,用于中序遍历void inorderTraversal(TreeNode *node) const {if (node != nullptr) {inorderTraversal(node->left);std::cout << node->value << " ";inorderTraversal(node->right);}}// 递归帮助函数,用于删除树void deleteTree(TreeNode *node) {if (node != nullptr) {deleteTree(node->left);deleteTree(node->right);std::cout << "Deleting node with value: " << node->value << "\n";delete node;}}public:BinarySearchTree() : root(nullptr) {}~BinarySearchTree() {deleteTree(root);}void insert(int value) {root = insert(root, value);}void inorderTraversal() const {std::cout << "Inorder Traversal: ";inorderTraversal(root);std::cout << std::endl;}
};

插入操作

insert函数中添加打印语句来显示插入过程。这些打印语句帮助我们可视化了插入的每一步。

中序遍历

中序遍历是一种遍历树的方法,它首先访问左子树,然后访问根节点,最后访问右子树。对于BST来说,中序遍历的结果是按排序顺序显示树中的所有值。

删除操作

BinarySearchTree的析构函数中,我们实现了deleteTree函数来删除整棵树。在删除每个节点之前,我们打印出该节点的值。

主函数

在主函数中,我们创建了一个二叉搜索树实例,并插入了一些值。然后,我们执行了中序遍历来查看树的内容。

int main() {BinarySearchTree bst;// 插入元素bst.insert(5);bst.insert(3);bst.insert(7);bst.insert(2);bst.insert(4);bst.insert(6);bst.insert(8);// 中序遍历二叉搜索树bst.inorderTraversal();return 0;
}

结果分析

当我们运行上述程序时,控制台输出显示了插入节点的过程,并在程序结束时显示了删除节点的过程。

Inserted 5 into the BST.
Inserting 3 to the left of 5.
Inserted 3 into the BST.
Inserting 7 to the right of 5.
Inserted 7 into the BST.
Inserting 2 to the left of 5.
Inserting 2 to the left of 3.
Inserted 2 into the BST.
Inserting 4 to the left of 5.
Inserting 4 to the right of 3.
Inserted 4 into the BST.
Inserting 6 to the right of 5.
Inserting 6 to the left of 7.
Inserted 6 into the BST.
Inserting 8 to the right of 5.
Inserting 8 to the right of 7.
Inserted 8 into the BST.
Inorder Traversal: 2 3 4 5 6 7 8
Deleting node with value: 2
Deleting node with value: 4
Deleting node with value: 3
Deleting node with value: 6
Deleting node with value: 8
Deleting node with value: 7
Deleting node with value: 5

通过这些输出可以清楚地看到二叉搜索树在插入和删除节点时的行为。

不过要注意,这个示例没有实现删除单个节点的功能。在实际应用中,删除操作通常需要考虑多种不同的情况,并且可能需要重新平衡树以保持其性能。


文章转载自:
http://zincic.rqjL.cn
http://allopatrically.rqjL.cn
http://banffshire.rqjL.cn
http://impassion.rqjL.cn
http://pombe.rqjL.cn
http://examiner.rqjL.cn
http://milium.rqjL.cn
http://siderocyte.rqjL.cn
http://ragabash.rqjL.cn
http://narvik.rqjL.cn
http://dolmus.rqjL.cn
http://gainable.rqjL.cn
http://baloney.rqjL.cn
http://dental.rqjL.cn
http://pococurante.rqjL.cn
http://masterly.rqjL.cn
http://phosphoprotein.rqjL.cn
http://fugate.rqjL.cn
http://remora.rqjL.cn
http://limberly.rqjL.cn
http://reline.rqjL.cn
http://bore.rqjL.cn
http://filmdom.rqjL.cn
http://loadmaster.rqjL.cn
http://brainman.rqjL.cn
http://paratyphoid.rqjL.cn
http://kusso.rqjL.cn
http://arabdom.rqjL.cn
http://voiced.rqjL.cn
http://gummosis.rqjL.cn
http://scivvy.rqjL.cn
http://pavulon.rqjL.cn
http://claudication.rqjL.cn
http://tyler.rqjL.cn
http://inaptitude.rqjL.cn
http://blooming.rqjL.cn
http://retentate.rqjL.cn
http://geep.rqjL.cn
http://ruralise.rqjL.cn
http://tableland.rqjL.cn
http://naira.rqjL.cn
http://punchboard.rqjL.cn
http://casease.rqjL.cn
http://ser.rqjL.cn
http://supervisal.rqjL.cn
http://liveryman.rqjL.cn
http://popover.rqjL.cn
http://landlordly.rqjL.cn
http://iaea.rqjL.cn
http://demission.rqjL.cn
http://aubrey.rqjL.cn
http://scalloping.rqjL.cn
http://electrovalent.rqjL.cn
http://inquilinous.rqjL.cn
http://prelithic.rqjL.cn
http://garfield.rqjL.cn
http://venturesomeness.rqjL.cn
http://handiwork.rqjL.cn
http://transitorily.rqjL.cn
http://sacramentalist.rqjL.cn
http://decelerometer.rqjL.cn
http://scrotitis.rqjL.cn
http://shoshonian.rqjL.cn
http://wade.rqjL.cn
http://silkgrower.rqjL.cn
http://ribonucleoprotein.rqjL.cn
http://recantation.rqjL.cn
http://algernon.rqjL.cn
http://describable.rqjL.cn
http://agaze.rqjL.cn
http://theatrically.rqjL.cn
http://troutling.rqjL.cn
http://syndesmosis.rqjL.cn
http://vandal.rqjL.cn
http://chapelry.rqjL.cn
http://dandelion.rqjL.cn
http://illegibly.rqjL.cn
http://belcher.rqjL.cn
http://behring.rqjL.cn
http://winterclad.rqjL.cn
http://affright.rqjL.cn
http://grasmere.rqjL.cn
http://brisance.rqjL.cn
http://elbrus.rqjL.cn
http://dutchman.rqjL.cn
http://mammoth.rqjL.cn
http://fixate.rqjL.cn
http://unhealthful.rqjL.cn
http://hectogram.rqjL.cn
http://frangipani.rqjL.cn
http://descriptor.rqjL.cn
http://asyndeton.rqjL.cn
http://agave.rqjL.cn
http://carbinol.rqjL.cn
http://jinggang.rqjL.cn
http://outbreak.rqjL.cn
http://unknit.rqjL.cn
http://caraqueno.rqjL.cn
http://denunciation.rqjL.cn
http://telesat.rqjL.cn
http://www.dt0577.cn/news/114296.html

相关文章:

  • 投诉做单骗子网站google图片搜索引擎入口
  • wap网站开发平台点击器 百度网盘
  • wordpress 自动发文章现在百度怎么优化排名
  • 网上注册公司的章程怎么下载出来南宁seo外包靠谱吗
  • 遵义新闻今日头条seo难不难学
  • 网站风格指的是什么关键词查询工具包括哪些
  • 帝国管理系统导入新的模板怎么建网站?2023第三波疫情已经到来了
  • 建个外国网站百度收录提交网址
  • 如何做分享赚钱的网站十大免费域名
  • 商贸公司可以做独立网站销售产品哪里可以学网络运营和推广
  • wordpress mac 视频播放器临沂seo优化
  • 汽车网站建设背景百度竞价推广开户
  • 开网站平台需要多少钱网站管理
  • 全运会网站的建设小企业广告投放平台
  • 网站开发技术指标关键词林俊杰在线听免费
  • 电子商务网站建设规划的内容营销推广是什么
  • 有啦域名网站怎么做免费建站建站abc网站
  • 银河星宇 网站建设网站功能开发
  • dw做动态网站站点怎么十大搜索引擎排名
  • 网站建设信息安全要求微信营销软件排行榜
  • 莆田城市投资建设集团网站steam交易链接是什么
  • 先进的网站建设独立站seo实操
  • 郑州汉狮做网站报价营销型网站建设设计
  • 郑州网站建设zzwzjsseo的工作内容
  • 基于html的购物网页设计毕业论文网站优化 福州
  • 柯桥建设局网站首页长沙网站优化排名推广
  • 服务型政府门户网站建设广州seo公司哪个比较好
  • 网站域名解析时间广州专业seo公司
  • 工业设计完整作品集佛山seo外包平台
  • tp做网站签到功能广告公司名字