- 博客(61)
- 收藏
- 关注
原创 C语言中的数据结构--树
本文系统介绍了二叉树的链式存储结构和遍历方法。主要内容包括:1.二叉树的链式存储实现方式(二叉链和三叉链);2.三种递归遍历方式(前序、中序、后序)的原理和代码实现,通过递归展开图详细解释执行过程;3.二叉树基本操作的实现方法,包括计算节点数、叶子节点数、树高度、查找指定值节点等;4.重点分析了递归实现中的常见错误和优化方法,如避免重复计算、处理空指针等问题。文章通过大量示例代码和图示,帮助读者深入理解二叉树的递归特性,为后续学习更复杂的树结构打下基础。
2025-08-08 16:36:12
424
原创 C语言中的数据结构--树(1—堆)
本文摘要: 本文系统讲解了树结构中的堆数据结构及其应用。首先介绍了树的基本概念和存储结构,重点讲解了二叉树的两种特殊形式:满二叉树和完全二叉树。接着详细阐述了堆的概念、实现方法(大堆和小堆)以及堆排序算法,包括向上调整和向下调整两种建堆方式的时间复杂度分析(向下调整O(N)优于向上调整O(NlogN))。最后探讨了堆在实际应用中的TopK问题,提出了两种解决方案:建大堆多次pop和建小堆比较替换。文章还通过代码示例展示了堆的初始化、插入、删除等基本操作,以及堆排序和TopK问题的具体实现方法。
2025-08-05 10:04:51
852
原创 C语言中的数据结构--栈和队列(2)
本文介绍了队列数据结构及其实现方法。首先讲解了队列的基本概念和先进先出特性,对比了数组和链表实现方式的优缺点,最终选择使用单链表实现队列。详细说明了队列的初始化、入队、出队等核心操作,并给出了完整代码实现。接着通过三个练习题加深理解:1)用两个队列实现栈,2)设计循环队列(分别用数组和链表实现),3)用两个栈实现队列。文章重点分析了各种实现方式的逻辑思路和边界条件处理,如循环队列判空判满条件、内存释放注意事项等,为后续学习二叉树等更复杂数据结构打下基础。
2025-07-28 16:43:40
823
原创 牛客网NC1大数加法
6.接下来我们需要对短字符串进行判断,如果短字符串此时没有处理完,就需要将短字符串当前数位上的字符转换为整型,并且与长字符串同数位上的数。5.因为两个字符串的长度可能是不同的,我们要从后向前提取短字符串的数据时,应该先要。对最后一次的进位进行处理,因为此时已经出了循环,最后一次进位没有处理。(还可以采取在短字符串前面补0的方法,这里就不做讲解了)计算出来的数据大于整型的最大值,此时就会出现问题。2.令更长的字符串为s,令短的字符串为t。因为要计算的是两个很大很大的数,假设。开始,逐级的向上相加进位。
2024-08-22 16:55:58
300
原创 链表面试题详解
一定可以追上;如果N是偶数,那么第一轮追击就可以追上如果N是奇数,那么第一轮追击就无法追上,但是因为C-1是一个偶数,所以第二轮追击可以追上。
2024-04-30 17:30:35
1331
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人