算法思维01:图形,有效性思想
作者:互联网
序言
- 首先介绍一下数据结构,再看算法
- 对于数据结构的介绍,每一个词都得扣,都需要思考
一.数据结构
主要就是数据之间的关系,数据与数据的交互
每个东西既然要动,那就得有依据的动--->
- 数据它本身是动不了的:要么交互位置,要么从首尾干掉了..
- 数据与数据的交互:无法就是判断咱两谁大,两个数据之间的交换--切除一些东西-判断:选择排序的思想.交换:冒泡,插入排序的思想
数据结构
- 分类:集合,线性,树形,图状
- 关键后三,都得会
- 线性也就是一对一,前驱后驱
算法介绍
- 算法是有穷的,程序的运行是无穷的,除非终结了
- 数据类型,原子类型,结构类型---类似与java的基本类型,对象---他们都是数据,所以都可以由算法,集合操作
- 时间复杂度,首先看for while 再看单个元素的变化,与目标值的公式
- 口诀:常对幂指阶
关键明白:
- 算法特性:有穷,确定,可行,输入,输出
- 好算法: 正确性,可读性,健壮性(非法),高效率,低存储
二.思想:
一.图形思想
一.1.判断
- 如果判断的元素多于两个,那么开始使用数轴
- 如果判断的涉及多余一个,那么考虑边界(内外!!!)
一.2.对于一些数,集合什么的
- 要有xy形式的图,遇到就画!!
二.有效性,无效性思想
二.1.放弃杂物,只要有用的
- 如一个数轴(0---L---R)上,求L-R的中间数,正常计算为(L+R)/2
- 而我们要放弃L左边的距离,只关注L与R的关系,,,L+(R-L)/2---达成思路清晰!
二.2.增益,负增益
-
增益指的是我们如果要求一些最大值时,我们考虑的第一个应该是增益
-
如果增益有效,继续,增益无效则放弃
- 注意要判断好前增益,后增益,前增益为负时应该放弃了,后增益完为负时,应该跳过到下一个正的
-
当然还需一个计数器
-
举例:最大子序和
标签:01,增益,---,算法,判断,数据结构,数据,有效性 来源: https://www.cnblogs.com/zjz0818/p/15368101.html