- 博客(8)
- 收藏
- 关注
原创 二叉树的构建和遍历
其中前三个分别代表二叉树的前序遍历、中序遍历、后序遍历,levelwise代表二叉树的层次遍历。这是一个二叉树的基础操作代码,包括二叉树的构建、遍历(前序、中序、后序和层次遍历)以及用于存储节点的队列的实现。总体来说,实现了基本的二叉树操作,对于理解二叉树的概念和如何实现二叉树遍历具有重要作用。前序遍历的顺序为:访问根节点 -> 遍历左子树 -> 遍历右子树。中序遍历的顺序为:遍历左子树 -> 访问根节点 -> 遍历右子树。后序遍历的顺序为:遍历左子树 -> 遍历右子树 -> 访问根节点。
2023-05-11 02:17:42
56
原创 数据结构3.6: 链队列
void outputLinkQueue(LinkQueuePtr paraQueuePtr): 遍历输出链队列中所有元素的值。int dequeue(LinkQueuePtr paraQueuePtr): 将队头元素出队,并返回该元素的值。void testLinkQueue(): 测试链队列的入队和出队操作,同时测试遍历输出链队列中所有元素的值。LinkQueuePtr initQueue(): 初始化一个空的链队列。代码实现了链队列的基本操作,包括初始化空队列、入队、出队、遍历等功能。
2023-04-25 00:47:56
68
原创 数据结构3.2: 栈的应用 -- 括号匹配
void push(CharStackPtr paraStackPtr, char paraValue): 将一个元素入栈。void outputStack(CharStackPtr paraStack): 输出栈中所有元素的值。CharStackPtr charStackInit(): 初始化一个空的字符栈。void pushPopTest(): 测试栈的入栈和出栈操作。代码主要实现了一个字符栈,包括初始化、入栈、出栈、遍历等功能。
2023-04-25 00:16:31
56
原创 【数据结构】hanoi tower
否则,先将n-1个盘子从起始塔移动到中转塔上,再将最后一个盘子从起始塔移动到目标塔上,最后将剩余的n-1个盘子从中转塔移动到目标塔上。递归调用自身,不断重复以上步骤,直到所有盘子都移动到目标塔上为止。其中第1步和第3步是同样的问题,因此可以通过递归调用本函数来实现。最终会输出移动的步骤,从源柱移动到目标柱。2.hanoiTest():测试汉诺塔函数的函数,分别测试了两个和三个盘子的情况。将前n-1个盘子从源柱经过目标柱移动到中转柱上;将前n-1个盘子从中转柱经过源柱移动到目标柱上。
2023-04-24 23:40:14
81
原创 数据结构单链表的实现
首先,学习单链表加强了我对于指针的理解。在单链表中,每一个节点的数据类型是结构体,其中包含数据和一个指向下一个节点的指针。在编写单链表的过程中,我深刻体会到指针可以带来的便利,例如链表节点之间的动态连接、节点的删除和插入等操作。在编写单链表的过程中,我学会了一些基本的链表操作,如插入、删除、查找等,这些操作都是在实际问题中非常常见的。同时,我也学会了一些调试技巧和程序优化方法,让我对于编写高质量代码有了更深入的理解。相比于数组这样的线性结构,链表可以在运行时动态地分配内存,具有更好的灵活性和扩展性。
2023-04-04 01:25:32
72
1
原创 什么是数据结构
算法的英语是 Algorithm。要很准确地回答这个问题并不容易,但其实也没那么难,我不需要用一大堆理论来说清楚什么是算法,况且算法也不仅限于 IT(Information Technology 的简称,表示“信息技术”)编程领域。所以一个通俗易懂的回答可以是:算法是以简单概念的形式对如何解决问题的一种精确描述。所以说:算法是一种描述(description),且是一种精确的描述。描述什么?描述如何解决问题。以什么样的形式来描述?以简单概念的形式。
2023-03-23 01:34:47
75
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人