美文网首页
第二章 程序的灵魂-算法

第二章 程序的灵魂-算法

作者: 爱学习的小鹏友 | 来源:发表于2019-01-01 09:02 被阅读0次

数据的描述+操作的描述(data structure + algorithm)

教材说还得有  程序设计方法+语言工具和环境 

要学基本算法得看看数据结构了,学完这个我就开始玩数据结构域算法那本书。

2.1算法的概念

算术的和解决问题的。都需要数据模型的抽取和构建。

2.2 简单算法举例

求1*2*3*4*5不看书写一写

三种,直接计算、循环、递归

#include

#include

int Mul(int n)

{

    if(n==1)

        return 1;

    else

        return n*Mul(n-1);

}

// The result of1*2*3*4*5

int main()

{

    int result=1;

    int i=1;

    int mul_end=5;

    //F1

    printf("F1----The result is  %d \n",1*2*3*4*5);

    //F2

    for(i=1;i<=5;i++)

    {

        result=result*i;

    }

    printf("F2----The result is  %d \n",result);

    //F3

    result=Mul(mul_end);

    printf("F3----The result is  %d \n",result);

    return 0;

}

求50个学生成绩中大于80分的成绩输出

#include

#include

#define MAXSIZE 50

int main()

{

    //初始化学生成绩

    int student_score[MAXSIZE];

    int i=0;

    int count=0;

    for(i=0; i

    {

        student_score[i]=rand() % 100;

    }

    for(i=0; i

    {

       printf("%d\t",student_score[i]);

        if((i+1)%10==0)

        {

            printf("\n");

        }

    }

   printf("---------------------------------\n");

    for(i=0; i

    {

        if(student_score[i]>=80)

        {

           printf("%d\t",student_score[i]);

            count++;

            if((count)%5==0)

            {

                printf("\n");

            }

        }

    }

    return 0;

}

判断2000-2500中的闰年

Tips:4年一闰,百年不闰,400再闰

#include

#include

//判断2000-2500的年哪些是闰年----闰年能被4整除、不能被100整除;能被100和能被400整除

int main()

{

    int year=2000;

    for(year=2000; year<=2500; year++)

    {

       if(((year%4==0)&&(year%100!=0))||((year%100==0)&&(year%400==0)))

        {

            printf("%d\n",year);

        }

    }

    return 0;

}

求1-1/2+1/3-1/4+...-1/99+1/100    

#include

#include

int main()

{

    int sum=1;

    int i=1;

    int sigh=1;

    int temp;

    for(i=1; i<=100; i++)

    {

        temp=sigh*(1/i);

        sum=sum+temp;

        sigh=(-1)*sigh;

    }

    printf("The result is %d\n",sum);

    return 0;

}

对于一个大于或者等于3的正整数,判断它是不是一个素数(只能被1和自己整除的数)

#include

#include

#include

int main()

{

    int n;

    int i=2;

    int m;

    scanf("%d",&n);

    if(n<3)

    {

        printf("Please input a numberwhich is above three!\n");

    }

    else

    {

        m=sqrt(n);

        for(i=2; i<=m; i++)

        {

            if(n%i==0)

            {

                printf("不是素数!\n");

                break;

            }

        }

        if(i>m)

        {

            printf("是素数!\n");

        }

    }

    return 0;

}

2.3 算法的特性

有穷性,就是的能完事

确定性,每步得确定,不能天马行空

0或多个输入

1或多个输出

有效性

必须会设计算法,并根据算法写出程序,基本功啊

2.4 怎样表示一个算法

2.4.1 自然语言,估计今年能用来吹牛用,一般不用,不会实现只会说的人,呵了个呵。

2.4.2 流程图

本来想查查用啥工具画流程图好(传统的肯定是visio了),不过还有意外收获,word2010的smartart好多有意思的图形啊。

伪代码页可以表示流程图

计算机语言表示页就是代码了,不会写的时候可以先看懂代码,学会读代码,考研的题目里很大一部分就是这个。

2.5 结构化程序设计方法

自顶向下

逐步细化,不能一口吃个胖子

模块化设计

结构化编码

相关文章

  • 第二章 --程序的灵魂—算法

    一、概念性东西 二、算法特性 2.1 有穷性   一个算法应该包含有限(在合理的范围内)的步骤,而不能是无限的。 ...

  • 第二章 算法——程序的灵魂

    一个程序主要包括两方面的内容: 第一是数据结构。是对数据的描述,在程序中要指定哪些数据以及这些数据的类型和数据的组...

  • 第二章 程序的灵魂-算法

    数据的描述+操作的描述(datastructure + algorithm) 教材说还得有 程序设计方法+语言工具...

  • 程序的灵魂-算法

    数据结构只是静态的描述了数据元素之间的关系。 高效的程序需要在数据结构的基础上设计和选择算法。高效的程序包括恰当的...

  • 算法—程序的灵魂

    1.什么是算法,试从日常生活中找3个例子,描述它们的算法。 为解决一个问题而采取的方法和步骤,就是算法 2.什么叫...

  • 程序的灵魂——算法

    软件工程的思想告诉我们,软件包含两部分内容,一部分是计算机可执行的程序和相关的数据,一部分是与程序及数据有关的描述...

  • 01-什么是算法及算法的5个特征

    算法是程序的灵魂,现在火热的人工智能,算法也是核心,所以你知道算法的重要性了吧 程序=数据结构+算法+某种编程语言...

  • Github标星近4w,这应该是最全的Python学算法入门大全

    算法是程序的灵魂,每个程序员,尤其是高手程序员,对算法的掌握应该是如数家珍,必须要熟悉。算法非常枯燥,但是研究透了...

  • ​从0到1只差这20本算法书单

    瑞士著名的科学家N.Wirth教授曾提出:数据结构+算法=程序。 数据结构是程序的骨架,算法是程序的灵魂。 在我们...

  • <技巧>python模块性能测试

    算法是程序的灵魂,优秀的算法能给程序的效率带来极大的提升,而算法的优劣,往往要经过大量的测试.在硬件环境基本不变的...

网友评论

      本文标题:第二章 程序的灵魂-算法

      本文链接:https://www.haomeiwen.com/subject/oyzglqtx.html