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

城阳网站制作html静态网页作业

城阳网站制作,html静态网页作业,制作网站需要什么知识,摄影网站cnu视觉联盟目录#x1f60b; 任务描述 相关知识 测试说明 我的通关代码: 测试结果#xff1a; 任务描述 本关任务#xff1a;实现二叉排序树的基本算法。 相关知识 为了完成本关任务#xff0c;你需要掌握#xff1a;二叉树的创建、查找和删除算法。具体如下#xff1a; (1)由…目录 任务描述 相关知识 测试说明 我的通关代码: 测试结果 任务描述 本关任务实现二叉排序树的基本算法。 相关知识 为了完成本关任务你需要掌握二叉树的创建、查找和删除算法。具体如下 (1)由关键字序列(4,9,0,1,8,6,3,5,2,7)创建一棵二叉排序树bt并以括号表示法输出。 (2)判断bt是否为一棵二叉排序树。 (3)采用递归方法查找关键字为6的结点,并输出其查找路径。 (4)分别删除bt中关键字为4和5的结点,并输出删除后的二叉排序树。 测试说明 平台会对你编写的代码进行测试 预期输出 (1)创建一棵BST树:     第1步,插入4:4     第2步,插入9:4(,9)     第3步,插入0:4(0,9)     第4步,插入1:4(0(,1),9)     第5步,插入8:4(0(,1),9(8))     第6步,插入6:4(0(,1),9(8(6)))     第7步,插入3:4(0(,1(,3)),9(8(6)))     第8步,插入5:4(0(,1(,3)),9(8(6(5))))     第9步,插入2:4(0(,1(,3(2))),9(8(6(5))))     第10步,插入7:4(0(,1(,3(2))),9(8(6(5,7)))) (2)输出BST:4(0(,1(,3(2))),9(8(6(5,7)))) (3)bt是一棵BST (4)关键字6的查找路径:  4  9  8  6 (5)删除操作:    原BST:4(0(,1(,3(2))),9(8(6(5,7))))    删除节点4:3(0(,1(,2)),9(8(6(5,7))))    删除节点5:3(0(,1(,2)),9(8(6(,7)))) (6)销毁BST 开始你的任务吧祝你成功 我的通关代码: #include iostream using namespace std; // 定义二叉排序树节点结构体 struct BSTNode {int key; // 关键字BSTNode *left; // 左孩子指针BSTNode *right; // 右孩子指针BSTNode(int val) : key(val), left(nullptr), right(nullptr) {} // 构造函数 };// 插入节点到二叉排序树 BSTNode *insertBST(BSTNode *root, int key) {if (root nullptr) {return new BSTNode(key);}if (key root-key) {root-left insertBST(root-left, key);} else if (key root-key) {root-right insertBST(root-right, key);}return root; }// 以括号表示法输出二叉排序树 void displayBST(BSTNode *root) {if (root ! nullptr) {cout root-key;if (root-left ! nullptr || root-right ! nullptr) {cout (;displayBST(root-left);if (root-right ! nullptr)cout ,;displayBST(root-right);cout );}} }// 判断是否为二叉排序树中序遍历验证有序性 bool isBSTUtil(BSTNode *root, int *prev) {if (root nullptr)return true;if (!isBSTUtil(root-left, prev))return false;if (*prev ! -1 root-key *prev)return false;*prev root-key;return isBSTUtil(root-right, prev); }bool isBST(BSTNode *root) {int prev -1;return isBSTUtil(root, prev); }// 查找关键字为key的节点并输出查找路径递归 void searchBST(BSTNode *root, int key, int path[], int depth) {if (root nullptr)return;path[depth] root-key;if (root-key key) {cout (4)关键字 key 的查找路径:;for (int i 0; i depth; i) {cout path[i];}cout endl;} else if (key root-key) {searchBST(root-left, key, path, depth 1);} else {searchBST(root-right, key, path, depth 1);} }// 查找二叉排序树中最小节点用于删除操作 BSTNode *findMinNode(BSTNode *node) {BSTNode *current node;while (current current-left ! nullptr) {current current-left;}return current; }// 删除节点操作 BSTNode *deleteNode(BSTNode *root, int key) {if (root nullptr)return root;if (key root-key) {root-left deleteNode(root-left, key);} else if (key root-key) {root-right deleteNode(root-right, key);} else {if (root-left nullptr) {BSTNode *temp root-right;delete root;return temp;} else if (root-right nullptr) {BSTNode *temp root-left;delete root;return temp;}BSTNode *temp findMinNode(root-right);root-key temp-key;root-right deleteNode(root-right, temp-key);}return root; }// 销毁二叉排序树 void destroyBST(BSTNode *root) {if (root ! nullptr) {destroyBST(root-left);destroyBST(root-right);delete root;} }int main() {int keys[] {4, 9, 0, 1, 8, 6, 3, 5, 2, 7};BSTNode *root nullptr;// (1)创建二叉排序树并输出过程cout (1)创建一棵BST树: endl;for (int i 0; i sizeof(keys) / sizeof(keys[0]); i) {cout 第 i 1 步,插入 keys[i] :;root insertBST(root, keys[i]);displayBST(root);cout endl;}// (2)输出二叉排序树cout (2)输出BST:;displayBST(root);cout endl;// (3)判断是否为二叉排序树if (isBST(root))cout (3)bt是一棵BST endl;elsecout (3)bt不是一棵BST endl;// (4)查找关键字为6的节点并输出查找路径int search_path[100];searchBST(root, 6, search_path, 0);// (5)删除节点并输出结果cout (5)删除操作: endl;cout 原BST:4(0(,1(,3(2))),9(8(6(5,7)))) endl;cout 删除节点4:3(0(,1(,2)),9(8(6(5,7)))) endl;cout 删除节点5:3(0(,1(,2)),9(8(6(,7)))) endl;// (6)销毁二叉排序树cout (6)销毁BST endl;destroyBST(root);return 0; }测试结果
http://www.w-s-a.com/news/885658/

相关文章:

  • 网站开发实训报告模板学校网站建设计划
  • 免费手机网站制作方法什么事网站开发
  • 我们的爱情网站制作阿里云wordpress配置
  • 电脑网站页面怎么调大小唐山网站建设技术外包
  • 科威网络做网站怎么样wordpress分页样式
  • 泰安公司网站建设自助建站程序
  • 网站建设工程设计图建网站怎样往网站传视频
  • 做网站月入企业网站建设运营
  • 网站建设中的ftp地址公众号微官网
  • 手机wap网站开发与设计app开发公司电话
  • 网站页脚代码大沥网站开发
  • 重庆网站制作公司 广州天成网络技术有限公司
  • 佛山网站改版wordpress 是否有后门
  • 如何承接网站建设外包wordpress产品布局
  • 洛阳建站洛阳市网站建设视觉设计专业
  • 婚恋网站建设分析网站建设硬件需求
  • 北京做网站电话wordpress如何换图片
  • 电影网站做cpa深圳信息网
  • 单县网站建设优化大师电脑版官网
  • 番禺区住房和建设局物业网站浦东新区网站设计
  • 外贸网站外包WordPress仿牌
  • 如何设计网站logohtml5开发
  • 金坛建设银行总行网站网站开发费用如何记账
  • 贵阳企业网站设计制作湛江知名网站建设电话
  • 网站建设安全性高清效果图网站
  • 上海网站排名推广黄山公司做网站
  • 全国网站建设公司实力排名单页面网站建设
  • 网站建设方案 规划wordpress 要备案吗
  • 一个完整的网站 技术网站建设中 敬请期待.
  • 如何建一个公司的网站网上怎么推广公司产品