汇编实现二叉树的重序遍历

okdavinci 2005-05-17 07:50:17
源码或者思路都可以.最好是源码.
我想是通过对每一个节点编号,然后存储在线形内存中.
问题是怎么编号,怎么存储,怎么遍历.
谢谢.
...全文
165 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
okdavinci 2005-05-25
  • 打赏
  • 举报
回复
up
okdavinci 2005-05-19
  • 打赏
  • 举报
回复
老兄,关于汇编实现二叉树中序遍历的.
dataseg segment
btree dw 100 dup(?,?,?) ;有100个节点,每一个节点有left,data,right
....
...
关于输入节点的问题.
我就只知道
mov ah,1
int 21h

,问题是难道我还有输入地址 哦.left,right是存储的地址.我要输入left,right的值

输入用递归怎么处理. 一般我不是要完全二叉树.
okdavinci 2005-05-18
  • 打赏
  • 举报
回复
我就是对这个东西部知道.
重新排序的条件一般有哪些?
述说一下这么思路吧.林.
faintu 2005-05-18
  • 打赏
  • 举报
回复
我只是想告诉你知道算法了用什么语言写都是一样的。至于反编译,你别说,我还真干过,当然不是一整个程序,起码它的算法我能看出来
yuanyou 2005-05-18
  • 打赏
  • 举报
回复
up
xialin168 2005-05-18
  • 打赏
  • 举报
回复
题目表达不完整,
楼主要求重新排序的条件是什么!
积木 2005-05-18
  • 打赏
  • 举报
回复
楼上的,不要把编译器产生的汇编代码和我们手写的混为一谈,
你可能在编译器里面编译出来的代码中完全看不到你的数据结构的影子,
你也找不到其中的程序逻辑,要不你就翻编译一次,然后你尝试加加注释好了……嗬嗬
faintu 2005-05-18
  • 打赏
  • 举报
回复
跟语言没关系,你得先看你的二叉树的结构是什么样子的,用的是什么数据结构,至于汇编还是C,没有任何区别,只是代码长短的原因。如果你非要用汇编,可以完全用C写完了编译成汇编代码
积木 2005-05-18
  • 打赏
  • 举报
回复
帮你up,呵呵,你这个问题应该发到汇编版上去
okdavinci 2005-05-18
  • 打赏
  • 举报
回复
up
okdavinci 2005-05-18
  • 打赏
  • 举报
回复
好,剩下的.我自己去研究了吧.谢谢.
faintu 2005-05-18
  • 打赏
  • 举报
回复
呵呵,这个问题就是汇编的基本功问题了,我只能告诉你汇编之中也是有指针和函数,也可以递归调用,具体的你还是多看看书吧,我要整个说一遍的话那还不如写出来呢。
okdavinci 2005-05-18
  • 打赏
  • 举报
回复
问题就在怎么用汇编写了.怎么把树存储到内存,?等等~~~
faintu 2005-05-18
  • 打赏
  • 举报
回复
中序遍历:
简单点儿,假设树由指针构成,节点有左右两个子节点的指针,
M_Traverse(node_t* root)
{
while ( root != NULL )
{
Visit(root);
M_Traverse(root->left);
M_Traverse(root->right);
}
}

Visit函数遍历时对某个节点本身的操作,你爱怎么写就怎么写。

这个函数用汇编实现应该是相当简单吧,没必要重新排序成线性存储
okdavinci 2005-05-17
  • 打赏
  • 举报
回复
up

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧