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

国外 设计 网站网络销售挣钱吗

国外 设计 网站,网络销售挣钱吗,浙江省建设信息,广东手机网站制作电话目录😋 任务描述 相关知识 测试说明 我的通关代码: 测试结果: 任务描述 本关任务:实现二叉排序树的基本算法。 相关知识 为了完成本关任务,你需要掌握:二叉树的创建、查找和删除算法。具体如下: (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.hotlads.com/news/1215.html

相关文章:

  • 网站制作需要多少钱一年百度搜索的优势
  • 网站如何做秒杀活动如何做网页制作
  • 网站动态url和静态url的优劣势南宁市优化网站公司
  • 石家庄网站制作找谁什么是seo标题优化
  • 品牌平价网站建设友情链接的网站有哪些
  • o2o是指的是什么扬州seo
  • 知网被罚8760万seo快速排名外包
  • 网站建设罒金手指下拉壹陆排名查询
  • 最具口碑的企业网站建设抖音广告推广怎么收费
  • 优质的小企业网站建设最近新闻热点大事件
  • 怎样在谷歌做网站广州seo招聘
  • 做拼多多网站免费课程个人网页设计作品欣赏
  • 如何把自己做的网站分享给别人用广告招商
  • 网络服务合同纠纷司法解释保定百度推广优化排名
  • 企业年金在哪里查询seo工资
  • 济宁网上做科目一的网站怎么在百度上做网站
  • 南宁网站定制团队简述网络营销的特点及功能
  • 如何建设网站接收数据百度账号安全中心官网
  • 做番号类网站违法吗万能的搜索引擎
  • 网站网站环境搭建教程珠海seo快速排名
  • 校园网站建设考评办法关键词推广价格
  • 做全屏网站设计时容易犯的错给我免费的视频在线观看
  • 合肥手机网站制作吉林seo网络推广
  • 亲姐弟做愛电影在线网站最新的全国疫情数据
  • 收费电影网站怎么做百度移动端关键词优化
  • wordpress怎么建立网站吗今日最新国内新闻
  • 子域名网站二级有域名后如何建网站
  • 网站什么做才会更吸引客户seo外包多少钱
  • 如何去门户网站做推广呢购物网站制作
  • 比较好的响应式设计网站上海正规seo公司