首页 > 编程语言 > 详细

2算法的简介

时间:2020-02-26 17:24:44      阅读:64      评论:0      收藏:0      [点我收藏+]

  主要学习的算法有:

    

查找和排序:

       折半查找

       排序:             

                     冒泡

                     插入

                     选择

                     快速排序

                     归并排序

算法的书籍有:

      严蔚敏的书,用伪算法的方式讲解了常见优秀的算法的原理

      高一凡的书,用C和C++把严蔚敏讲的算法给实现了

算法的概念

    我们已经把事物保存到内存中了,接下去我们为实现某个功能对事物进行一些操作,这些操作叫算法

算法分广义算法和狭义算法

 

                     广义角度的算法:算法和存储的方式没有关系(泛型)

                     狭义角度的算法:事物使用不同的存储方式,实现同个操作,使用的算法                      不一样,我们讨论的是狭义的算法

                     我们讨论的算法,依赖于存储结构,依赖于事物的存储方式

 

 

  例如同样是查找某个元素 

         查找数组某个元素的算法   和   查号树某个元素的算法      完全不一样

衡量算法的标准

    一个算法怎么样,主要评价它的健壮性,难易程度,时间复杂度和空间复杂度

1. 时间复杂度(主)
程序大概要执行的次数,而非执行的时间
时间复杂度不是按时间算的,因为不同机器执行的快慢不同
时间复杂度计算的是程序执行的次数,主要计算循环
主要看最复杂的那一步执行了多少次
2. 空间复杂度
算法执行过程中大概所占用的最大的内存
如果空间复杂度过大,那么这个算法就要占用很大的内存
3. 难易程度
算法是否难以理解?

4. 健壮性
算法是否能应对一切情况,输入非法值,算法会不会挂?

 

平时研究主要考虑时间复杂度和空间复杂度,在公司工作主要考虑难易程度

2算法的简介

原文:https://www.cnblogs.com/chrr/p/12367872.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!