zoukankan      html  css  js  c++  java
  • 数据结构——学习数据结构的意义

    1,为什么要学习数据结构?

           1,语言学习结束之后是否有能力进行项目开发?

                  1,不能,要学习数据结构;

           2,当面对一个问题的时候如何思考解决方案?

                  1,多练习;

                  2,通过学习数据结构这门课程进一步训练;

           3,如何判断代码效率的高低好坏?

                  1,数据结构里面的准则;

           4,怎样才能提高自己的编程能力?

                  1,多练习、多思考;

                  2,通过学习数据结构来练习提高数据编程能力;

                 

    2,学习数据结构意义:

           1,培养专业的程序设计思维;

                  1,语言只会越来越简单、越来越多的人会掌握一门语言;

                  2,语言只是工具,必须练习程序设计思维;

           2,训练使用程序语言描述解决方案的能力;

           3,计算机专业的基础课程;

           4,算法分析专业先修课程;

          

    3,数据结构和算法的关系:

           1,数据结构重点是研究如何组织数据之间的关系,算法是解决问题的方法,但是算法是在一定的数据结构基础上完成的;

       2,首先设计好的数据结构,在此基础上再设计好的、有效的、简洁的算法;

       3,数据结构和算法分开了,然后在数据结构中也有简单的入门级别的算法,只有算法的存在才能凸显数据结构的意义;

       4,只要数据结构学好了,算法分析与设计也是水到渠成的事情了;

      

    4,现代程序设计语言开发包中都有数据结构和常用算法的完整实现,是不是掌握如何使用就可以了?

           1,知其然,知其所以然;

                  1,排序的时候,如何选择排序算法?

                         1,冒泡排序、堆排序等如何选择;

                         2,要保证程序实现的方式是最好的,不能随便选;

                  2,单链表就够用了,为什么还要双向链表?

                         1,单链表、双链表、循环链表选择哪一个?

                  3,最短路径算法很有名,为什么很少在项目中使用?

                         1,没到这个层次,所以用不到这个算法;

                         2,有些东西不是没用,是你自己不知道怎么用;

                  4,递归自己调用自己,有什么用?

                         1,回溯,采用递归实现;

           2,合格的程序员要在关键的时候知道究竟使用什么样的数据结构,究竟使用哪一个算法?

          

    5,要解决问题,就要解决数据,就要组织数据,就可以设置算法。

    6,专业程序员培养路线(国内外计算机学校学习路线):

    1,语言学习(C/C++);

           2,语言应用(小型程序设计);

           3,编程思想训练(数据结构/算法)以及框架学习(MFC/Qt);

           4,操作系统学习(原理/系统编程);

           5,大型程序设计(项目训练);

         

    7,数据结构基础功底在职场竞争中的作用:

           1,对于职场新人:

                  1,大型软件企业招聘必考数据结构;

           2,对于职场老鸟:

                  1,提出并实现解决问题的关键方案是价值的体现;

                  2,关键时刻解决问题的思路,还可以自己实现思路;

                 

    8,本数据结构博文目标:

           1,创建可复用的数据结构软件库;

           2,分析并优化 C++ 课程中创建的实用类;

          

    9,使用的技术:

           1,C++ 面向对象技术;

           2,C++ 模板技术;

           3,C++ 异常处理技术;

  • 相关阅读:
    Java中字符串的学习(四)基本数据类型包装类的学习与使用
    Java中字符串的学习(三)StringBuffer与StringBuilder
    Java中字符串的学习(二)String类的小练习
    Java中字符串的学习(一)String类的概述及常见方法使用
    ios开发之解决重用TableViewCell导致的界面错乱的问题
    SpringBoot+Redis形成数据 缓存
    SpringBoot logback slf4j 的理解和使用
    Sring IOC的用途和理解
    SpringBoot AOP 理解和用途
    centos 安装遇到的问题
  • 原文地址:https://www.cnblogs.com/dishengAndziyu/p/10920410.html
Copyright © 2011-2022 走看看