- 博客(3)
- 收藏
- 关注
原创 排序算法之归并排序
要想深刻理解归并排序我们首先介绍一下分治法:但解决问题时,首先将问题分解成若干个规模较小的与原问题类似的子问题;然后递归地求解各个子问题;(当问题足够小时,直接求解)最后我们要合并这些分解而来的子问题(注意这是一个与原问题不同的合并操作);归并排序完全遵循了分治模式:首先要想将包含n各元素的数组排序,我们分解问题为将两个各具有n/2各元素的数组排序;然后递归地对这两个数组进
2017-06-04 18:16:02 251
原创 排序算法之冒泡排序
冒泡排序是一种流行但低效的排序算法,它的原理是反复交换未按次序排序的元素,可以做下了解不过真的没什么价值。代码如下:void BubbleSort(int* arr, int len) { for (int i = 0; i < len; i++) { for (int j = len - 1; j > i ; j--) { if (arr[j] < arr[j - 1]) {
2017-06-04 15:21:57 221
原创 排序算法之插入排序
排序算法是算法导论一书中首先介绍的内容,由它引出了如何证明算法是正确的(循环不变式),也引出了算法复杂度的计算。对插入排序而言,它的工作方式就像我们在打牌时排序一手扑克牌一样。我们每次摸到一张牌后都会把这张牌与我们手里的牌进行对比,然后将它放在正确的位置。我们以这样一组数{31,41,59,26,41,58}为例(算法导论书中的课后题 ),来说明插入排序具体的执行过程。
2017-06-02 15:53:02 270
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人