社区
语言基础/算法/系统设计
帖子详情
关于先序树字符串如何转换为树
homerocker
2009-03-11 06:25:30
有一棵先序树是以字符串的方式存储的,每四个字节为一组,前三位是数据,后一位是类型
最后一位类型如下:
0 有儿子无兄弟
4 无右兄弟无儿子
8 有右兄弟有儿子
c 有右兄弟无儿子
我定义一个数据类型
type
myNode = ^node
node=RECORD
data:string;
Son:myNode;
Brother:myNode;
end;
我依次读入四个字节,请问,我该如何装配这棵树.
...全文
142
4
打赏
收藏
关于先序树字符串如何转换为树
有一棵先序树是以字符串的方式存储的,每四个字节为一组,前三位是数据,后一位是类型 最后一位类型如下: 0 有儿子无兄弟 4 无右兄弟无儿子 8 有右兄弟有儿子 c 有右兄弟无儿子 我定义一个数据类型 type myNode = ^node node=RECORD data:string; Son:myNode; Brother:myNode; end; 我依次读入四个字节,请问,我该如何装配这棵树.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
GHOSTSEA
2009-03-19
打赏
举报
回复
新手,一起学习~~~~
lovelymelon
2009-03-12
打赏
举报
回复
第一个问题,你前三位数据是代表一个父节点和两个子节点,还是就是一个节点的值
第二个问题,如果节点有右兄弟,请问其右兄弟数据是哪个?
第三个问题,是不是很多组组成一棵树
第三个问题,装配这棵树树?是最终需要一个什么形式的输出啊
homerocker
2009-03-11
打赏
举报
回复
补充一下,如果该节点有儿子,则该节点后面的一个数据就是该节点的儿子节点.
C++数据结构实验三:
树
的应用
一.实验项目要求 1.熟练掌握二叉
树
的二叉链表存储方式、结点结构和类型定义。 2.熟练掌握二叉
树
的三种遍历方法,并能写出该三种遍历的算法。 3.了解
树
在计算机科学及其他工程技术中的应用。 4. 掌握
树
和二叉
树
的逻辑结构特点、二叉
树
的顺序存储结构、二叉
树
的链式存储结构——二叉链表、二叉链表的结构体类型定义、在二叉链表存储结构上
先序
遍历、中序遍历、后序遍历的实现算法。 实验内容 1、以
字符串
输入形式创建一棵二叉
树
(提示:可以是简单的一个字符作为二叉
树
中一个结点;也可以是以学校管理层次体系或者族谱为蓝本,将表示该实际问题的
树
结构
转换
为对应的二叉
树
后,再以二叉
树
的创建方法来创建这棵具有实际意义的
树
结构。) 2、对构建的二叉
树
分别采用
先序
、中序、后序遍历算法输出每个结点数据。 3、选作题:统计叶结点的个数;计算二叉
树
的高度。
利用Vue2.x开发实现JSON
树
的方法
前言 最近工作中遇到一个需求,由于项目需要一个解析 JSON
字符串
并生成 JSON
树
的功能,在 GitHub 上也没有找到合适的组件,因此基于 Vue2.X 自己写了一个 JSON
树
组件,主要原理是利用 Vue 的递归组件,进行深度优先的
先序
遍历。该组件不仅可以将一段不可读的 JSON
字符串
转化为可读的
树
形结构,同时可用于抓取某一子
树
的数据。 Github源码 Github-Page 组件在它的模板内可以递归地调用自己。不过,只有当它有 name 选项时才可以这么做
字符串
数据美化功能: 特定层级数据抓取功能: <tree :parent-data=data :
Python 47个
字符串
方法
# Python 47个
字符串
方法## 课程介绍同学们是否总是要搜资料、查官网后,才知道怎么操作
字符串
?如果是,来学学本课程吧,本课程以讲解官网文档的方式,讲解 Python 47个
字符串
方法,涉及替换、删除、连接、查找、分割、格式化、编码、
转换
等
字符串
操作,带同学们系统学习 Python
字符串
方法。
突破程序员基本功的16课.part2
第1课 数组与内存控制 1.1 数组初始化 1.1.1 Java数组是静态的 1.1.2 数组一定要初始化吗 1.1.3 基本类型数组的初始化 1.1.4 引用类型数组的初始化 1.2 使用数组 1.2.1 数组元素就是变量 1.2.2 没有多维数组 1.3 小结 第2课 对象与内存控制 2.1 实例变量和类变量 2.1.1 实例变量和类变量的属性 2.1.2 实例变量的初始化时机 2.1.3 类变量的初始化时机 2.2 父类构造器 2.2.1 隐式调用和显式调用 2.2.2 访问子类对象的实例变量 2.2.3 调用被子类重写的方法 2.3 父子实例的内存控制 2.3.1 继承成员变量和继承方法的区别 2.3.2 内存中子类实例 2.3.3 父、子类的类变量 2.4 final修饰符 2.4.1 final修饰的变量 2.4.2 执行"宏替换"的变量 2.4.3 final方法不能被重写 2.4.4 内部类中的局部变量 2.5 小结 第3课 常见Java集合的实现细节 3.1 Set和Map 3.1.1 Set和Map的关系 3.1.2 HashMap和HashSet 3.1.3 TreeMap和TreeSet 3.2 Map和List 3.2.1 Map的values()方法 3.2.2 Map和List的关系 3.3 ArrayList和LinkedList 3.3.1 Vector和ArrayList的区别 3.3.2 ArrayList和LinkedList的实现差异 3.3.3 ArrayList和LinkedList的性能分析和适用场景 3.4 Iterator迭代器 迭代时删除指定元素 3.5 小结 第4课 Java的内存回收 4.1 Java引用的种类 4.1.1 对象在内存中状态 4.1.2 强引用 4.1.3 软引用 4.1.4 弱引用 4.1.5 虚引用 4.2 Java的内存泄漏 4.3 垃圾回收机制 4.3.1 垃圾回收的基本算法 4.3.2 堆内存的分代回收 4.3.3 与垃圾回收的附加选项 4.3.4 常见垃圾回收器 4.4 内存管理的小技巧 4.4.1 尽量使用直接量 4.4.2 使用StringBuilder和StringBuffer进行
字符串
连接 4.4.3 尽早释放无用对象的引用 4.4.4 尽量少用静态变量 4.4.5 避免在经常调用的方法、循环中创建Java对象 4.4.6 缓存经常使用的对象 4.4.7 尽量不要使用finalize方法 4.4.8 考虑使用SoftReference 4.5 小结 第5课 表达式中的陷阱 5.1 关于
字符串
的陷阱 5.1.1 JVM对
字符串
的处理 5.1.2 不可变的
字符串
5.1.3
字符串
比较 5.2 表达式类型的陷阱 5.2.1 表达式类型的自动提升 5.2.2 复合赋值运算符的陷阱 5.3 输入法导致的陷阱 5.4 注释的字符必须合法 5.5 转义字符的陷阱 5.5.1 慎用字符的Unicode转义形式 5.5.2 中止行注释的转义字符 5.6 泛型可能引起的错误 5.6.1 原始类型变量的赋值 5.6.2 原始类型带来的擦除 5.6.3 创建泛型数组的陷阱 5.7 正则表达式的陷阱 5.8 多线程的陷阱 5.8.1 不要调用run方法 5.8.2 静态的同步方法 5.8.3 静态初始化块启动新线程执行初始化 5.8.4 注意多线程执行环境 5.9 小结 第6课 流程控制的陷阱 6.1 switch语句陷阱 6.1.1 default分支永远会执行吗 6.1.2 break的重要性 6.1.3 switch表达式的类型 6.2 标签引起的陷阱 6.3 if语句的陷阱 6.3.1 else隐含的条件 6.3.2 小心空语句 6.4 循环体的花括号 6.4.1 什么时候可以省略花括号 6.4.2 省略花括号的危险 6.5 for循环的陷阱 6.5.1 分号惹的祸 6.5.2 小心循环计数器的值 6.5.3 浮点数作循环计数器 6.6 foreach循环的循环计数器 6.7 小结 第7课 面向对象的陷阱 7.1 instanceof运算符的陷阱 7.2 构造器的陷阱 7.2.1 构造器之前的void 7.2.2 构造器创建对象吗 7.2.3 无限递归的构造器 7.3 持有当前类的实例 7.4 到底调用哪个重载的方法 7.5 方法重写的陷阱 7.5.1 重写private方法 7.5.2 重写其他访问权限的方法 7.6 非静态内部类的陷阱 7.6.1 非静态内部类的构造器 7.6.2 非静态内部类不能拥有静态成员 7.6.3 非静态内部类的子类 7.7 static关键字 7.7.1 静态方法属于类 7.7.2 静态内部类的限制 7.8 native方法的陷阱 7.9 小结 第8课 异常捕捉的陷阱 8.1 正确关闭资源的方式 8.2 finally块的陷阱 8.2.1 finally的执行规则 8.2.2 finally块和方法返回值 8.3 catch块的用法 8.3.1 catch块的顺序 8.3.2 不要用catch代替流程控制 8.3.3 只能catch可能抛出的异常 8.3.4 做点实际的修复 8.4 继承得到的异常 8.5 小结 第9课 线性表 9.1 线性表概述 9.1.1 线性表的定义及逻辑结构 9.1.2 线性表的基本操作 9.2 顺序存储结构 9.3 链式存储结构 9.3.1 单链表上的基本运算 9.3.2 循环链表 9.3.3 双向链表 9.4 线性表的分析 9.4.1 线性表的实现分析 9.4.2 线性表的功能 9.5 小结 第10课 栈和队列 10.1 栈 10.1.1 栈的基本定义 10.1.2 栈的常用操作 10.1.3 栈的顺序存储结构及实现 10.1.4 栈的链式存储结构及实现 10.1.5 Java集合中的栈 10.2 队列 10.2.1 队列的基本定义 10.2.2 队列的常用操作 10.2.3 队列的顺序存储结构及实现 10.2.4 循环队列 10.2.5 队列的链式存储结构及实现 10.2.6 Java集合中的队列 10.3 双向队列 10.4 小结 第11课
树
和二叉
树
11.1
树
的概述 11.1.1
树
的定义和基本术语 11.1.2
树
的基本操作 11.1.3 父节点表示法 11.1.4 子节点链表示法 11.2 二叉
树
11.2.1 二叉
树
的定义和基本概念 11.2.2 二叉
树
的基本操作 11.2.3 二叉
树
的顺序存储 11.2.4 二叉
树
的二叉链表存储 11.2.5 二叉
树
的三叉链表存储 11.3 遍历二叉
树
11.3.1
先序
遍历 11.3.2 中序遍历 11.3.3 后序遍历 11.3.4 广度优先(按层)遍历 11.4 森林、
树
和二叉
树
的
转换
11.4.1 森林、
树
和二叉
树
的
转换
11.4.2
树
的链表存储 11.5 哈夫曼
树
11.5.1 哈夫曼
树
的定义和基本概念 11.5.2 创建哈夫曼
树
11.5.3 哈夫曼编码 11.6 排序二叉
树
11.7 红黑
树
11.7.1 插入操作 11.7.2 删除操作 11.8 小结 第12课 常用的内部排序 12.1 排序的基本概念 12.1.1 排序概述 12.1.2 内部排序的分类 12.2 选择排序法 12.2.1 直接选择排序 12.2.2 堆排序 12.3 交换排序 12.3.1 冒泡排序 12.3.2 快速排序 12.4 插入排序 12.4.1 直接插入排序 12.4.2 折半插入排序 12.4.3 Shell排序 12.5 归并排序 12.6 桶式排序 12.7 基数排序 12.8 小结 第13课 程序开发 13.1 扎实的基本功 13.1.1 快速的输入能力 13.1.2 编程实现能力 13.1.3 快速排错 13.2 程序开发之前 13.2.1 分析软件的组件模型 13.2.2 建立软件的数据模型 13.3 弄清程序的具体实现 13.3.1 各组件如何通信 13.3.2 人机交互的实现 13.3.3 复杂算法的分析 13.4 编写开发文档 13.4.1 绘制建模图、流程图 13.4.2 提供简要说明 13.4.3 编写伪码实现 13.5 编码实现和开发心态 13.5.1 开发是复杂的 13.5.2 开发过程是漫长的 13.6 小结 第14课 程序调试 14.1 程序的可调试性 14.1.1 增加注释 14.1.2 使用log 14.2 程序调试的基本方法 14.2.1 借助编译器的代码审查 14.2.2 跟踪程序执行流程 14.2.3 断点调试 14.2.4 隔离调试 14.2.5 错误重现 14.3 记录常见错误 14.3.1 常见异常可能的错误原因 14.3.2 常见运行时异常可能的错误原因 14.4 程序调试的整体思路 14.4.1 分段调试 14.4.2 分模块调试 14.5 调试心态 14.5.1 谁都会出错 14.5.2 调试比写程序更费时 14.6 小结 第15课 使用IDE工具 15.1 何时开始利用IDE工具 15.2 IDE工具概述 15.2.1 IDE工具的基本功能 15.2.2 常见的Java IDE工具 15.3 项目管理 15.3.1 建立项目 15.3.2 自动编译 15.3.3 自动部署、运行 15.4 代码管理 15.4.1 向导式的代码生成 15.4.2 代码生成器 15.4.3 代码提示 15.4.4 自动代码补齐 15.4.5 实时错误提示 15.5 项目调试 15.5.1 设置断点 15.5.2 单步调试 15.5.3 步入、步出 15.6 团队协作功能 作为版本控制工具的客户端 15.7 小结 第16课 软件测试 16.1 软件测试概述 16.1.1 软件测试的概念和目的 16.1.2 软件测试的分类 16.1.3 开发活动和测试活动 16.1.4 常见的Bug管理工具 16.2 单元测试 16.2.1 单元测试概述 16.2.2 单元测试的逻辑覆盖 16.2.3 JUnit介绍 16.2.4 JUnit的用法 16.3 系统测试和自动化测试 16.3.1 系统测试概述 16.3.2 自动化测试 16.3.3 常见自动化测试工具 16.4 性能测试 16.4.1 性能测试概述 16.4.2 性能测试的相关概念 16.4.3 常见性能测试工具 16.5 小结
lrucacheleetcode-LeetCode:力扣算法解决方案
lru缓存leetcode 力码 力扣算法解决方案 二和 两个数字相加 无重复字符的最长子串 最长回文子串 之字形
转换
3总和 从列表末尾删除第 N 个节点 合并两个排序列表 合并 k 个排序列表 有效数独 排列 组字谜 螺旋矩阵 合并间隔 独特的路径 独特的路径 II 最小路径和 解码方式 二叉
树
中序遍历 验证二叉搜索
树
对称
树
二叉
树
级别顺序遍历 二叉
树
之字形水平顺序遍历 二叉
树
的最大深度 从前序和中序遍历构造二叉
树
从中序和后序遍历构造二叉
树
路径和 在每个节点中填充下一个右指针 在每个节点中填充下一个右指针 II 帕斯卡三角形 II 单号二 二叉
树
先序
遍历 二叉
树
后序遍历 LRU缓存 计算具有唯一数字的数字 等分子集总和 斐波那契数 从二叉
树
构造
字符串
二叉
树
的最大宽度 实现魔术词典 托普利兹矩阵 重组
字符串
适龄之友 K-相似
字符串
具有相同连续差异的数字 公司航班预订 交替打印 FooBar 删除最外面的括号 最长表现间隔 快照阵列 计算通信的服务器 给定长度的子串中的最大元音数 亚马逊评估解决方案:PopularNFeatures Facebook 评估解决方案:Dict
语言基础/算法/系统设计
16,748
社区成员
33,247
社区内容
发帖
与我相关
我的任务
语言基础/算法/系统设计
Delphi 语言基础/算法/系统设计
复制链接
扫一扫
分享
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章