- 博客(6)
- 收藏
- 关注
原创 PTA-二叉树的非递归遍历-顺序存储
二叉树的非递归遍历是基于循环对栈进行出栈入栈的操作,通过栈保存二叉树顺序存储的编号来达到回溯的效果模拟递归size是二叉树的最后一个结点数的坐标*data就是数组,可以理解成一种变长数组,通过后续输入确定数组大小int size;char *data;
2025-08-15 16:12:19
971
原创 n皇后问题-回溯算法(C/C++)
n皇后问题是指在国际象棋(8×8的棋盘)内放置8个皇后如何保证皇后之间不可互相攻击,找出所有可行的排放方式皇后攻击范围是同一行、同一列、主对角线以及副对角线。
2025-08-02 19:42:09
444
1
原创 PTA-双端队列-基于循环数组
队列常用的存储结构为顺序存储和链式存储,本篇基于顺序存储结构中的循环数组讲解循环数组是一种逻辑上形成闭环的数组存储结构,与传统数组不同主要在于循环数组的索引 index。,我们应该将函数分为两类,一类向数组右边移动即:循环数组的增加,一类向左边移动即:循环数组的减少。若不满,再进行头插操作即:先移动索引位置再接收。给出双端队列的头插入,头删除,尾插入,尾删除。回到循环数组起始位置,从而实现逻辑上的循环。(头插函数)一致,不为空进行的操作与。(头删函数)一致,不为空进行的操作与。是循环数组的长度,当。
2025-07-19 17:59:23
515
1
原创 PTA-约瑟夫环问题-循环链表解法(C/C++)
注意:此处不直接将n作为待出列元素是为了防止后续对n的改变导致函数嵌套调用时传参不准确//L_length代表待出列元素个数,arr[n]代表后续数据出列顺序。
2025-07-09 17:19:42
549
原创 二叉树最长路径选择(c/c++)
(注意此处maxdepth 函数每一次调用函数本身时是重新定义m和n,也就是说对于不同的根节点其m和n实际上是反应当前子树的左子树最大深度与右子树最大深度) 在日常学习中我们可能会忽略一点:即此二叉树最大深度代表的就是最长路径。那么我们如何输出这条最长路径。首先我们需注意一点在maxdepth函数中函数返回类型是int:即此二叉树的最大深度,用i接收此二叉树的最大深度并将最大深度的那条路径视作一支以T为头结点单链表,用for循环进行输出,终止条件是j==i即最深的一支路径已被完全遍历。
2025-05-26 00:43:22
635
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人