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

网站家建设培训学校最近文章 wordpress

网站家建设培训学校,最近文章 wordpress,wordpress菜单怎么设置,珠海企业网站建设价格思路#xff1a; 考察的点是建立AVL树以及如何判断是否为满二叉树。 建立AVL树需要搞清楚LL、LR、RR、RL四种情况如何左旋和右旋#xff0c;如下#xff1a; 类型BF条件操作LLBF(root)2,BF(root-lchild)1root右旋LRBF(root)2,BF(root-lchild)-1先root-lchild左… 思路 考察的点是建立AVL树以及如何判断是否为满二叉树。 建立AVL树需要搞清楚LL、LR、RR、RL四种情况如何左旋和右旋如下 类型BF条件操作LLBF(root)2,BF(root-lchild)1root右旋LRBF(root)2,BF(root-lchild)-1先root-lchild左旋再root右旋RRBF(root)-2,BF(root-rchild)-1root左旋RLBF(root)-2,BF(root-rchild)1先root-rchild右旋再root左旋 接着是用bfs遍历判断是否为满二叉树 按照层序遍历的方式但遇到空结点也需要放入队列将各个结点放入队列中直到从队列拿出来的结点是空的。按照完全二叉树的定义只有最后一层才能是有空结点并且结点朝左排列。如果我们此时依次将队列前部的空结点全部拿出队列应该最后是空的此时证明是完全二叉树的。 #includebits/stdc.h using namespace std; #define INF 0x3f3f3f3f typedef long long ll;struct node {int data;int height;node* lchild;node* rchild; };int getHeight(node* tnode) {if (tnode NULL) return 0;else return tnode-height; }void UpdateHeight(node* tnode) {tnode-height max(getHeight(tnode-lchild), getHeight(tnode-rchild)) 1; }int getBF(node* tnode) {return getHeight(tnode-lchild) - getHeight(tnode-rchild); }void L(node* tnode) {node* temp tnode-rchild;tnode-rchild temp-lchild;temp-lchild tnode;UpdateHeight(tnode);UpdateHeight(temp);tnode temp; }void R(node* tnode) {node* temp tnode-lchild;tnode-lchild temp-rchild;temp-rchild tnode;UpdateHeight(tnode);UpdateHeight(temp);tnode temp; }node* newnode(int v) {node* tnode new node;tnode-data v;tnode-height 1;tnode-lchild tnode-rchild NULL;return tnode; }void insert(node* root, int v) {if (root NULL){root newnode(v);return;}if (v root-data){insert(root-lchild, v);UpdateHeight(root);if (getBF(root) 2){if (getBF(root-lchild) 1){R(root);}else if (getBF(root-lchild) -1){L(root-lchild);R(root);}}}else{insert(root-rchild, v);UpdateHeight(root);if (getBF(root) -2){if (getBF(root-rchild) -1){L(root);}else if (getBF(root-rchild) 1){R(root-rchild);L(root);}}} }node* create() {int n;cin n;node* root NULL;for (int i 0; i n; i){int t;cin t;insert(root, t);}return root; }void bfs(node* root) {vectorint res;queuenode* q;node* t;q.push(root);while (!q.empty()){t q.front();q.pop();res.emplace_back(t-data);if (t-lchild) q.push(t-lchild);if (t-rchild) q.push(t-rchild);}for (int i 0; i res.size(); i)if (i 0) cout res[0];else cout res[i];cout endl; }void checkCompleteBinary(node* root) {queuenode* q;node* t;q.push(root);while (!q.empty()){t q.front();q.pop();if (t NULL) break;q.push(t-lchild);q.push(t-rchild);}while (!q.empty() q.front() NULL)q.pop();if (q.empty()) cout YES;else cout NO; }int main() {ios::sync_with_stdio(false);cin.tie(nullptr);node* root create();bfs(root);checkCompleteBinary(root);return 0; }
http://www.zqtcl.cn/news/566763/

相关文章:

  • 简述网站的建设流程图食品网站app建设方案
  • 西安建设厅网站首页听说上海又要封了
  • 兼职python做网站如何制作一个网站包含多个网页
  • 花园桥网站建设百度怎么创建网站
  • 做网站 客户一直要求改做网站学不需要做后台管理系统
  • 企业网站托管电话输入姓名查询个人征信
  • 域名注册了后怎么建设网站荆州市建设厅网站
  • 厦门网站建设合同wordpress的设置网址
  • 澎湃动力网站建设公司门户类网站建设需要多少钱
  • 祭祖网站怎么做咨询类网站开发的意义
  • 简书网站开发热门电影推荐
  • 中学教材数字化学习资源的建设——教材配套网站的设计及发展趋势建网站 发信息 做推广
  • 怎么写网站建设方案书制做网站的公司
  • 服务网站 建设原则游戏服务器租用多少钱一年
  • 软件网站下载现在出入深圳最新规定
  • 长宁专业网站制作公司陕西网站建设哪家专业
  • 重庆做的好的房产网站衡水的网站建设
  • 宜春网站开发网页编辑器安卓版
  • 网站建设外包兼职建设工程合同可以分为
  • 我国网络营销现状分析重庆网站seo营销模板
  • 深圳建站公司网站免费推广预期效果
  • html5 国外网站后台网站要做权限前端还是后台做
  • 免费建自己的网站网站标题 关键词 描述之间的关系
  • 提供响应式网站建设wordpress怎么做背景图片
  • 相亲网与做网站做网站的目的与意义
  • 做网站字体大小网站建设是属于虚拟产品吗
  • 网站的内链怎么做校园网建设网站特色
  • 优化网站标题企业的网站一般做哪些维护
  • 聊天网站备案南阳定制网站制作价格低
  • 广州镭拓科技网站建设公司长春招聘