- 博客(7)
- 收藏
- 关注
原创 《C++入门第一篇:初识C++(上)》
本文系统介绍了C++语言的基础知识与发展历程。重点讲解了C++核心概念:命名空间解决了标识符冲突问题,IO流提供了更便捷的输入输出方式,缺省参数增强了函数灵活性,函数重载实现了同名函数的多态行为。文章还分析了C++在编程语言排行榜和工作领域中的重要性,并推荐了经典学习书籍。通过"Hello World"示例展示了C++与C语言的兼容性,同时强调了指针和内存管理等基础概念的重要性。最后指出C++是一门需要扎实掌握基础才能灵活运用的强大语言。
2025-11-25 21:10:00
1074
7
原创 《链式二叉树--递归算法的暴力美学》
本文介绍了链式二叉树的实现及常见操作。首先定义了二叉树节点结构,并给出创建二叉树的示例代码。详细讲解了二叉树的四种遍历方式(前序、中序、后序、层序)及其递归实现。重点阐述了六个核心操作:计算节点总数、求叶子节点数、获取第k层节点数、计算树的高度、查找指定值节点以及销毁二叉树。对于层序遍历,介绍了使用队列的实现方法。最后讲解了如何判断完全二叉树,通过队列的特性检查节点排列顺序。文中所有操作均采用递归方式实现,代码简洁高效,为后续二叉树相关算法打下基础。
2025-11-03 20:44:43
795
2
原创 二叉树_堆基础(1)
本文介绍了二叉树这一非线性数据结构的概念与实现。首先讲解了树的基本概念和术语(如节点度、深度、祖先等),对比了树与线性表的区别。重点阐述了二叉树的特性和分类(满二叉树、完全二叉树),并详细说明了二叉树的两种存储结构:顺序存储(适合完全二叉树)和链式存储(二叉链)。通过代码示例展示了堆(一种特殊二叉树)的实现过程,包括初始化、入堆、出堆等操作,着重讲解了向上调整和向下调整建堆的算法逻辑。文章最后提供了完整的堆实现代码,为后续深入学习二叉树奠定基础。
2025-10-17 13:35:48
634
4
原创 《栈和队列基础一篇通》
本文介绍了栈和队列两种数据结构的基本概念与代码实现。栈采用"先进后出"原则,通过数组实现,详细讲解了初始化、入栈、出栈等操作。队列采用"先进先出"原则,通过链表实现,重点说明了如何通过定义头尾指针优化操作效率。文章对两种数据结构的基本操作(如判断空、取元素等)都给出了具体实现代码,并强调了数组和链表作为底层实现的选择依据。学习这两种数据结构有助于理解更复杂的算法问题。
2025-10-12 22:48:42
1043
1
原创 双链表的实现
了解了插入操作,下面来看删除双链表的节点,在删除节点前,必不可少的就是判断链表是否为空,空链表不能删除。需要定义一个节点从头节点的下一个节点开始遍历,依次释放,但为了避免找不到下一个节点,要先将下一个节点储存起来。在删除节点时要先改变该节点前后指针的指向,再将该节点释放,演示代码中先将待删除的节点存在del中,最后free del,推荐这种写法。在单链表中,我们实现了初始化,插入,删除,查找,打印,销毁等操作,双向链表也有类似的操作。链表部分的内容就到这里了,迎接我们的将会是栈和队列,两种全新的数据结构。
2025-10-09 13:14:28
424
3
原创 单链表的实现和应用(2)
本文介绍了5道单链表相关算法题的解题思路和代码实现,包括移除链表元素、反转链表、链表的中间节点、合并两个有序链表和链表分割。每道题目都提供了详细的分析和优化思路,重点讲解了快慢指针、哨兵位节点等实用技巧,并强调代码实现中的关键细节处理。文章采用由易到难的方式组织内容,帮助读者循序渐进地掌握链表操作技巧。作者还提供了力扣和牛客网的刷题链接,方便读者进行更多练习。
2025-10-01 19:30:09
750
6
原创 单链表的实现和应用(1)
本文介绍了单链表的基本概念和实现方法。单链表是一种非连续、非顺序的线性表结构,通过指针连接各节点。文章详细讲解了单链表的定义、创建、打印、节点申请等基础操作,重点分析了尾插、头插、尾删、头删等常见操作的实现代码及时间复杂度。此外,还介绍了查找、指定位置插入/删除以及链表销毁等高级操作的实现方式。通过C语言代码示例,展示了不带头不循环单向链表的具体实现过程,为后续学习链表相关算法题打下基础。
2025-09-28 20:24:45
752
17
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅