下个学期要上数据结构,准备寒假自己先学习一点点,因为没有什么反馈输出是很好的反刍方式,所以以日志的形式写下一些笔记。(如果有错误,还请不吝告知,谢谢~:)
学习视频是网上搜到的小甲鱼的视频教程
1.什么是数据结构
程序设计 = 数据结构 + 算法
数据结构包括逻辑结构和物理结构
逻辑结构包括集合结构、线性结构(1对1)、树形结构(1对多)、图形结构(多对多)
数据元素的储存形式:顺序存储结构和链式存储结构(指针,内存更多)
2.算法
(1)1+2+3+4+...+99+100+...+n
高斯公式 :(1+n)*n/2
个人目前对算法的理解是指能解决问题的更快捷的方法
与普通算法相比,高斯算法下的计算再运行更高位数字的连加时,花费的时间更少。
算法具有五个特征:
输入、输出、有穷性、确定性、可行性。
输入:无输入或者多个输入
输出:一个或者多个输出
有穷性:有穷时间有穷步
确定性:不二义,任何条件下只有唯一一条执行路径
可行性:算法可以实现
一个好的算法:
正确性、可读性、健壮性、效率与低存储量需求
正确性:包括至少对输入、输出和加工处理等的明确无歧义性的描述。正确有四个层次:a.无语法错误。b.输入几组数据能得到 满足规格说明要求的结果。c.对于典型和刁难性的输入数据都能产生满足规格说明要求的结果。d.对于一切合法输入数 据都能产生满足规格说明要求的结果。
可读性:对人来说良好可读
健壮性:非法数据亦可处理
效率与低储存量需求:效率指算法执行的时间,尽可能有效率,尽可能低储存。
网友评论