算法与数据结构
ToF君
这个作者很懒,什么都没留下…
展开
-
树的先序遍历
递归算法先序遍历就是首先判断根结点是否为空,为空则停止遍历,不为空则将左子作为新的根结点重新进行上述判断,左子遍历结束后,再将右子作为根结点判断,直至结束。到达每一个结点时,打印该结点数据,即得先序遍历结果。非递归算法首先建立一个栈,当指针到达根结点时,打印根结点,判断根结点是否有左子和右子。有左子和右子的话就打印左子同时将右子入栈,将左子作为新的根结点进行判断,方法同上。若当前结点没有左子,则直接原创 2017-05-19 14:39:39 · 1237 阅读 · 0 评论 -
树的中序遍历
递归算法中序遍历是首先判断该结点是否为空,为空则结束,不为空则将左子作为根结点再进行判断,打印左子,然后打印二叉树的根结点,最后再将右子作为参数进行判断,打印右子,直至结束。非递归算法首先建立一个栈,定义一个常量flag(flag为0或者1),用flag记录结点的左子是否去过,没有去过为0,去过为1,默认为0.首先将指针指向根结点,将根结点入栈,然后将指针指向左子,左子作为新的结点,将新结点入栈,然原创 2017-05-19 15:36:53 · 738 阅读 · 0 评论 -
树的后序遍历
递归算法指针到达一个结点时,判断该结点是否为空,为空则停止遍历,不为空则将左子作为新的结点参数进行判断,打印左子。左子判断完成后,将右子作为结点参数传入判断,打印右子。左右子判断完成后打印根结点。非递归算法首先建立两个栈,然后定义两个常量。第一个为status,取值为0,1,2.0代表左右子都没有去过,1代表去过左子,2,代表左右子都去过,默认为0。第二个常量为flag,取值为0或者1,0代表进左栈原创 2017-05-19 16:10:57 · 1035 阅读 · 0 评论 -
数据结构绪论
什么是数据结构 数据结构是指相互之间存在一种或多种特定关系的数据元素的集合 程序设计 = 数据结构 + 算法 逻辑结构 线性结构 树形结构 图形结构 物理结构 存储形式:顺序存储,链式存储 集合结构原创 2017-09-24 20:50:27 · 310 阅读 · 0 评论