- 博客(15)
- 收藏
- 关注
原创 数据结构作业--图的遍历
图的遍历算法的性能与图的表示方式、顶点和边的数量以及实现细节密切相关。例如,在 DFS 中,需要避免重复访问已经访问过的顶点,这可以通过使用一个集合或布尔数组来记录已访问状态。图是由顶点和边组成的数据结构,可以是有向的也可以是无向的。在编写遍历代码之前,需要明确图的表示方式,如邻接矩阵、邻接表等,并理解它们各自的优缺点。与编写其他类型的代码一样,编写图的遍历代码时也需要注重代码的可读性和可维护性。编写图的遍历代码的心得体会涉及对图数据结构及其遍历算法的理解、实现细节以及性能优化的考虑。
2024-05-24 10:51:01
230
原创 数据结构作业--二叉树的遍历与构建
我使用了有意义的变量名和函数名,并添加了必要的注释来解释代码的功能和目的。同时,我也注重代码的可维护性,尽量避免了使用复杂的逻辑和过多的嵌套结构。通过测试和调试,我发现了代码中的错误和缺陷,并进行了相应的修改和优化。在实现过程中,我体验到了递归和迭代各自的优势和局限性,并学会了根据具体场景选择合适的方法。在编写代码时,我注意到了不同遍历策略之间的区别和联系,并学会了如何根据实际需求选择合适的遍历策略。编写二叉树的构建与遍历代码的过程中,我获得了许多宝贵的经验和心得体会。
2024-05-24 10:43:22
267
原创 数据结构作业--N后问题
它尝试在棋盘的每一行放置皇后,并使用place函数来检查放置是否安全。通过编写N皇后问题的解决方案,我加深了对回溯算法和递归的理解。我意识到在解决复杂问题时,将问题分解为更小的子问题并尝试所有可能的解决方案是非常重要的。这是回溯算法的一个关键部分:尝试所有可能的选项,并在需要时回溯。最后,我意识到编写清晰、可维护和可测试的代码的重要性。你使用了动态内存分配来创建solution数组,这是一个很好的做法,因为它允许我们处理任意大小的N。虽然初始的解决方案可能可以工作,但通常还有更好的方法来执行相同的任务。
2024-05-24 10:30:56
240
原创 数据结构代码--链队列
链队列是基于链表实现的队列,它通过节点之间的链接关系来存储队列中的元素。在编写链队列代码之前,我深入理解了链队列的基本结构和操作原理,这有助于我更好地设计和实现代码。通过实践,我加深了对链表和队列数据结构的理解,并提高了自己的编程能力。同时,我也发现了自己在设计和实现代码时的一些不足之处,并思考了如何改进和优化我的代码。我编写了一些测试用例来测试链队列的基本功能和边界条件,并使用调试工具来跟踪和修复潜在的问题。我使用了有意义的变量名和函数名,并添加了足够的注释来解释复杂的逻辑和算法。
2024-05-10 21:17:41
827
1
原创 数据结构作业--压缩矩阵
在编写压缩矩阵代码的过程中,我获得了许多宝贵的经验和体会。压缩矩阵是计算机科学和数值计算中常用的技术,用于减少存储空间和计算成本,特别是在处理稀疏矩阵时。:在编写代码时,我特别注意了内存管理。稀疏矩阵的压缩通常会节省大量存储空间,但也可能导致更复杂的内存操作。:在编写代码时,我始终牢记错误处理和边界检查的重要性。稀疏矩阵的压缩可能导致一些边缘情况,如空矩阵或零元素过多。在开始编写代码之前,我首先深入理解了稀疏矩阵的概念。为了方便其他人也可以顺利阅读我自己所编写的代码,代码的可读性十分重要。
2024-05-10 21:00:11
192
1
原创 数据结构作业--二维数组与矩阵乘法
感受到了两种不同定义方式带来的便利性和不便性,选择适当的存储方式可以优化矩阵运算的性能,矩阵运算中,很多算法都可以通过优化来提高性能。同时在编写矩阵运算的 代码时,要特别注意边界条件和异常处理,例如:当两个矩阵的维度不匹配时,无法进行加法或者乘法运算,此外,还要确保在运算过程中不会出现数组越界等错误,然后便是在比较复杂的函数编写中,选择简洁明了的名字是可以提高代码编写效率的。
2024-05-10 20:44:45
189
1
原创 数据结构作业-汉诺塔问题
自己在上一学期一直没有理解到汉诺塔问题该如何处理,在自己重新敲这个代码的时候,开始慢慢理解汉诺塔问题的处理本质和思路。在逻辑思维能力上得到了一定的加强。
2024-05-07 19:36:02
474
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人