数据结构学习笔记--第一讲
数据结构学习笔记1
由于跨专业的缘故,之前没有系统地学习过数据结构地知识,偶然在学堂在线中看到了清华大学的数据结构课程,准备踏实学习并做笔记。
第一讲
-
绪论
(a)计算
计算是这门课程的研究对象和目标,我们需要研究计算的规律和技巧从而实现高效地、低耗地运算。
计算机科学,应该称作计算科学。计算机是工具和手段,而计算是我们最终的目的和目标。例子
绳索计算机及其算法尺规计算机及其算法
总结:算法
计算 = 信息处理
借助某种工具,遵照一定规则,以明确而机械的形式进行。
计算模型 = 计算机 = 信息处理工具
所谓算法,即特定计算模型下,旨在解决特定问题的指令序列
输入 | 待处理的信息(问题) |
---|---|
输出 | 经处理的信息(答案) |
正确性 | 的确可以解决指定的问题 |
确定性 | 任一算法都可以描述为一个由基本操作组成的序列 |
可行性 | 每一基本操作都可实现,且在常数时间内完成 |
有穷性 | 对于任何输入,经有穷次基本操作,都可以得到输出 |
例子:如何把大象放进冰箱里,表面上构成了算法,但是把大象塞进冰箱里这一步骤不满足可行性这条要求。
关于有穷性的例子(个人感觉很经典):
事实:程序未必就是算法
回忆:死循环或者栈溢出
本课程研究目的:如何设计、优化算法???
优劣:如何评判??
好算法
在数据结构这门课中,我们最看重的就是效率
算法 + 数据结构 = 程序
(算法 + 数据结构)×效率 = 计算