数据结构——数据结构的起源和研究内容

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,数据结构课程主要研究非数值计算问题;

posted @ 2019-05-24 22:02  子宇24  阅读(983)  评论(0编辑  收藏  举报