大学IT网 - 最懂大学生的IT学习网站! QQ资料交流群:367606806
当前位置:大学IT网 > C技巧 > C语言实现的算法入门

C语言实现的算法入门

关键词:C语言算法入门  阅读(715) 赞(56)

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

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

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

算法的归类:

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

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

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

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

算法举例:

#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;

}

算法的新进展

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

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



相关评论