
算法学习系列
文章平均质量分 76
邹奇
热爱技术,热爱分享,锻炼身体!坚持开源分享!!!
展开
-
【算法学习系列】06 - 利用二分法查找有序数组中的某个数 num
二分法是一种常用的算法,也称为折半查找或二分查找。它适用于已经有序的数组中,通过将数组从中间划分成两个部分,每次根据目标值与中间值的大小比较来确定下一步的查找范围,直到找到目标值或者确定不存在为止。暴力算法 B 能保证结果肯定正确,但是不保证时间复杂度或者是执行效率,主要是用来跟实现的算法 A 进行结果比对。二分法的时间复杂度为 O(log n),较低的时间复杂度让它成为了解决大规模数据搜索效率较高的算法之一。分别给到自己实现的算法 A 和暴力算法 B 当做输入,并进行两个算法的输出结果比对。原创 2023-05-23 17:14:41 · 916 阅读 · 0 评论 -
【算法学习系列】05 - 对数器的说明与使用
Q:什么是对数器?生成大量随机样本测试算法正确性的工具。原创 2023-05-22 18:09:55 · 972 阅读 · 4 评论 -
【算法学习系列】04 - 由01不等概率随机实现01等概率随机
那么 01 和 10 返回的概率是一样的,且 01 的情况返回 1 ,10 的情况返回 0。故返回 0 和 1 也是等概率的。做两次不等概率随机,第一次和第二次返回值相同就继续循环,直到第一次和第二次返回值不一样就跳出循环。这里可以看到 0 出现的次数跟预期的一致,基本等于五十万。做一百万次样本测试,看下上面实现的等概率返回 0 和 1 的函数。返回 0 出现的次数是不是很接近 50 万这个数字。为了能够验证最后的等概率随机,这里先把函数。原创 2023-05-19 11:50:04 · 737 阅读 · 0 评论 -
【算法学习系列】03 - 由[1-5]等概率随机实现[2-10]等概率随机
所以根据上面的验证,由此可以进一步推导出存在:[a, b]等概率随机,实现:[c, d]等概率随机的解决方案。技术永不眠!下期有缘再见!原创 2023-05-18 14:54:54 · 252 阅读 · 0 评论 -
【算法学习系列】02 - 你真的有好好使用过 Math.random() 函数吗?
每次获取的随机数乘以整数 8 ,如果该值小于 4 ,就对变量 count 进行加 1 统计,循环十万次后得到最终 count 的值,用该值除以总测试次数得到实际占比,如果跟预期占比 4/8 相同或者无限接近预期占比 4/8,就说明验证成功。如果每次返回的数小于 0.6 ,那么对变量 count 进行加 1 统计,循环十万次后最后得到 count 的值,然后用 count 除以总测试次数,得到实际占比。要保证两次的 0.6 概率进行相乘,就需要保证两次获取随机数中较大的值也小于 0.6,才能满足题干条件。原创 2023-05-17 10:44:44 · 414 阅读 · 0 评论 -
【算法学习系列】01 - 求某个数组中的任意两个位置之间的累加和
已经呆在自己的舒适圈有很长一段时间了(公司快3年了,业务都熟的差不多了),决定开始改变(任何时候都不晚),尝试学习解决一些算法题,给自己一些适当的压力和不适感。希望能更好的提升自己的思考与编程能力。总之,学习算法对程序员来说是非常重要的。它可以帮助程序员提高编程技能、解决问题的能力,并在职业发展方面更上一层楼。另外,学习算法对程序员来说有很多好处。任意位置之间的累加和依次类推,可以总结出规律。可以看到结果计算正确。原创 2023-05-15 16:50:27 · 613 阅读 · 0 评论