- 博客(13)
- 收藏
- 关注
原创 数据结构·排序算法大比拼
本文详细对比了冒泡排序、简单选择排序、直接插入排序、希尔排序、堆排序、归并排序、快速排序的时间与空间复杂度和稳定性,并对适用的具体环境进行分析。
2024-10-06 00:35:48
1207
原创 数据结构·归并排序
归并排序(Merge Sort)是一种高效的、采用分治法(Divide and Conquer)策略的排序算法。它的基本思想是将一个大问题分解成多个小问题,分别解决这些小问题,然后再将这些小问题的解合并成大问题的解。本文详细介绍了分治法的思想,和归并排序递归版本与非递归版本的的思想,并对其思想进行具体实现。
2024-10-05 15:39:25
1119
原创 数据结构·选择排序(选择排序、堆排序)
选择排序和堆排序是两种经典的排序算法。选择排序通过多次遍历数组,每次从未排序部分选出最小(或最大)元素并将其放到已排序部分的末尾。堆排序则利用二叉堆的特性,首先将数组构建成最大堆,然后通过不断交换堆顶元素与最后一个元素并重新调整堆,实现排序。这两种算法各有优劣,适用于不同的场景。本文详细介绍了选择排序的核心思想、堆排序的构造大根堆或小根堆的思想并对如何进行升降序排列详细论述。对选择排序和堆排序实现详细的代码。
2024-10-04 15:59:42
1018
1
原创 数据结构·交换排序(冒泡排序、快速排序)
本文详细介绍了两种经典的交换排序算法:冒泡排序和快速排序。首先,文章解释了冒泡排序的核心思想和实现步骤,通过相邻元素的比较和交换,逐步将较大的元素移动到数组的末尾。接着,文章深入探讨了快速排序的多种实现方法,包括霍尔法、前后指针法、三路划分法和非递归版本,每种方法都有其特定的适用场景和优缺点。
2024-09-27 20:11:03
1172
原创 数据结构·插入排序(直接插入排序、希尔排序)
直接插入排序与希尔排序都是基于插入排序的思想,区别在于适用的数据规模不同,直接插入排序在进行小规模的排序时效率非常高相反希尔排序适用于大规模数据排序。本文详细介绍了插入排序的思想,直接插入排序的实现思路与详细的代码。详细分析了希尔排序的实现思路,以及不同增量值下不同的影响。
2024-09-27 20:02:16
748
原创 Linux·gdb用法详解
gdb(GNU Debugger)是一个强大的调试工具,广泛用于调试 C、C++、Fortran 和其他编程语言的程序。gdb 支持多种调试功能,包括断点、单步执行、变量查看、内存操作和多线程调试等。通过合理使用这些功能,可以有效地定位和解决程序中的错误。本文详细介绍了release版本与debug版本的区别,gdb调试过程中的各种命令。
2024-09-07 20:34:37
2928
1
原创 C++·初步认识(命名空间)
定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。命名空间可定义变量、函数、类型命名空间可以嵌套//变量//函数//类型int val;//嵌套int b = 0;int val;
2023-11-02 18:53:36
109
1
原创 C语言·自定义类型之结构体与位段
结构体类型的声明,结构的自引用,结构体变量的定义和初始化,结构体内存对齐,结构体传参,结构体实现位段的能力,位段的实际应用与不可跨平台性。
2023-03-24 15:23:37
385
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人