C 实现的算法篇

算法的定义:算法是解决实际问题的一种精确的描述方法,目前,广泛认同的定义是:算法的模型分析的一组可行的确定的和有穷的规则

算法的五个特性:有穷性,确切性,输入,输出,可行性。目前算法的可执行的步骤非常广泛,常见的算法包括递归,推进,穷举,贪婪,动态化规,和迭代

算法的归类:

按照算法的应用领域,算法可以分为:基本算法,数据结构相关的算法,几何算法,图论算法,规划算法,加密算法,解密算法,排序算法,查找算法,并行算法,和数论算法

按照算法结果的确信性分析,算法可以分为确定性算法和非确定性算法

确定性算法:在有限的时间得到唯一的结果,且经常取决于输入值

非确定性算法:在有限的时间完成计算,得到的结果往往是不唯一的

 

算法举例:

 

#include<stdio.h> #include<stdlib.h> #include<time.h>



#define N 20



int main() { int arr[N],x,n,i; int f = -1; srand(time(NULL)); for(i = 0;i<N;i++) { arr[i] = rand()/1000; } printf("please input the number you want to search:\n"); scanf("%d",&x); for(i = 0;i<N;i++) { if(x == arr[i]) { f =i; break; } } printf("\narr[N]=\n"); for(i = 0;i<N;i++) { printf("%d\t",arr[i]); if((i+1)%4==0) printf("\n"); } printf("\n"); if(f<0) { printf("not found!"); } else { printf("shuju:%d is located in %d \n",x,f+1); } system("pause"); return 0; } 

算法的新进展

并行算法:化分法,平衡树法,倍增法,指针跳跃法都是常用的算法

遗传和进化算法:目前在组合优化,机器学习,信号处理,自适应控制等方面得到广泛的应用

 

版权所有,转载请注明链接地址:http://www.cnblogs.com/fengdashen/p/3443350.html

 

你可能感兴趣的:(算法)