自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据结构之排序算法

【代码】数据结构之排序算法。

2024-06-16 12:07:34 108

原创 数据结构之哈希表

这段代码虽然简单,但是展示了哈希表的基本原理和实现方式,对于理解数据结构中哈希表的工作原理和应用具有一定的参考意义。在今后的学习和工作中,可以借鉴这段代码的实现思路,进一步深入研究和应用哈希表来提高数据查找的效率和准确性。在初始化哈希表时,程序会预先将数组中的每个节点的键值置为-1和'x',表示空节点。然后通过循环遍历要插入的键值对,计算其在数组中的位置,并处理可能出现的碰撞情况。当需要查找某个键对应的值时,同样通过哈希函数计算其位置,然后线性探测找到对应的节点,最终返回该节点的值。

2024-06-16 11:42:22 175

原创 数据结构之查找

在这段代码中,我学习了如何实现顺序查找和二分查找两种不同的查找算法。

2024-06-16 11:34:12 205

原创 迪杰斯特拉和普利姆算法(朴素版)

【代码】迪杰斯特拉和普利姆算法(朴素版)

2024-05-24 13:21:23 264 1

原创 数据结构之图的遍历

【代码】数据结构之图的遍历。

2024-05-17 18:31:24 138

原创 N皇后问题

【代码】N皇后问题。

2024-05-15 16:00:36 499

原创 数据结构之哈夫曼树

【代码】数据结构之哈夫曼树。

2024-05-12 21:42:52 275

原创 数据结构之二叉树

【代码】数据结构之二叉树。

2024-05-12 21:40:31 123 1

原创 数据结构之压缩矩阵与快速转置

首先,代码中定义了两个结构体:Triple和CompressedMatrix,分别用来表示矩阵中的非零元素和压缩存储的稀疏矩阵。Triple结构体包含了非零元素的行、列和值,而CompressedMatrix结构体则包含了矩阵的行数、列数、非零元素个数以及一个指向Triple数组的指针。总的来说,通过阅读这段代码,我学习到了如何使用结构体和指针来实现稀疏矩阵的压缩存储和转置操作,加深了对C++中指针和动态内存分配的理解,同时也对稀疏矩阵的基本概念有了更深入的认识。

2024-05-12 21:33:19 264 1

原创 数据结构之矩阵与矩阵乘法

这段代码涉及了C++中的矩阵操作和动态内存分配。

2024-05-12 21:00:17 171 1

原创 数据结构之循环队列

在这段代码中,首先定义了循环队列的结构体CircleIntQueue,包括一个整型数组data用于存储数据,以及front和rear两个指针分别指向队列的头部和尾部。另外,还有一个outputCircleIntQueue函数用于打印队列中的元素,以及一个testCircleIntQueue函数用于测试队列的功能。循环队列是一种高效的队列实现方式,能够充分利用数组空间,避免了普通队列在出队操作后需要频繁搬移元素的缺点。在测试函数中,对队列进行了多次入队和出队操作,并输出了操作的结果。

2024-05-08 15:03:03 361 1

原创 数据结构之链队列

在学习这段代码的过程中,我深入理解了队列的先进先出(FIFO)特性,以及链表作为一种灵活的数据结构在队列中的应用。通过 initQueue 函数初始化队列,enqueue 函数向队列尾部插入元素,dequeue 函数从队列头部取出元素,以及 outputLinkQueue 函数用于输出队列中的所有元素,这些函数的实现展示了队列的基本操作。通过这些操作,我加深了对队列操作的理解,以及链表在队列中的应用。总的来说,通过阅读和理解这段代码,我对队列数据结构有了更深入的认识,也加强了对链表的应用和操作的理解。

2024-05-08 14:42:11 632 1

原创 递归之汉诺塔

根据这段代码,我学到了汉诺塔问题的解决方法。通过递归的方式,将盘子从一个柱子移动到另一个柱子,确保小盘子永远在大盘子上面。通过仔细观察代码的执行过程,我更加理解了递归的原理和实际应用。在编程中,递归是一种非常有用的技术,可以简化问题的解决方案并提高代码的可读性。这段代码的执行结果也展示了汉诺塔问题的经典解法,让我对递归算法有了更深入的认识。通过编写和理解这样的代码,我对递归和问题求解能力有了更深入的了解。在递归的过程中所形成的递归二叉树,树的高度为空间复杂度为O(n)

2024-04-26 22:37:34 291 1

原创 数据结构之栈的应用之括号匹配

学习这段代码的过程中,我深刻体会到了数据结构和算法在实际编程中的重要性,以及堆栈在处理括号匹配问题中的巧妙运用。同时,通过阅读代码和测试样例,我对堆栈的基本操作和括号匹配算法有了更深入的理解,这对我的编程能力提升和算法思维培养都有着积极的意义。整体来说,这段代码展示了如何使用堆栈数据结构来实现括号匹配算法,通过模拟入栈和出栈操作来检查括号是否匹配。这个算法的实现简洁明了,能够有效地判断表达式中的括号是否匹配,从而帮助我们更好地理解堆栈的应用和括号匹配的原理。在这个算法中,使用了一个自定义的栈数据结构。

2024-04-26 10:42:21 271 1

原创 数据结构之栈

总的来说,这段代码展示了如何使用C语言实现栈的基本操作,包括初始化、入栈、出栈以及测试。通过这段代码的学习,我对栈的操作有了更深入的理解,也加深了对数据结构的学习。函数进行入栈和出栈操作的测试。在测试过程中,往栈中依次压入字符'a'到'l',然后弹出栈顶的三个元素。函数中,首先检查栈是否已满,如果未满则将元素压入栈顶,并更新栈顶指针;函数中,首先检查栈是否为空,如果非空则弹出栈顶元素,并更新栈顶指针。根据这段代码,我学到了关于栈的基本操作和实现方法。首先,在代码中定义了一个栈的数据结构。

2024-04-24 13:18:31 325

原创 链表应用之多项式加法

通过阅读和理解这段代码,我对链表、多项式加法以及C++中的指针操作有了更深入的了解,这将对我的编程能力和算法思维有所提升。同时,通过实践和调试,我也掌握了一些调试技巧和代码优化的方法,使得自己的编程水平得到了提高。首先,代码中使用了链表来表示多项式,每个节点包含了系数和指数,并通过指针连接起来,形成一个链表结构。中,通过比较指数的大小来决定节点的插入位置,从而实现了多项式的加法。在测试函数中,通过创建两个多项式,分别进行了多项式加法的测试,并打印了最终的结果。通过测试,验证了代码的正确性和可靠性。

2024-04-24 13:02:15 338

原创 数据结构之双向链表

通过这段代码的学习,深入理解了双向链表的结构和基本操作,以及如何在 C++ 中使用结构体和指针来实现链表的相关功能。函数中进行了这些操作的测试,包括初始化双向链表、插入元素、按值删除元素以及根据位置查找元素等操作,并通过。函数中展示了结构体在内存中的存储情况,以及如何通过指针建立节点之间的连接。结构体,创建了双向链表的节点,其中包含指向前驱和后继节点的指针。:用于打印双向链表中的数据,从头结点的下一个节点开始遍历链表。,分别表示双向链表节点和节点指针,方便后续代码中的使用。:根据位置查找双向链表中的元素。

2024-04-17 17:28:05 595

原创 数据结构之单链表

指针是C++中非常重要的概念,它可以指向内存中的某个地址,并通过对指针的操作来间接地操作所指向的数据。通过这段代码的练习,我更加熟悉了指针的使用方法,包括指针的声明、指针的赋值、指针的解引用等操作。在这段代码中,作者实现了链表的初始化、打印、尾部插入、按位置插入和按值删除等基本操作,这些操作是链表常见的基本操作,对于理解链表的工作原理和使用方法非常重要。总的来说,通过编写这段代码并理解其中的各种操作,我对链表的原理和使用方法有了更深入的理解,并且加深了对指针的掌握。函数释放节点所占用的内存空间。

2024-04-09 11:19:11 314

原创 数据结构之静态链表

在静态链表中,节点的指针指向数组的索引,而不是直接指向下一个节点的地址。通过连续调用插入函数,将字符 ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ 插入到链表中,并进行删除操作。如果有空间可用,则将节点插入到链表中,并更新链表结构。这段代码帮助我更深入地理解了链表的底层实现原理,以及静态链表的概念和实现方式。首先找到要删除元素的前一个节点,然后更新前一个节点的指针,将其指向被删除元素的下一个节点,最后释放被删除元素的空间。结构体的内存空间,然后分配存储节点和空间状态的数组的内存空间。

2024-04-07 20:43:26 325

原创 数据结构之线性表(c++实现

【代码】数据结构之线性表(c++实现)

2024-04-03 21:46:33 324

空空如也

空空如也

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

TA关注的人

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