数据结构学习笔记--第一讲

数据结构学习笔记1

由于跨专业的缘故,之前没有系统地学习过数据结构地知识,偶然在学堂在线中看到了清华大学的数据结构课程,准备踏实学习并做笔记。

第一讲

  1. 绪论
    (a)计算
    计算是这门课程的研究对象和目标,我们需要研究计算的规律和技巧从而实现高效地、低耗地运算。
    计算机科学,应该称作计算科学。计算机是工具和手段,而计算是我们最终的目的和目标。

    例子
    绳索计算机及其算法

    尺规计算机及其算法

    总结:算法
    计算 = 信息处理
    借助某种工具,遵照一定规则,以明确而机械的形式进行。
    计算模型 = 计算机 = 信息处理工具
    所谓算法,即特定计算模型下,旨在解决特定问题的指令序列

输入 待处理的信息(问题)
输出 经处理的信息(答案)
正确性 的确可以解决指定的问题
确定性 任一算法都可以描述为一个由基本操作组成的序列
可行性 每一基本操作都可实现,且在常数时间内完成
有穷性 对于任何输入,经有穷次基本操作,都可以得到输出

例子:如何把大象放进冰箱里,表面上构成了算法,但是把大象塞进冰箱里这一步骤不满足可行性这条要求。

关于有穷性的例子(个人感觉很经典):
数据结构学习笔记--第一讲

事实:程序未必就是算法
回忆:死循环或者栈溢出

本课程研究目的:如何设计、优化算法???
优劣:如何评判??

好算法数据结构学习笔记--第一讲

在数据结构这门课中,我们最看重的就是效率
算法 + 数据结构 = 程序
(算法 + 数据结构)×效率 = 计算