数据结构
文章平均质量分 84
更细化的注解
锻炼²
决心,改变
展开
-
理解归并排序的两种方法(超详细)
结合图文剖析归并排序的思路;学习分治法、递归思想、gap调整区间优化。分治法(Divide and Conquer):归并排序是一种分治算法,它将问题分解成多个小问题,解决这些小问题,然后将它们的解决方案组合起来解决原始问题。递归(Recursion):归并排序的实现通常依赖于递归,这是一种在函数内部调用自身的方法。递归是解决某些问题(如树的遍历、排序等)的强大工具。稳定性(Stability):归并排序是一种稳定的排序算法,这意味着相等的元素在排序后保持它们原始的相对顺序。这对于某些应用场景非常重要。原创 2024-04-27 01:58:27 · 726 阅读 · 0 评论 -
C++支持函数重载的原理
C/C++编译过程是什么?为什么C++支持函数重载,而C语言不支持函数重载呢?在C/C++中,一个程序要运行起来,需要经历以下几个阶段:预处理、编译、汇编、链接。接下来逐个进行详细介绍..........原创 2024-02-04 15:06:23 · 721 阅读 · 1 评论 -
快速排序3种实现方法及优化(详细图解)
快排(Quick sort)三种的方法及优化:左右指针法,挖矿法,左右指针法;优化:三位取中以及利用数据结构栈的非递归版,详细图解原创 2024-01-17 13:35:51 · 1631 阅读 · 0 评论 -
插入排序和希尔排序(详细图解)
希尔排序是插入排序的优化排序,时间复杂度更优。希尔排序:实际是插入排序中加入gap,进行多组并排,使排序速度得到巨大提升。本文先图解直接插入排序,再重点图解希尔排序原创 2024-01-12 16:18:10 · 903 阅读 · 1 评论 -
外排序(磁盘I/O文件)(c语言)
外排序是一种处理超出内存容量的大量数据的排序算法。外排序的核心思想在于将大数据集分割成小部分,每部分单独排序后,再将这些有序的部分合并成一个大的有序文件。具体来说,外排序包括两个主要步骤:原创 2024-01-21 23:05:15 · 1069 阅读 · 2 评论 -
搞懂排序(稳定和非稳定性)
相同元素的相对位置排序完没有改变,则为稳定排序。若排序后相同元素的相对位置发生变化,则为不稳定排序。原创 2024-01-23 23:24:50 · 579 阅读 · 1 评论 -
计数排序(罕见时间复杂度O(n))
优点:时间复杂度O(n);时间复杂度快的比较罕见缺点:需要额外的空间来存储计数数组,它的空间复杂度也是O(n)。适用于:数据范围不是很大原创 2024-01-23 13:24:00 · 1085 阅读 · 1 评论 -
归并排序(递归和非递归方法)
重点图解实现归并排序的2种方法(递归和非递归版)(含全部代码);归并排序可以进一步被划分为分割和归并两个步骤。分割是将数组二等分,得到的子数组继续二等分,直到每个子数组只剩下一个元素为止。而归并则是不断将原本属于同一个数组的两个子数组归并成一个新的有序表。原创 2024-01-20 16:58:03 · 1025 阅读 · 0 评论 -
平衡二叉树及优化(细节图解)(时间复杂度O(N))
含平衡二叉树判断的思路:时间复杂度从O(N^2)优化成O(N),含细节图解,及全部代码原创 2023-12-29 21:15:28 · 1396 阅读 · 1 评论 -
二叉树和堆的构建(含全部代码,详细剖析图解)
二叉树建堆实现代码及详细图解(C语言)(建大堆,建小堆,堆插入,堆删除,堆排序,向上和向下调整算法):对数组(堆)进行剖析,分析建堆过程和向上向下调整算法,实现堆排序,堆插入,堆删除等操作,含详细剖析图解。原创 2023-12-10 21:57:50 · 1028 阅读 · 0 评论 -
二叉树递归代码及图解(c语言):(前序,中序,后续,节点与叶子个数)
二叉树遍历代码,递归详细图解(c语言):我们用链式结构创建一棵二叉树,对树的前序,中序,后序,树节点个数,叶子个数,树的高度进行递归分析,有详细的图解。原创 2023-12-08 13:11:09 · 1265 阅读 · 0 评论 -
栈和队列的基础(C语言)(全部代码,详细图解)(创建,初始化,入队,出队,入栈,出栈,获取队顶数据,注销等.....)
栈和队列(含详细图解): (创建,初始化,入栈,入队,出栈,出队,获取栈中数据个数,获取栈顶数据,注销栈等........) 原创 2023-12-21 13:29:18 · 675 阅读 · 1 评论 -
栈的基础细节(c语言)(全部代码,详细图解):入栈,出栈,获取栈中数据个数,栈顶数据等.....
栈的基础(详细的图解):(栈的创建,栈初始化,入栈,出栈,获取栈中数据个数,获取栈顶数据,注销栈....)原创 2023-12-16 16:01:22 · 1930 阅读 · 1 评论 -
顺序表的基本操作:增删改查(含全部代码,C语言实现)——数据结构线性表
数据结构学习基础---基本操作,C语言。1顺序表定义;2顺序表初始化;3检查增容;4销毁顺序表;5尾插;6尾删;7头插;8头删;9打印元素;10查找元素返回下标;11指定元素插入;12删除指定元素;完整代码原创 2023-10-29 00:58:36 · 363 阅读 · 1 评论 -
线性表单链表的基本操作:添加、插入、删除、查找(非常全面,C语言实现)
链表的创建;插入(头插、尾插);删除(头删、尾删、指点元素删除);查找元素;注销链表原创 2023-11-11 15:36:18 · 580 阅读 · 0 评论