龙潭书斋 -- 404




200x200


概述快速排序算是最常用的排序算法了,过程有些复杂,不过只要记住这个排序算法的思路是:每次循环结束的时候,基准元素左侧的所有元素值都小于他,右侧的所有元素值都大于他,之后对左右两个子序列分别进行递归,这

#读书笔记    #技术帖    #算法    #算法导论   

200x200


引言在程序设计中,堆是一种非常重要但并不是特别常用的一种数据结构堆数据结构通常用在优先级队列等排序的场景中,由于其结构的特性,在寻找最大/最小值的算法场景中,使用堆数据结构可以有效降低程序的时间复杂度

#读书笔记    #技术帖    #算法    #算法导论   

200x200


概述程序设计算法中有一个很常用的策略,那就是分治策略 分治策略一般递归的执行三个步骤:分解问题解决问题合并结果 合并排序就是典型的分治策略下的排序算法,有两种实现方式,分别是自顶向

#读书笔记    #技术帖    #算法    #算法导论   
概述与插入排序极其类似的还有选择排序,每次选择未排序队列中的最小元素放到未排序队列的开头并将已排序队列元素数加一 代码#include <stdio.h> int choose_sort(int *array, int n) { if (array == NULL) { printf ("sort element error\n"); return -1; } int i, j; for (i=0; i<n; ++i) { int min = array[i], minpos = i; for (j=i+1; j<n; ++j) { if (array[j] < min) { min = array[j]; minpos = j; } } array[minpos] = array[i]; array[i] = min; } return 0; } int main () { int i, n=10; int array[10]; printf ("Please input 10 numbers:\n"); for (i=0; i!=n; ++i) scanf ("%d", &a
#读书笔记    #技术帖    #算法    #算法导论   



京ICP备15018585号