摘要: 非递归算法中序遍历二叉树,设S为一个栈,p为指向根节点的指针,处理过程如下: 1)当p非空时,压栈p指针,并将p指向该节点的左子树。 2)当p为空时,弹出栈顶元素,显示节点元素,并将p指向该节点的右子树。 3)重复步骤1)和2),直到栈空且p空。 即用指针和栈实现递归保存之前的信息。 阅读全文
posted @ 2016-04-07 12:11 xhyxhy 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 1 assume cs:codesg,ss:stacksg,ds:datasg 2 3 datasg segment 4 db '1. display ' 5 db '2. brows ' 6 db '3. replace ' 7 db '4.modify ' 8 stacksg segment 9 dw 0... 阅读全文
posted @ 2016-04-06 16:09 xhyxhy 阅读(191) 评论(0) 推荐(0) 编辑
摘要: AVL树即左右子树高度最多相差1的树。 其实现是每插入一个新节点,进行旋转来使二叉树平衡。 AVL的旋转可以说有两种情况, 第一种如图,进行一次单旋转(为右旋转),即把4变为根节点,4的左节点挂在原来的根节点2上。 其中一种如图,此时进行一次双旋转即可,右左旋转即可 阅读全文
posted @ 2016-04-04 18:52 xhyxhy 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 中缀表达式向后缀表达式转换的原理是,先计算优先级高的运算。,计算完后的数值,再与后面计算,如此循环,用栈来实现按优先级计算。 阅读全文
posted @ 2016-04-04 15:37 xhyxhy 阅读(128) 评论(0) 推荐(0) 编辑
摘要: -r 查看当前寄存器的状态, -r 寄存器x 可以改变寄存器x的值。 -d 可以查看内存 三种使用方法:1.-d显示之后128个字节 2.-d 段地址:偏移地址,从这段地址开始后的128字节 3.-d 段地址:偏移地址 偏移地址,显示两个地址间的字节。 -u 和-d用法一样,不过是查看字节对应的汇编 阅读全文
posted @ 2016-04-01 11:27 xhyxhy 阅读(399) 评论(0) 推荐(0) 编辑
摘要: pop和push只是复制值。 阅读全文
posted @ 2016-04-01 10:42 xhyxhy 阅读(355) 评论(0) 推荐(0) 编辑
摘要: x的m次方 调用递归,如果是次数是奇数,x=x*x,m=m/2,再调用,不过要乘上一个x。 阅读全文
posted @ 2016-03-31 21:21 xhyxhy 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 一个m项,一个n项 相加:从第一项开始,每一次都拿两个多项式的头开始比较,小的项就进目标链表,前进一格,从而完成相加,复杂度o(m+n) 相乘 : 算法1:o(m*m*n*n) 每一项相乘,结果插入目标链表里 算法2:o(m*n*n) 拿一个多项式每一项与另一整个多项式相乘,然后将这m个或n个多项式 阅读全文
posted @ 2016-03-31 21:12 xhyxhy 阅读(1431) 评论(0) 推荐(0) 编辑
摘要: a,b两个链表是升序排列的 阅读全文
posted @ 2016-03-31 19:08 xhyxhy 阅读(762) 评论(0) 推荐(0) 编辑
摘要: 栈:先进先出 队列:先进后出 注:两者都可由数组或指针实现 栈:可解决优先级的问题还有对称等问题,应用:函数调用(所谓开了一个栈,就是指调用函数时,调用其的函数的信息存储在栈中,所以尾递归一般不是好的解决方法,前面函数的信息有时候不必存储),运算符优先级的解决 队列:排队。 阅读全文
posted @ 2016-03-31 17:04 xhyxhy 阅读(128) 评论(0) 推荐(0) 编辑