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

网站注册地址查询wordpress增加专题

网站注册地址查询,wordpress增加专题,做网站的有哪些公司,百度指数查询二叉树定义 以下为本文解题代码的二叉树定义。 struct TreeNode {int val;TreeNode* left, *right;TreeNode(int val 0, TreeNode* left nullptr, TreeNode* right nullptr): val(val), left(left), right(right) {} };递归二分查找 题目描述 写出二分查找的递归算法。初…二叉树定义 以下为本文解题代码的二叉树定义。 struct TreeNode {int val;TreeNode* left, *right;TreeNode(int val 0, TreeNode* left nullptr, TreeNode* right nullptr): val(val), left(left), right(right) {} };递归二分查找 题目描述 写出二分查找的递归算法。初始调用时left 为1right 为 n. 解题代码 bool recurBS(vectorint nums, int target, int left, int right) {if (left right) return false;int mid (left right) / 2;if (nums[mid] target) return true;else if (nums[mid] target) {return recurBS(nums, target, left, mid - 1);}else {return recurBS(nums, target, mid 1, right);} }优化顺序查找 题目描述 线性表中各结点的检索概率不等时可用如下策略提高顺序检索的效率若找到指定的结点则将该结点和其前驱节点若存在交换使得经常被检索的结点尽量位于表的前端。试设计在顺序结构和链式结构的线性表上实现上述策略的顺序检索算法。 解题代码 顺序表 bool optimisedSS(vectorint nums, int target) {for (int i 0; i nums.size(); i) {if (nums[i] target) {if (i 0) {swap(nums[i - 1], nums[i]);}return true;}}return false; }链表 bool optimisedSS(ListNode* head, int target) {if (head nullptr) return false;ListNode* dummy new ListNode(-1, head); // 哨兵结点if (dummy-next-val target) return true;while (dummy-next-next ! nullptr) {if (dummy-next-next-val target) {ListNode* pre dummy;ListNode* node1 dummy-next;ListNode* node2 dummy-next-next;pre-next node2;node1-next node2-next;node2-next node1;return true;}dummy dummy-next;}return false; }判定二叉搜索树 题目描述 试编写一个算法判断给定的二叉树是否是二叉搜索树。 解题代码 bool dfs(TreeNode* root, int preVal) {if (root nullptr) return true;if (!dfs(root-left, preVal) || root-val preVal) {return false;}preVal root-val;return dfs(root-right, preVal); }bool isBST(TreeNode* root) {int lastVal INT32_MIN;return dfs(root, lastVal); }计算某结点层次 题目描述 设计一个算法求出指定结点在给定二叉排序树中的层次。 解题代码 int dfs(TreeNode* root, TreeNode* node, int depth) {if (root nullptr) return 0;if (root-val node-val) {return depth;}else if (root-val node-val) {return dfs(root-right, node, depth 1);}else {return dfs(root-left, node, depth 1);} }int calNodeDepth(TreeNode* root, TreeNode* node) {return dfs(root, node, 1); }判定平衡二叉树 题目描述 利用二叉树遍历的遍历的思想编写一个判断二叉树是否是平衡二叉树的算法。 解题代码 O(n^2) int calDepth(TreeNode* root) {if (root nullptr) return 0;return 1 max(calDepth(root-left), calDepth(root-right)); }bool isBalanced(TreeNode* root) {if (root nullptr) return true;int lDepth calDepth(root-left);int rDepth calDepth(root-right);return abs(lDepth - rDepth) 1 isBalanced(root-left) isBalanced(root-right); }在每次递归判断左右子树是否平衡时需要重新计算其高度因此引入了大量不必要的计算。而如果某棵树的子树之一已经是非平衡树那么这棵树一定是非平衡树根据该性质可将对平衡的判断改为自底向上进行。以下为自底向上判断平衡的方式可将时间复杂度优化至 O(n). O(n) int calDepth(TreeNode* root) {if (root nullptr) return 0;int lDepth calDepth(root-left);int rDepth calDepth(root-right);if (lDepth -1 || rDepth -1 || abs(lDepth - rDepth) 2) {return -1;}return 1 max(lDepth, rDepth); }bool isBalanced(TreeNode* root) {return calDepth(root) 0; }二叉搜索树最大和最小结点 题目描述 设计一个算法求出给定二叉搜索树中最小和最大的关键字。 解题代码 int calMaxVal(TreeNode* root) {if (root-right nullptr) return root-val;return calMaxVal(root-right); }int calMinVal(TreeNode* root) {if (root-left nullptr) return root-val;return calMinVal(root-left); }pairint, int calMaxMin(TreeNode* root) {int minVal root-left nullptr ? root-val : calMinVal(root-left);int maxVal root-right nullptr ? root-val : calMaxVal(root-right);return make_pair(minVal, maxVal); }二叉搜索树值不小于 k 的元素 题目描述 设计一个算法从大到小输出二叉搜索树中所有值不小于 k 的元素。 解题代码 void printNotSmallerK(TreeNode* root, int k) {if (root nullptr) return;printNotSmallerK(root-right, k);if (root-val k) {cout root-val ;}else return;printNotSmallerK(root-left, k); }查找第k小的元素 题目描述 编写一个递归算法在一棵有 n 个结点的随机建立起来的二叉搜索树上查找第 k 1 k n小的元素并返回指向该结点的指针要求算法的平均时间复杂度为 O(logn)。二叉搜索树中的每个结点除 data, lchild, rchild 等数据成员外增加一个 count 成员保存以该结点为根的子树上的结点个数。 解题代码 TreeNode* findKthNode(TreeNode* root, int k) {if (root nullptr) return nullptr;TreeNode* left findKthNode(root-left, k);if (left ! nullptr) return left;if (--k 0) return root;return findKthNode(root-right, k); }
http://www.hkea.cn/news/14534698/

相关文章:

  • cms与php做网站的区别phpnow超详细WordPress
  • 局域网建设直播网站花关键词排名系统
  • 寿县城乡建设局网站wordpress收不到
  • 厦门建设局网站技227司学校建设银行住房租赁品牌
  • 沈阳高端网站开发建设wordpress 登陆失败
  • 网站权重为零怎么把自己做的网站让别人收到
  • ps兼职做网站国外做婚纱的网站
  • 不合理的网站手机网站设计
  • 重庆綦江网站制作公司电话wordpress查询页面id
  • 开封+网站建设+网络推广模板网络结构图怎么画
  • 重庆网站制作长沙app开发建设公司
  • 网站开发后期做什么wordpress所有分类目录的地址
  • 网站备案 代理wordpress如何换域名
  • 网站建设推广seo蜜雪冰城网络营销案例分析
  • 网站建设 呢咕云永久域名申请
  • wordpress创意博客主题seo一般包括哪些内容
  • 淄博网站制作定制优化百度应用商店app下载安装
  • 百度竞价做网站如何创建属于自己的网站
  • 网站建设最重要的环节网站数据库是谁提供
  • 工业设计案例网站品牌营销策划服务
  • 上海电子通科技网站建设怎么做网站流量
  • 公司的网站建设费用算什么费用设计公司网站源码下载
  • 查看网站的外链t字型布局的网站在dw怎么做
  • 怎么建设百度网站民宿平台搜索量上涨
  • 静态网站制作流程上海工商查询系统官网
  • 网站开发资源上线了做网站价格贵
  • 泰安招聘网站有哪些0505网页制作与网站建设
  • 建设一个网站的具体流程vs2010网站开发 调试 打不开页面 浏览器错误
  • 3d网站开发安卓手机编程软件
  • 如何辨别官方网站营销策略包括哪些方面