算法-绪论

算法:
	完成一个任务的具体步骤和方法
	解决问题的一种方法或一个过程
	有穷指令、无二义性等等
	任务:
		对各类具体问题设计良好的算法及研究设计算法的规律和方法。	
			
常用的算法有:
	穷举搜索法、递归法、回溯法、贪心法、分治法、分支限界法等。

 后续更新:
 	递归与分治策略、动态规划、贪心算法、回溯法、分支限界法
 	LeetCode/算法(java)

  DB和OS中的算法:
	搜索算法:深度搜索、广度搜索、最短路径、查找树
	排序算法:插入排序、快速排序、希尔排序、归并排序、堆排序、基数排序、外排序
	先来先服务、短时间优先、时间片轮转调度、页面置换等等
	
性质:
	输入:有0个或多个外部提供的量作为算法的输入。
	输出:算法产生至少一个量作为输出。
	确定性:组成算法的每条指令是清晰,无歧义的。
	有限性:算法中每条指令的执行次数是有限的,执行每条指令的时间也是有限的。
	可行性:一个算法是能行的。
	
程序=算法+数据结构

程序不等于算法,程序可以无限执行没有终止算法不可以

算法复杂性 = 算法所需要的计算机资源
 复杂性函数:C=F(N,I,A)
	C——复杂性
	N——问题的规模
	I——算法的输入
	A——算法本身
(通常,让A隐含在复杂性函数名当中)

算法复杂性 = 算法所需要的计算机资源
1、算法的时间复杂性(time complexity) 
需要时间资源的量称为时间复杂性
 记为: T=T(N,I)  
2、算法的空间复杂性(space complexity)
需要的空间资源的量称为空间复杂性
记为: S=S(N,I) 

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值