算法

本文深入浅出地介绍了算法的基本概念,包括时间复杂度与空间复杂度,并探讨了排序算法的稳定性及内外排序的区别。
一、概述
      语言只是工具,算法才是程序设计的灵魂。
      算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,
      算法代表着用系统的方法描述解决问题的策略机制。
      对于同一个问题的解决,可能会存在着不同的算法,为了衡量一个算法的优劣,
      提出了**空间复杂度**与**时间复杂度**这两个概念。
    算法类型:
     1:查找算法
     2:排序算法
     3:其它算法
      
   1:时间复杂度
         一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数f(n),
         算法的时间度量记为 ** T(n) = O(f(n)) **,它表示随问题规模n的增大,
         算法执行时间的增长率和f(n)的增长率相同,称作算法的渐近时间复杂度,简称时间复杂度。
         这里需要重点理解这个增长率。
       
   2:空间复杂度
        空间复杂度是对一个算法在运行过程中临时占用存储空间大小的量度,记做S(n)=O(f(n))。
        一个算法的优劣主要从算法的执行时间和所需要占用的存储空间两个方面衡量。

   3:排序算法的稳定性:
      稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面
      不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面;

   4:外排序和内排序:
      内排:数据量一般,可以在内存中进行排序;
      外排:如果数据过大,则需要借助外设磁盘进行数据的存储交换;

https://www.cnblogs.com/onepixel/articles/7674659.html

github demo: https://github.com/Praxiology/2018

参考:https://www.cnblogs.com/onepixel/articles/7674659.html

转载于:https://my.oschina.net/craftsdream/blog/1628706

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值