算法起源
算法的英文单词是algorithm,来自数学领域。从小学课本上的高斯算法(等差数列)的来源:1+100 的和
当时最笨的是1+2+3+4…+100 =? 直接计算的,小高斯是首尾相加都相等
算法应用的领域
1.运算
大数的加减乘除(以防溢出)公约数等等。。
2.查找
搜索引擎或者数据库查找某一条记录,是如何过滤和查找出来的呢
3.排序
电商商品的筛选排序价格款式啊,成绩排名等等
4.最优决策
地图导航的最短路线,寻路算法等
5.面试了
程序员的核心技能
6.数据结构
数据结构是算法的基石,数据结构对应的单词是data structure,是数据的组织、管理和存储格式,其实用的目的是为了高效的访问和修改数据
1.线性结构:线性结构是最简单的数据结构,包括数组,链表,以及由他们衍生出来的栈,队列,哈希表
2.树:树是相对复杂的数据结构,其中代表的有二叉树,由他又衍生出了二叉堆之类的数据结构
3.图:图是更为复杂的数据机构,因为在图中会呈现出多对多的关联关系
4.其他特殊数据结构:他们是由以上三种基本数据类型变形出来的。用于解决某些特定问题,例如:跳表,哈希链表,位图等。
有了数据结构,算法才能变成丰富多彩的形态。