码迷,mamicode.com
首页 > 其他好文 > 详细

数据-第1课-进阶高手的大门

时间:2018-10-31 20:13:43      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:关闭   优秀   打开   计算   ret   读数   最小值   +=   span   

第1课-进阶高手的大门

 

  1. 理解程序的本质

程序是为了实际的问题而存在从本质上而言,程序是解决问题的步骤描述。

问题:

怎样把大象放冰箱?

(1)打开冰箱门 2把大象放进去 3关上冰箱门

Elephan* e = getElep();

int f = open(fridge);

put(f, e);

close(f

 

  1. 首先理解实际问题

(1) 确认问题类型。

如:数值计算,求最小值个数。

(2) 确认求解的步骤。

如:打开文件,读数据,关闭文件,计算和。

 

我们看一个求前n项和的程序:

#include <stdio.h>

#include <malloc.h>

long sum1(int n)

{

    long ret = 0;

    int* array = (int*)malloc(n * sizeof(int));

    int i = 0;

    for(i=0; i<n; i++)

    {

        array[i] = i + 1;

    }  

    for(i=0; i<n; i++)

    {

        ret += array[i];

    }

    free(array);

    return ret;

}

long sum2(int n)

{

    long ret = 0;

    int i = 0;

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

    {

        ret += i;

    }

    return ret;

}

long sum3(int n)

{

    long ret = 0;

    if( n > 0 )

    {

        ret = (1 + n) * n / 2;

    }    

    return ret;

}

int main()

{

    printf("%d\n", sum1(100));   //5050

    printf("%d\n", sum2(100));   //5050

    printf("%d\n", sum3(100));   //5050

    return 0;

}

 

  1. 程序评鉴

(1) 用尽量少的内存空间解决问题

(2) 用尽量少的步骤解决

优秀的开发者需要追求代码的高“性价比”!

 

小结:

(1) 程序是为了具体问题而存的。

(2) 程序需要围绕问题的解决进行。

(3) 同一个问题可以有多种解决。

 

 

 

 

 

 

 

 

 

 

 

 

数据-第1课-进阶高手的大门

标签:关闭   优秀   打开   计算   ret   读数   最小值   +=   span   

原文地址:https://www.cnblogs.com/free-1122/p/9884909.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!