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++ 异常处理技术;
原文地址:https://www.cnblogs.com/dishengAndziyu/p/10920410.html