浅显Js算法思路个人整理

浅显Js算法思路个人整理

一个人写写看看,若有错误不足,望海涵斧正

递归函数的解题思路

// 递归函数的作用有些类似于遍历,通常用于实现重复性规律性的需求
// 递归函数要求有一个终点,即执行至符合某一条件后不再继续递归,而是返回一个固有的结果
// 如果递归的终点不存在或者是无法达到时,会出现栈溢出的报错
// 以下为递归函数实现,数字累加(最简单的递归)
function fb (num) {
	if (num > 1){
		return num + fb (--num);
	} else {
		return 1;// 当等于1时,找到终点返回终点的结果
	}
} 

遍历算法的优良比较

// 遍历算法的优良取决于两个方面,一个是遍历方式的内部结构是否更为合理简单,再一就是遍历算法的时间复杂度
// 常见的遍历方式,for 、for...in 、 forEach 、 for...of 、 map
// 从性能上看,for最差,其余的遍历方式性能无较大差异,根据不同的使用场景选择
// 遍历的时间复杂性,简而言之,是计算每条程序语言的执行次数的最坏情况,即最多的执行次数情况
// 就目前看,遍历和递归的思路相近,可以递归实现的,应该都可以遍历实现,遍历在性能上会优于递归,但是递归节省代码,结构清晰,更易于理解

解决常规算法题的另外一种思路----类型转换

(未待完续,犯懒了,下次再努力一下)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值