数据结构与算法-序章

  数据结构可以算是计算机中最为重要的一门课程,也是考研必考的一科目,一个大型的操作系统(ucos、linux等)必然会大量地应用到各种数据结构;数据结构做了两件事情:一是对数据的抽象(就是以何种方式组织数据),二、数据组织好了,那么下一步就是以何种步骤方式去操作,以达到最优速度效果,那这部分就是算法,弄懂数据结构中所涉及的算法原理是学习算法的第一步(理解还不够,必须滚瓜烂熟,将这种理性思维固化在你脑子里,效果更加);基础弄好了,再去研究诸如算法导论等大神作品。

*要彻底理解数据结构需要实际体验:理解硬件(硬盘与内存的工作原理),并利用编程语言(汇编、C语言)去操作一些基本实现;
*学习数据结构要有较好的抽象能力、推算以及想象能力;
*尽可能地学习算法,而不是创造算法,一个稳定的算法是通过许多牛人经过很长时间而被发明的;
*先从宏观上理解算法,从应用理解入手,再从实际例子推敲内在的精密逻辑;
1、一半的算法靠递归实现;
2、非线性结构:树、图、链表;
3、程序员都必须经历的过程:大致看懂->亲手敲->背下来->自己琢磨->消化理解;
4、数据结构就是数据的储存和操作;
  *个体的储存;
  *个体关系的储存;
5、硬件内存是连续固定,数据结构就是将现实中复杂多变的数据按照一定规定和规律储存;
6、算法的泛型:
  *狭义的算法与数据的储存密切相关;
  *广义的算法与数据的储存关系无关;
  *对于同一种逻辑结构(树、图);无论是该逻辑结构物理储存是什么样子的;利用一种技术(如C++的运算符重载,模板)我们可以对它执行同样的操作(例如用数组、链表都可以作为实现树的方法就是称之为泛型);(举例子 C++的运算符重载,内部操作不一致,,但给出的接口一致;)
7、规约法、回溯法、递归法是算法领域中最重要的三种思路;
8、算法就是针对动态变化而产生解决方案;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值