zoukankan      html  css  js  c++  java
  • 数据结构——数据结构的起源和研究内容

    1,本文论述数据结构的起源和数据结构研究内容;

    2,高手往往能够看到初学者看不到的问题;

    3,为什么有程序存在:

     

           1,程序是为了解决实际问题而存在的;

           2,从本质上讲,程序是解决问题的步骤描述(有了这些步骤,计算机照做就可以了);

          

    4,理解实际问题:

           1,确认问题类型:

                  1,如:数值计算,求最小值个数,排序等;

                  2,客户想要什么?

           2,确认求解步骤:

                  1,打开文件,读数据,关闭文件,计算和;

                 

    5,如何判断问题求解步骤好坏?

           1,时间少、步骤少、内存少;

      2,判断求解步骤的好坏:

     1 #include <iostream>
     2 
     3 using namespace std;
     4 
     5 long sum1(int n)
     6 {
     7     long ret = 0;
     8     int* array = new int[n];
     9     
    10     for(int i=0; i<n; i++)
    11     {
    12         array[i] = i + 1;
    13     }
    14     
    15     for(int i=0; i<n; i++)
    16     {
    17         ret += array[i];
    18     }
    19     
    20     delete[] array;
    21     
    22     return ret;
    23 }
    24 
    25 long sum2(int n)
    26 {
    27     long ret = 0;
    28     
    29     for(int i=1; i<=n; i++)
    30     {
    31         ret += i;
    32     }
    33     
    34     return ret;
    35 }
    36 
    37 long sum3(int n)
    38 {
    39     long ret = 0;
    40     
    41     if( n > 0 )
    42     {
    43         ret = (1 + n) * n / 2;
    44     }
    45     
    46     return ret;
    47 }
    48 
    49 int main()
    50 {
    51     cout << "sum1(100) = " << sum1(100) << endl;
    52     cout << "sum2(100) = " << sum2(100) << endl;
    53     cout << "sum3(100) = " << sum3(100) << endl;
    54     
    55     return 0;
    56 }

    6,程序评鉴初探:

      1,用尽量少的时间,决绝问题;

      2,用尽量少的步骤,解决问题;

      3,用尽量少的内存,解决问题;

          

    7,《数据结构》课程是入门级,《计算机程序设计艺术》是大神级的;

     

    9,数据结构课程研究范围:

           1,非数值计算类型的程序问题;

                  1,不研究科学问题;

           2,数据间的组织和操作方式;

           3,数据的逻辑结构和存储结构;

    10,经典公式:

           1,程序 = 数据结构 + 算法;(面向过程的设计思想时候成立)

           2,目前这门课这个公式依旧成立;

          

    11,语言重要,思想也重要;

           数据结构和算法中语言不重要,重要的是思想;

    12,小结:

      1,程序是为了解决实际问题而存在的;

      2,针对同一个问题可以有多种解决方案;

      3,专业程序员应该尽量追求高质量的程序;

      4,数据结构课程主要研究非数值计算问题;

  • 相关阅读:
    Saiku相关异常处理(十五)
    Saiku登录源码追踪.(十三)
    Saiku调用WS接口(十四)
    Saiku本地编译运行后Debug调试(十二)
    Windows查看Java内存使用情况
    Saiku免登录嵌入其他系统使用(十一)
    Saiku更改源代码实现默认查询一天的数据(十)
    Saiku关于MDX过滤的使用-默认显示最近一周的数据(九)
    Saiku部分函数解析(八)
    Saiku缓存处理(七)
  • 原文地址:https://www.cnblogs.com/dishengAndziyu/p/10920437.html
Copyright © 2011-2022 走看看