1.什么是算法:
1,必须有输入:一个算法必须有零个或以上输入量。
2,必须有输出:输出是算法计算的结果,没有结果谈什么算法?
3,必须有明确目的:算法的描述不能存在歧义,要保证算法的执行结果满足要求,通常要求算法的执行结果是确定的。
4,有限性:算个千八百年还算啥呀?而一些定义更规定算法必须在有限个步骤内完成任务。
5,必须有效可行:能够实现的,算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现。
以上五点缺一不可为算法。
2.算法分为五大类:
1,分治法:把一个问题分区成互相独立的多个部分分别求解的思路。这种求解思路带来的好处之一是便于进行并行计算。
2,贪婪法:常见的近似求解思路。当问题的整体最优解不是(或无法证明是)由局部最优解组成,且对解的最优性没有要求的时候,可以采用的一种方法。
3,动态规划法:当问题的整体最优解就是由局部最优解组成的时候,经常采用的一种方法。
4,线性规划法
5,简冰法
3.数据结构
顾名思义,就是数据的结构。
什么是结构?就是把一个整体拆分为多个支体,多个分支能组成一个整体,比如人的结构>>>内脏,骨骼,皮肤,肉等等,然后还能细分。
什么是数据?可以是一个数字,它也可以是一堆的杂志、一大叠的报纸、数种的开会记录或是整本病人的病历纪录也就是我们通过观察、实验或计算得出的结果。数据可以用于科学研究、设计、查证等。
数据结构是干嘛用的?我们要解决一个跟数据相关的问题,要分析这个问题,想出对应的数据结构,分析数据结构,想出算法。数据结构和算法是互相依存、不可分开的。
网友评论