![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
考研算法学习
文章平均质量分 61
FoLiaGe丶
在学前端
展开
-
王道408考研课后习题---二叉树
首先无脑访问做左的节点,中间遇到的非叶子结点全部记录在栈中,当已经访问到最左结点的时候,从栈中取栈顶一个元素,访问其右节点,然后重复一的步骤,然后弹出栈顶一个元素,访问根结点。算法思路:使用递归算法实现,先交换T结点的左孩子的左右子树,然后交换T结点右孩子的左右子树,最后交换T结点的左右孩子。采用后续遍历分别访问p和q,此时p和q的后续遍历的工作栈中即为该结点的祖宗序列,去匹配倒数第一个相同的元素。算法思路:采用非递归的后续遍历,最后访问根结点,那么当访问到x的时候,栈中所有元素即为该结点的祖先结点。原创 2023-07-06 17:01:59 · 316 阅读 · 0 评论 -
王道408考研课后习题---队列
在循环队列中,设置一个标志域tag,并以tag的值为0和1来区分队头指针front和rear相同的状态是空还是满,然后编写出入对算法。出队的时候,将数据依次出栈入栈到S2中,弹出栈顶元素即可,最后将S2的数据再一次出栈入栈到S1中。入队的数据直接存放在S1栈。利用栈将队列的元素逆置。利用两个栈来模拟队列。原创 2023-07-03 17:39:02 · 242 阅读 · 0 评论 -
王道408考研课后习题---栈
2)判断一个出入栈序列是否合法,I表示入,O表示出,不合法返回False,否则返回True。判断一个带头结点的单链表的数据是否中心对称,例如xyx、xyyx。共享栈的定义以及相关操作。原创 2023-07-03 11:48:48 · 199 阅读 · 0 评论 -
王道408考研课后习题---线性表(全二十五题)
int data;第一题:递归算法实现删除不带头结点的单链表L中所有值为x的结点LNode * p;p = L;free(p);} else {} }第二题:非递归实现删除所有x的结点 需要设置一个工作结点和前驱结点while(p!free(q);} } }第三题:逆序打印链表if(L!第四题:删除单链表中的最小值结点算法思路 : 依次扫描比较 然后记录最小值的结点和其前驱结点while(p。原创 2023-07-02 22:51:43 · 417 阅读 · 0 评论