zoukankan      html  css  js  c++  java
  • 第一课、进阶高手的大门--------------------狄泰软件学院

    一、进阶高手的大门

    1、理解程序的本质

    (1)、程序是为了解决实际问题而存在的

    (2)、从本质上上而言,程序是解决问题步骤的描述

    2、一小步的进阶:理解实际问题

    (1)、确认问题类型:如:数值计算,求最小值个数

    (2)、确认求解步骤:如:打开文件,读数据,关闭文件,计算和

    3、程序评鉴初探(同一个问题有多个解决方案

    (1)、用尽量少的时间解决问题

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

    (3)、用尽量少的内存解决问题

    long sum1(int n)
    {
        long ret = 0;
        int* array = new int[n];
        
        for(int i=0; i<n; i++)
        {
            array[i] = i + 1;
        }
        
        for(int i=0; i<n; i++)
        {
            ret += array[i];
        }
        
        delete[] array;
        
        return ret;
    }
    
    long sum2(int n)
    {
        long ret = 0;
        
        for(int 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;
    }
    程序的好坏

    4、数据结构课程研究的范围

    (1)、非数值计算类型(不是数据的科学计算问题的程序问题

    (2)、数据间的组织和操作方式

    (3)、数据的逻辑结构和存储结构

    5、历史上的经典公式

    (1)、程序=数据结构+算法

    注意:对于数据结构和算法的研究,思想重要, 语言重要

    二、小结

    (1)、程序是为了解决实际问题而存在的

    (2)、针对同一个问题可以有多种解决方案

    (3)、专业程序员应该尽量追求高质量的程序

    (4)、数据结构课程主要研究的是非数值计算问题

  • 相关阅读:
    LeetCode --- Climbing Stairs
    LeetCode --- Best Time to Buy and Sell Stock II
    LeedCode --- Best Time to Buy and Sell Stock
    git命令总结
    LeetCode --- Jump Game II
    Hdu 4497
    数据库lib7第4题创建存储过程
    Hdu 4496
    Hdu 4493
    快速排序
  • 原文地址:https://www.cnblogs.com/gui-lin/p/6588099.html
Copyright © 2011-2022 走看看