查找和排序算法
文章平均质量分 66
四川兔兔
红尘走一遭,还是此处风景独好
展开
-
归并排序教学——你学会了吗?
每天一个小算法,学废了吗?归并算法的基础讲解,代码分析,复杂度分析。原创 2022-02-09 18:26:45 · 432 阅读 · 0 评论 -
堆排序——详细教学
堆排序,基础排序算法中复杂的一位老表,这里讲解了堆排序的原理,代码实现和模拟运行,最后的复杂度分析。原创 2022-02-08 00:12:48 · 1913 阅读 · 0 评论 -
快速排序——高手登场
什么?你工作被问不会写快排?嘘!悄悄地,去找一下快排敲进电脑,别被笑话了哦!这个算法被列为20世纪十大算法之一。如果说,希尔算法直接插入排序的升级,他们属于同一类,堆排序相当于简单排序的升级,他们属于同一类。而快速排序其实就是最慢的冒泡排序升级,它们都属于交换排序类。快速排序的基本思想;通过每一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,已达到整个序列有序的目的。从字面上我们感觉不出它的好处。假设现在要对数组{50,1原创 2022-02-01 01:03:07 · 1123 阅读 · 0 评论 -
简单选择排序
冒泡排序的思想就是不断地交换,通过交换完成最终排序。我们可不可以像只有在时机非常明确到来时才出手,也就是排序找到合适的关键字在做交换,并且只移动一次就完成相应的排序定位工作?这就是选择排序的基本思想。选择排序是每一趟在 n - i + 1(i = 1,...,n-1)个记录中选取关键字最小的记录作为有序序列的第 i 个记录。代码:简单的选择排序法(Simple Selection Sort)就是通过 n-i 次关键字之间的比较,从 n-i+1个记录中选出关键字最小的记录,并和第 i 个记录交换。原创 2022-01-31 21:44:02 · 447 阅读 · 0 评论 -
冒泡排序正宗版和优化版
首先我们来看看正宗的冒泡排序,实际上就是有缺点的金典冒泡。 void BubbleSort(SqList *L) { int i,j; for(i = 1;i<L->length;i++) { for(j = L->length-1;j>=i;j--) { // 注意:j是从后往前循环 if(L->r[j] > L->[j+1]) { swap(L,j,j+1); // 交换L->r[j] 和 L->r[j+1]原创 2022-01-31 21:11:28 · 359 阅读 · 0 评论 -
希尔排序原理和算法图解
希尔算法的认识,原理,代码图解原创 2022-01-31 00:55:22 · 1389 阅读 · 0 评论 -
插入排序C语言板
直接插入排序的基本操作是将一个记录插入到已经排好序的有序表中,从而得到一个新的,记录数增1的有序表。顾名思义,从名称上也可以知道它是一种插入排序的方法。我们来直接插入排序方法的代码。 void InsertSort(SqList *L) { int i,j; for (int i = 2; i <= L->length; i++) { if (L->r[i]<L->r[i-1]) { // 需要把L->r[i] 插入有序子表 L->r[0原创 2022-01-30 16:21:50 · 1150 阅读 · 0 评论 -
哈希表又名离散表查找
哈希表又名离散表查找,这里讲解了哈希表的定义,创建原则,冲突处理,代码实现原创 2022-01-29 23:27:37 · 380 阅读 · 0 评论 -
顺序查找和折半查找
顺序查找和折半查找very简单嘛!详细教学,二分查找的优缺点,实现过程图解。学会了扣1,没学会就扣脑壳吧。原创 2022-01-27 18:02:31 · 2318 阅读 · 0 评论