Loading

摘要: 在程序执行大数据相乘时,直接相乘的算法执行代价其实会很高,而且程序的数值类型也会受限,我们将使用分而治之的思想优化这个算法。 阅读全文
posted @ 2020-11-17 23:03 Masahiko 阅读(484) 评论(1) 推荐(1)
摘要: 希尔排序是冲破二次时间屏障 的第一批算法之一,实现过程是是通过比较相隔较远距离(称为增量)的数,使得数移动时能跨过多个元素,则进行一次比较就可能消除多个元素交换。那些增量组成的序列就成为增量序列,不同的增量序列会对希尔排序的时间复杂度产生影响,在根本上希尔排序是属于插入类排序。 图示: C语言代码: 阅读全文
posted @ 2020-09-26 16:38 Masahiko 阅读(1334) 评论(0) 推荐(0)
摘要: 归并排序: 归并排序思路是使用分治策略,递归将一组序列划分成若干小序列进行排序,再将小序列重新结合得到这组序列的顺序。 图示思路 代码 typedef int ElemType; void Msort(ElemType A[], ElemType TmpArray[], int Left, int 阅读全文
posted @ 2020-09-20 13:59 Masahiko 阅读(166) 评论(0) 推荐(0)
摘要: 插入排序: 插入排序是最简单的算法之一,实现方法是序列中从第二个数开始之后的的每个数都和它前面的所有数作比较并排好序,所以插入排序为O(N2),是一个精确的界。 图画演示插入排序的基本思想: C语言实现代码: (算法代码接受一个含有元素的数组和一个包含元素个数的整数) void InsertionS 阅读全文
posted @ 2020-07-16 22:53 Masahiko 阅读(210) 评论(0) 推荐(0)