自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 栈链队(作业)

其次,链表是一种非顺序数据结构,包含称为节点的顺序结构,其中每个节点包含数据和一个链接字段。通过这些链接字段,我们可以在访问列表时轻松地移动单个节点。首先,栈是一种先进后出(LIFO)的数据结构,可以用数组或链表实现。它可以用于处理递归函数、算术表达式、浏览器的前进后退,等等。队列是一种先进先出(FIFO)的数据结构. 它也可以用数组或链表实现。

2023-04-24 20:21:58 71

原创 括号的匹配

首先,括号匹配问题是一个常见的问题,它的解决方法是通过使用栈这种数据结构来实现。在字符序列中访问字符时,把左括号压入栈中,当遇到右括号时,从栈中弹出相应的左括号进行匹配。如果栈为空或弹出的左括号与当前右括号不匹配,则序列不匹配,否则序列匹配。其次,我们需要注意特殊情况和边界情况。例如,如果括号序列为空,则认为它是匹配的。另外,如果括号序列中只有左括号或只有右括号,则认为它是不匹配的。

2023-04-24 20:10:36 79

原创 汉诺塔问题分析(作业)

在汉诺塔问题的函数调用中,实参是指调用函数时传入的具体参数值,例如hanoi(n, 'A', 'B', 'C')中的'n'、'A'、'B'和'C'即为实参。设盘子个数为n时,需要T(n)步,把A柱子n-1个盘子移到B柱子,需要T(n-1)步,A柱子最后一个盘子移到C柱子一步,B柱子上n-1个盘子移到C柱子上T(n-1)步。另外,自顶向下,逐步求精的编程方式也有助于代码的复用,因为函数可以重复调用,从而实现在不同的场景中使用同样的代码,实现了程序的解耦和复用。因此,递归调用的最大深度为n。

2023-04-24 20:03:06 239

原创 汉诺塔问题

此外,我学习了如何通过递归实现汉诺塔问题的解决。我通过实现三个函数:将n个盘子从A借助B移动到C的函数(MoveHanoi),将n-1个盘子从A借助C移动到B的函数(MoveAB),以及将n-1个盘子从B借助A移动到C的函数(MoveBC)来实现汉诺塔问题的求解。总体而言,在编写汉诺塔问题代码的过程中,我学到了许多与递归算法和函数栈相关的知识,同时也掌握了如何用递归技巧来解决这个经典的数学问题。在这次编程过程中,我需要考虑如何用代码实现这个经典的数学问题,同时要解决程序在运行过程中容易出现的栈溢出问题。

2023-04-19 21:29:27 68

原创 线性表课后总结

了解栈和队列等常见的线性表的应用场景,可以帮助我们更好地理解线性表的实际用途。链式存储则是通过一系列节点来存储线性表中的元素,每个节点包含数据元素和指向下一个节点的指针。线性表是我们学习数据结构和算法的基础,学好线性表对于后续的算法理解和设计至关重要。最终,我相信学好线性表对我们学好数据结构和算法,从而成为一名优秀的程序员是非常重要的。这些基本操作是学习线性表的基础,掌握它们对于后续的算法理解和设计非常重要。在学习线性表的过程中,我深深地认识到这一数据结构所具有的重要性和应用价值。二、线性表的存储方式。

2023-04-19 21:21:35 261

原创 多项式的加法

这段代码让我体会到了如何有效地把一个复杂的任务分解成一系列的小任务,再由小任务拼接成大任务,这样就可以实现代码的跳转,更有效地编写程序。此外,为了使程序更加高效,我还学会了许多技巧,比如构建哈希表来减少搜索时间,使用根号法实现常数时间查找,利用空间换时间来减少算法运行时间等等。通过对多项式加法的学习和练习,我收获了很多,不仅提升了我的编程水平,也为我今后的学习奠定了坚实的基础。

2023-04-11 12:44:34 74

原创 静态链表作业

静态链表帮助我熟悉和理解了数据抽象和信息抽象的思维方式,以及如何将其运用到编程中。静态链表可以有效地存储和处理一组数据,实现不同操作,如遍历、插入、查找等,而且效率也很高。因此,从核心的代码层面上来看,我学会通过静态链表来解决应用程序中的问题。此外,这一过程也使我学会了在特定之狭窄的情境中,结合多种算法来达到最优结果的技能。

2023-04-11 12:42:05 63 1

原创 单链表作业

这段代码实现了一个基本的链表结构,包括初始化、添加、插入、删除、打印等操作。其中,链表的节点结构为LNode,包含一个char类型的数据data和一个指向下一个节点的指针next。该代码还包括一个简单的单元测试函数appendInsertDeleteTest,用于测试链表的基本功能。同时,还包括一个简单的地址测试函数basicAddressTest,用于测试节点的地址。若插入位置超出链表范围,则输出错误信息。1.初始化链表:使用initLinkList函数创建一个空链表,即一个只有头节点的链表。

2023-03-29 21:41:42 97 3

原创 顺序表作业

顺序表

2023-03-27 19:56:45 89

原创 第一次数据结构课后收获

数据机构课后收获

2023-03-22 21:17:34 123 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除