算法名称 | 描述 | 示例 |
辗转相除法 | 用于求两个正整数的最大公约数,通过反复将较大数除以较小数,并用余数替换较大数,直到余数为0,此时的较小数就是最大公约数。 | 求36和24的最大公约数: - 36÷24=1……12(余数不为0,继续) - 24÷12=2……0(余数为0,所以最大公约数是12) |
更相减损术 | 也是求两个正整数最大公约数的一种方法,用较大的数减去较小的数,得到差,再用差和较小的数比较,重复此过程,直到两数相等,该数就是最大公约数。 | 求45和18的最大公约数: - 45-18=27 - 27-18=9 - 18-9=9(此时两数相等,所以最大公约数是9) |
排序算法 | 包括多种具体算法,如冒泡排序、选择排序、插入排序等,用于对一组数据按照一定顺序进行排列,这里以冒泡排序为例,它通过多次比较相邻元素,若顺序错误就交换它们,这样一趟趟地“冒泡”,直到没有可交换的元素为止。 | 对数组\[5, 3, 8, 4, 2\]进行冒泡排序: - 第一次遍历:比较5和3,5>3交换;比较5和8,5<8不交换;比较8和4,8>4交换;比较8和2,8>2交换,得到\[3, 5, 4, 2, 8\] - 第二次遍历:比较3和5,3<5不交换;比较5和4,5>4交换;比较5和2,5>2交换;比较4和8,4<8不交换,得到\[3, 4, 2, 5, 8\] - 第三次遍历:比较3和4,3<4不交换;比较4和2,4>2交换;比较4和5,4<5不交换;比较5和8,5<8不交换,得到\[3, 2, 4, 5, 8\] - 第四次遍历:比较3和2,3>2交换;比较3和4,3<4不交换;比较4和5,4<5不交换;比较5和8,5<8不交换,得到\[2, 3, 4, 5, 8\](此时完成排序) |
二分查找算法 | 在一个有序数组中查找某个特定元素的位置,首先确定数组中间位置的元素,将其与要查找的元素比较,若相等则找到,若查找元素小于中间元素,则在左半部分继续查找,否则在右半部分查找,如此不断缩小查找范围。 | 在有序数组\[1, 3, 5, 7, 9, 11, 13, 15\]中查找数字7: - 中间位置元素是7,与要查找的数字7相等,查找成功,位置为第4位。 |
秦九韶算法 | 用于求一元n次多项式的值,将多项式转化为嵌套形式后逐步计算。 | 求多项式f(x)=3x³+2x²+x+1在x=2时的值: - 先将多项式转化为f(x)=((3x+2)x+1)x+1 - 按秦九韶算法计算: - - - v₀=3 - - - v₁=v₀×2+2=3×2+2=8 - - - v₂=v₁×2+1=8×2+1=17 - - - v₃=v₂×2+1=17×2+1=35(所以f(2)=35) |
(图片来源网络,侵删)
发表评论