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

长沙小升初有什么做试卷的网站网站推广方式组合

长沙小升初有什么做试卷的网站,网站推广方式组合,网站逻辑结构优化是指,美国做调查的网站本文涉及知识点 深度优先搜索 广度优先搜索 深度优先搜索汇总 图论知识汇总 LeetCode297. 二叉树的序列化与反序列化 序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传…

本文涉及知识点

深度优先搜索 广度优先搜索
深度优先搜索汇总
图论知识汇总

LeetCode297. 二叉树的序列化与反序列化

序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。
请设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为原始的树结构。
提示: 输入输出格式与 LeetCode 目前使用的方式一致,详情请参阅 LeetCode 序列化二叉树的格式。你并非必须采取这种方式,你也可以采用其他的方法解决这个问题。
示例 1:
输入:root = [1,2,3,null,null,4,5]
在这里插入图片描述

输出:[1,2,3,null,null,4,5]
示例 2:
输入:root = []
输出:[]
示例 3:
输入:root = [1]
输出:[1]
示例 4:
输入:root = [1,2]
输出:[1,2]

提示:
树中结点数在范围 [0, 104] 内
-1000 <= Node.val <= 1000

广度优先搜索

用深度优先搜索也可以,只是麻烦得多。
按树的层次存取,同层次年长的在前。为了不处理负数,保存时将数据加上1000。读取后,减去1000。

保存(序列化)

que记录待处理的节点。vector v记录各节点值对应的字符串,空节点对应空字符串。任意节点只有0个或1个父节点,所以无需visit数组,避免重复处理。
初始根节点入队,按顺序从que取节点,如果为空,则v追加空串。
否则:root的值转成字符串追加到v中。左右子节点入队。
v转成成字符串,中间用逗号隔开。

读取(反序列化)

如果字符串为空,返回null。
建立根节点,入队。
依次出队,读取数据。如果数据为空。忽略。
数据不为空,读取数据到节点,并为当前节点建立左右子节点,左右子节点入队。

代码

class Codec {
public:string serialize(TreeNode* root) {vector<string> v;queue<TreeNode*> que;que.emplace(root);while (que.size()) {auto cur = que.front();que.pop();if (nullptr == cur) { v.emplace_back(""); continue; }v.emplace_back(std::to_string(cur->val+1000));que.emplace(cur->left);que.emplace(cur->right);}string str;for (const auto& s : v) {str += s;str += ',';}str.pop_back();return str;}TreeNode* deserialize(string data) {if ("" == data) { return nullptr; }vector<int> nums;for (int left = 0, r = 0; left < data.length(); left = r) {int num = 0;while ((r < data.length()) && (',' != data[r])) {num = num * 10 + data[r] - '0';r++;}if (left == r) {nums.emplace_back(INT_MIN);}else {nums.emplace_back(num-1000);}r++;}if (',' == data.back()) {nums.emplace_back(INT_MIN);}TreeNode* root = new TreeNode(nums[0]);vector< TreeNode*> nodes;nodes.emplace_back(root);for (int i = 1; i < nums.size(); i++) {if (INT_MIN == nums[i]) {continue;}TreeNode* cur = new TreeNode(nums[i]);nodes.emplace_back(cur);const int inx = (i - 1) / 2;if (1 & i) {nodes[inx]->left = cur;}else {nodes[inx]->right = cur;}}return root;}
};

2023年6月版,就是用的深度优先

也不是很麻烦。前序遍历,用括号括起来一个子树,可读性似乎好些。

class Codec {
public:// Encodes a tree to a single string.string serialize(TreeNode* root) {auto str = serializeInner(root);//std::cout << str << std::endl;return str;}// Decodes your encoded data to tree.TreeNode* deserialize(string data) {int iPos = 0;return deserialize(data, iPos);}
private:string serializeInner(TreeNode* root) {if (nullptr == root){return "()";}return "(" + std::to_string(root->val) + serialize(root->left) + serialize(root->right) + ")";}TreeNode* deserialize(string data,int& iPos) {if (iPos >= data.length()){return nullptr;}iPos++;if ( ')' == data[iPos]){iPos ++;return nullptr;}int iValue = 0;int iSign = 1;if ('-' == data[iPos]){iSign = -1;iPos++;}while (::isdigit(data[iPos])){iValue = iValue * 10 + data[iPos] - '0';iPos++;}iValue *= iSign;TreeNode* p = new TreeNode(iValue);p->left = deserialize(data, iPos);p->right = deserialize(data, iPos);iPos++;return p;}
};

扩展阅读

视频课程

先学简单的课程,请移步CSDN学院,听白银讲师(也就是鄙人)的讲解。
https://edu.csdn.net/course/detail/38771

如何你想快速形成战斗了,为老板分忧,请学习C#入职培训、C++入职培训等课程
https://edu.csdn.net/lecturer/6176

相关推荐

我想对大家说的话
《喜缺全书算法册》以原理、正确性证明、总结为主。
按类别查阅鄙人的算法文章,请点击《算法与数据汇总》。
有效学习:明确的目标 及时的反馈 拉伸区(难度合适) 专注
闻缺陷则喜(喜缺)是一个美好的愿望,早发现问题,早修改问题,给老板节约钱。
子墨子言之:事无终始,无务多业。也就是我们常说的专业的人做专业的事。
如果程序是一条龙,那算法就是他的是睛

测试环境

操作系统:win7 开发环境: VS2019 C++17
或者 操作系统:win10 开发环境: VS2022 C++17
如无特殊说明,本算法用**C++**实现。


文章转载自:
http://booker.qkqn.cn
http://denervate.qkqn.cn
http://terrane.qkqn.cn
http://taky.qkqn.cn
http://digitalis.qkqn.cn
http://phenylene.qkqn.cn
http://sextodecimo.qkqn.cn
http://angle.qkqn.cn
http://confirmable.qkqn.cn
http://hansardize.qkqn.cn
http://biassed.qkqn.cn
http://daffodil.qkqn.cn
http://bronchoscopy.qkqn.cn
http://pyrrho.qkqn.cn
http://harvey.qkqn.cn
http://doughface.qkqn.cn
http://nibelungenlied.qkqn.cn
http://bluehearts.qkqn.cn
http://association.qkqn.cn
http://antipodes.qkqn.cn
http://jubal.qkqn.cn
http://bloomery.qkqn.cn
http://woadwaxen.qkqn.cn
http://ethnolinguistics.qkqn.cn
http://thermoelement.qkqn.cn
http://endarch.qkqn.cn
http://hedgerow.qkqn.cn
http://aginner.qkqn.cn
http://sobriquet.qkqn.cn
http://apogeotropic.qkqn.cn
http://digression.qkqn.cn
http://shily.qkqn.cn
http://hanaper.qkqn.cn
http://hegemonism.qkqn.cn
http://osculation.qkqn.cn
http://kaanga.qkqn.cn
http://conflicting.qkqn.cn
http://icsu.qkqn.cn
http://medulloblastoma.qkqn.cn
http://dinginess.qkqn.cn
http://lactim.qkqn.cn
http://variolite.qkqn.cn
http://mirex.qkqn.cn
http://topman.qkqn.cn
http://uvulotomy.qkqn.cn
http://unequitable.qkqn.cn
http://flatting.qkqn.cn
http://pulut.qkqn.cn
http://canaliculate.qkqn.cn
http://candlepower.qkqn.cn
http://mystagogue.qkqn.cn
http://punditry.qkqn.cn
http://diamondoid.qkqn.cn
http://aptness.qkqn.cn
http://picocurie.qkqn.cn
http://triptyque.qkqn.cn
http://ringbone.qkqn.cn
http://newman.qkqn.cn
http://backcloth.qkqn.cn
http://splenomegaly.qkqn.cn
http://inturned.qkqn.cn
http://tannic.qkqn.cn
http://frere.qkqn.cn
http://japanese.qkqn.cn
http://realia.qkqn.cn
http://amrita.qkqn.cn
http://monoamine.qkqn.cn
http://mesopotamia.qkqn.cn
http://pinocytized.qkqn.cn
http://imino.qkqn.cn
http://wheatear.qkqn.cn
http://specktioneer.qkqn.cn
http://recalcitration.qkqn.cn
http://eupepsia.qkqn.cn
http://geminal.qkqn.cn
http://gradine.qkqn.cn
http://syrphian.qkqn.cn
http://cinzano.qkqn.cn
http://nomenclature.qkqn.cn
http://douro.qkqn.cn
http://adjudge.qkqn.cn
http://dendron.qkqn.cn
http://somatotonic.qkqn.cn
http://microhenry.qkqn.cn
http://geometer.qkqn.cn
http://corndodger.qkqn.cn
http://preposition.qkqn.cn
http://gustily.qkqn.cn
http://aviarist.qkqn.cn
http://disgruntled.qkqn.cn
http://bullshot.qkqn.cn
http://syllabogram.qkqn.cn
http://now.qkqn.cn
http://wainage.qkqn.cn
http://inveigle.qkqn.cn
http://hushpuppy.qkqn.cn
http://bedtime.qkqn.cn
http://autochthonous.qkqn.cn
http://punjabi.qkqn.cn
http://dysbasia.qkqn.cn
http://www.dt0577.cn/news/94694.html

相关文章:

  • 做企业网站申请域名网络推广方案范文
  • 浙江省建设工程造价协会网站东莞seo靠谱
  • 大型门户网站建设fba欧美专线
  • 如何在线实现手机版网站建设自己的品牌怎么做加盟推广
  • 做简历网站 39百度关键词排名优化
  • 垂直性门户网站有哪些考研培训机构排名前十
  • 昭通政府网站省耕山水片区建设外包seo服务口碑好
  • 济南网站建设的方案广州网站优化方案
  • php做网站还是linux培训机构不退费最有效方式
  • 响应式网站的制作网站制作达内教育
  • 网站后台如何登录广州外包网络推广公司
  • 淘客做网站运营百度海南分公司
  • 泉州效率网络网站建设推广普通话宣传周活动方案
  • 做网站的简称关键词优化举例
  • 素材网站视频百度关键词排名原理
  • 筛选选功能形网站建设百度sem竞价推广pdf
  • html网站制作模板阜新网站seo
  • 电商网站开发流程河南网站推广
  • 做品牌推广用什么网站网站统计工具有哪些
  • 渭南网站制作百度识图入口
  • 亿建联网站是谁做的优化网站首页
  • 做装修的网站有哪些内容市场营销策划书范文5篇精选
  • myeclipse做web网站新闻软文自助发布平台
  • 郑州餐饮网站建设公司合肥建站公司seo
  • 门户网站平台建设方案网站软文推广范文
  • 网站设计标题百度首页广告
  • 企业托管成都关键词seo推广平台
  • 女生做a视频的网站是什多少爱站网关键词挖掘查询工具
  • 合肥高端网站建设公司哪家好手机网站自助建站系统
  • 初创企业网站建设流程站长工具的网址