首页
社区
课程
招聘
5
[原创]说说汇编与二叉树
发表于: 2013-6-9 21:11 11688

[原创]说说汇编与二叉树

2013-6-9 21:11
11688

这篇文章写给还不明白二叉树或者看不懂二叉树的汇编代码的新手朋友们。



1、现在游戏越来越多的用二叉树来储存一些数据结构,逆向游戏的朋友们可能经常会碰到二叉树遍历的问题,不熟悉二叉树或不熟悉汇编二叉树的朋友们可能对二叉树结构一筹莫展,就像我没写这篇帖子之前一样,但用汇编写过一边二叉树,就再也不会看二叉树的代码像陌生人一样了,这就是为什么要用汇编写二叉树的原因。



2、什么是二叉树,如下图所示(一个3层的二叉树)



用汇编来定义一个二叉树结构如下:


1
2
3
4
5
DTREENODE struct
    NodeData        DWORD   ?
    lChildNode      DWORD   ?
    rChildNode      DWORD   ?
DTREENODE ends


NodeData是二叉树节点的数据,代码里我写入的是其序号,当然你还可以定义更多的数据


lChildNode是二叉树的左孩子节点,指向其下一层左节点


rChildNode是二叉树的右孩子节点,指向其下一层右节点


最后一层(如4节点)的lChildNode和rChildNode都为0,不再指向任何新节点了




[注意]看雪招聘,专注安全领域的专业人才平台!

上传的附件:
收藏
免费 5
支持
分享
赞赏记录
参与人
雪币
留言
时间
心游尘世外
为你点赞~
2024-5-31 05:14
QinBeast
为你点赞~
2024-5-31 05:08
飘零丶
为你点赞~
2024-4-3 00:31
shinratensei
为你点赞~
2024-2-10 00:35
PLEBFE
为你点赞~
2023-3-7 00:32
最新回复 (15)
雪    币: 137
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
没有仔细看 估计大概蛮不错的
2013-6-9 21:29
0
雪    币: 29
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
二叉树 就是Java的递归?
2013-6-9 21:39
0
雪    币: 297
活跃值: (120)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
4
不错,学习啦
2013-6-9 22:45
0
雪    币: 219
活跃值: (190)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
其实那些树都是一个链表,如果一开始的时候定义多几个指针,那么连改都不用改.不定义的话,也可以不递归遍历,就是麻烦一点.
2013-6-10 07:09
0
雪    币: 93
活跃值: (40)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
6
感谢分享,标记一下
2013-6-10 08:52
0
雪    币: 107
活跃值: (424)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
谢谢科普.......呵呵...
2013-6-10 09:37
0
雪    币: 119
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
只能先mark,然后学
2013-6-10 11:06
0
雪    币: 43
活跃值: (29)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
9
树像链表是误导, 只能说不管树和图, 计算机都无法直接处理, 因为树和图只合适人类的层次或散列的思维.
所以, 计算机处理树和图, 都是先其将转换为线性表形式, 才能处理, 当然, 是偶们提供算法来进行转换.

树按遍历访问的次序分前中后, 每一种访问次序, 才像是链表.
其次, 最像链表的是线索化二叉树, 但每一种线索化都是独立的封装,
如果说树像链表, 只能说数据结构学的不好.
2013-6-27 19:19
0
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
10
实际是人家的map
2013-7-28 19:28
0
雪    币: 184
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
看看有用
2013-8-28 15:03
0
雪    币: 6936
活跃值: (1572)
能力值: ( LV11,RANK:180 )
在线值:
发帖
回帖
粉丝
12
删除都没有写,, 也算搞定了???
2013-8-28 15:19
0
雪    币: 81
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
mark  慢慢学习
2013-8-29 01:33
0
雪    币: 164
活跃值: (39)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
14
哦,这样明白多了~
2013-8-29 13:26
0
雪    币: 371
活跃值: (72)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
15
貌似很不错...
2013-8-29 19:19
0
雪    币: 9
活跃值: (230)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
16
不错
2018-1-12 12:24
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册