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

网站开发公司的义务网站制作收费明细表

网站开发公司的义务,网站制作收费明细表,玉田建设局网站,网站建设哪家好网站建设哪家好网站建设哪家理论基础、前中后序遍历的递归法和迭代法、层序遍历 1#xff0c;二叉树的种类满二叉树完全二叉树二叉搜索树平衡二叉搜索树 2#xff0c;存储方式链式存储线式存储 3#xff0c;二叉树的遍历深度优先搜索前序遍历#xff08;递归法、迭代法#xff09;中序遍历#xff0… 理论基础、前中后序遍历的递归法和迭代法、层序遍历 1二叉树的种类满二叉树完全二叉树二叉搜索树平衡二叉搜索树 2存储方式链式存储线式存储 3二叉树的遍历深度优先搜索前序遍历递归法、迭代法中序遍历递归法、迭代法后序遍历递归法、迭代法 广度优先搜索层次遍历迭代法、递归法 4二叉树的定义 1二叉树的种类 满二叉树 除最后一层无任何子节点外每一层上的所有结点都有两个子结点的二叉树。 完全二叉树 一个深度为k的有n个节点的二叉树对树中的节点按从上至下、从左到右的顺序进行编号如果编号为i1≤i≤n的结点与满二叉树中编号为i的结点在二叉树中的位置相同则这棵二叉树称为完全二叉树。 二叉搜索树 二叉搜索树(Binary Search Tree)又名二叉排序树(Binary Sort Tree)。 二叉搜索树是具有有以下性质的二叉树 若左子树不为空则左子树上所有节点的值均小于或等于它的根节点的值。 若右子树不为空则右子树上所有节点的值均大于或等于它的根节点的值。 左、右子树也分别为二叉搜索树。 平衡二叉搜索树 平衡二叉搜索树的任何结点的左子树和右子树高度最多相差1。并且左右两个子树都是一棵平衡二叉树。 容器map、set、multimap、multiset的底层原理都是平衡二叉搜索树 所以map中key和set中的元素都是有序的 unordered map和unordered set的底层原理为哈希表 2存储方式 分为链式存储和线式存储 链式存储 链式存储方式就用指针 线式存储 用的少了解即可 顺序存储的方式就是用数组。 线式存储时有一点i他的左孩子下标为2i1他的右孩子下标为2i2 3二叉树的遍历 分为深度优先搜索和广度优先搜索 深度优先搜索 分为前序遍历、中序遍历、后续遍历 写法可以分为递归法和迭代法 递归的底层原理是栈 确定递归函数的参数和返回值 确定终止条件 确定单层递归的逻辑 迭代法就是模拟递归的过程因为递归的底层原理为栈所以迭代法用栈展示 面试简单的可能需要写出简单的非递归代码 前序遍历递归法、迭代法 中左右 递归法 class Solution { public:void traversal(TreeNode* cur, vectorint vec) {if (cur NULL) return;vec.push_back(cur-val); // 中traversal(cur-left, vec); // 左traversal(cur-right, vec); // 右}vectorint preorderTraversal(TreeNode* root) {vectorint result;traversal(root, result);return result;} };迭代法 因为模拟栈的过程前序遍历是中左右但是栈是先进后出的所以入栈顺序为右左中 访问顺序和处理顺序相同后续遍历也是如此所以稍作改动就可以变为后续遍历 class Solution { public:vectorint preorderTraversal(TreeNode* root) {stackTreeNode* st;vectorint result;if (root NULL) return result;st.push(root);while (!st.empty()) {TreeNode* node st.top(); // 中st.pop();result.push_back(node-val);if (node-right) st.push(node-right); // 右空节点不入栈if (node-left) st.push(node-left); // 左空节点不入栈}return result;} };中序遍历递归法、迭代法 左中右 递归法 void traversal(TreeNode* cur, vectorint vec) {if (cur NULL) return;traversal(cur-left, vec); // 左vec.push_back(cur-val); // 中traversal(cur-right, vec); // 右 }迭代法 访问顺序和处理顺序不同所以代码和前后续遍历不同 class Solution { public:vectorint inorderTraversal(TreeNode* root) {vectorint result;stackTreeNode* st;TreeNode* cur root;while (cur ! NULL || !st.empty()) {if (cur ! NULL) { // 指针来访问节点访问到最底层st.push(cur); // 将访问的节点放进栈cur cur-left; // 左} else {cur st.top(); // 从栈里弹出的数据就是要处理的数据放进result数组里的数据st.pop();result.push_back(cur-val); // 中cur cur-right; // 右}}return result;} };后序遍历递归法、迭代法 左右中 递归法 void traversal(TreeNode* cur, vectorint vec) {if (cur NULL) return;traversal(cur-left, vec); // 左traversal(cur-right, vec); // 右vec.push_back(cur-val); // 中 }迭代法 访问顺序和处理顺序相同 class Solution { public:vectorint postorderTraversal(TreeNode* root) {stackTreeNode* st;vectorint result;if (root NULL) return result;st.push(root);while (!st.empty()) {TreeNode* node st.top();st.pop();result.push_back(node-val);if (node-left) st.push(node-left); // 相对于前序遍历这更改一下入栈顺序 空节点不入栈if (node-right) st.push(node-right); // 空节点不入栈}reverse(result.begin(), result.end()); // 将结果反转之后就是左右中的顺序了return result;} };广度优先搜索 层次遍历迭代法、递归法 借助一个队列保存每一层的节点 队列记录当前层的元素个数弹出时按队列里储存的个数弹出 迭代法 class Solution { public:vectorvectorint levelOrder(TreeNode* root) {queueTreeNode* que;if (root ! NULL) que.push(root);vectorvectorint result;while (!que.empty()) {int size que.size();vectorint vec;// 这里一定要使用固定大小size不要使用que.size()因为que.size是不断变化的for (int i 0; i size; i) {TreeNode* node que.front();que.pop();vec.push_back(node-val);if (node-left) que.push(node-left);if (node-right) que.push(node-right);}result.push_back(vec);}return result;} };递归法 class Solution { public:void order(TreeNode* cur, vectorvectorint result, int depth){if (cur nullptr) return;if (result.size() depth) result.push_back(vectorint());result[depth].push_back(cur-val);order(cur-left, result, depth 1);order(cur-right, result, depth 1);}vectorvectorint levelOrder(TreeNode* root) {vectorvectorint result;int depth 0;order(root, result, depth);return result;} };4二叉树的定义 struct TreeNode {int val;TreeNode *left;TreeNode *right;TreeNode(int x) : val(x), left(NULL), right(NULL) {} };
http://www.hkea.cn/news/14562669/

相关文章:

  • 网站建设 提成wordpress生成的网页
  • 电商网站大全大型电商网站开发成本
  • 自己做网站还是开淘宝网站首页不被收录
  • 昆山网站优化建设美食网页设计模板中文
  • 旅游网站开发系统的er图惠城中山网站建设
  • 松岗做网站哪家便宜广东 网站建设
  • 莱芜正规的企业建站公司新浪体育世界杯
  • o2o平台模式wordpress 百度seo插件
  • 建设一个网站需要那些技术北京seo百度推广
  • 制作微网站公司做房产网站哪个好
  • 上海网站建设开网站开发的任务要求
  • wordpress中文建站公司网站建设案例教程
  • 手机版微网站网站原型设计和版式设计
  • 搭建自己的博客网站深圳 建网站
  • 网站回答问题app怎么做php 如何在网站根目录创建文件夹
  • 购物网站后台管理系统如何查企业的工商信息
  • 怎么建设国字形网站做教学的视频网站
  • wordpress 增加直达连接嘉兴seo优化
  • 合肥网站制作公司电话做微信的微网站费用多少
  • 网站建设报价清单网站建设栏目层级
  • 谁做广东11彩票网站上海松江区网站建设
  • 新手建设网站步骤wordpress 不同侧边栏
  • 电子商务网站建设与管理总结网站建设预算方案
  • 一般找人做网站多少钱雄安网站建设单位
  • 网站首页设计报价湘潭网站设计外包公司
  • 伊利网站建设评价现货市场交易平台
  • 怎样创建网站流程工厂视频网站建设
  • 石家庄网站建设 河北供求网合肥app外包公司
  • 可信赖的武进网站建设定制一个软件要多少钱
  • 网站建设开发技术类型忻州网站建设求职简历