基础算法(C++)
基础算法(C++)
清风君.
In psychology: there is a famous formula 1 365 square equal to 1,1.01 365 is approximately equal to 37.78, and 0.99 365 is approximately equal to 0.025. every day a little bit of progress , one year later, you can make great progress. So, do not count of this a little bit of progress
展开
-
【基础算法】希尔排序法 & C++实现 | [实例过程详细分析]
希尔排序法(缩小增量法) 属于插入类排序,是将整个无序列分割成若干小的子序列分别进行插入排序的方法。原创 2022-12-16 18:08:01 · 683 阅读 · 3 评论 -
【基础算法】开平方算法 & C++实现
开平方指一种数学的运算方式,求一个数a的平方根的运算,叫做开平方,开平方是平方的逆运算。原创 2022-12-09 17:19:44 · 2333 阅读 · 3 评论 -
【基础算法】几种特殊数(素数、公约数、完全数、亲密数) & C++实现
质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。公约数,亦称“公因数”。它是指能同时整除几个整数的数 。如果一个整数同时是几个整数的约数,称这个整数为它们的“公约数”;公约数中最大的称为最大公约数。完全数,又称完美数或完备数,是一些特殊的自然数。它所有的真因子的和,恰好等于它本身。亲密数,如果a的所有正因子和等于b,b的所有正因子和等于a,因子包括1但不包括本身,且a不等于b,则称a,b为亲密数对。一般通过迭代编程求出相应的亲密数对。原创 2022-12-06 17:14:58 · 1317 阅读 · 0 评论 -
【基础算法】分治算法 & C++实现
分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。即一种分目标完成程序算法,简单问题可用二分法完成。原创 2022-12-06 18:30:46 · 495 阅读 · 0 评论 -
【基础算法】圆周率的多种方法求算 & C++实现
圆周率用希腊字母π表示,是一个常数(约等于3.141592654),是代表圆周长和直径的比值。它是一个无理数,即无限不循环小数。在日常生活中,通常都用3.14代表圆周率去进行近似计算。而用九位小数3.141592654便足以应付一般计算。即使是工程师或物理学家要进行较精密的计算,充其量也只需取值至小数点后几百个位。原创 2022-12-05 14:20:07 · 6304 阅读 · 0 评论 -
【基础算法】矩阵的几种基本运算 & C++实现
矩阵是高等代数学中的常见工具,也常见于统计分析等应用数学学科中。物理学中,矩阵于电路学、力学、光学和量子物理中都有应用;计算机科学中,三维动画制作也需要用到矩阵。 矩阵的运算是数值分析领域的重要问题。将矩阵分解为简单矩阵的组合可以在理论和实际应用上简化矩阵的运算。对一些应用广泛而形式特殊的矩阵,例如稀疏矩阵和准对角矩阵,有特定的快速运算算法。原创 2022-12-04 11:54:47 · 5917 阅读 · 0 评论 -
【C/C++】阿克曼函数以及其数学的有限边界思维
## 在递归函数论和涉及集合的并的某些算法的复杂性研究中,有一个起重要作用的递归函数——阿克曼(Ackermann)函数,该函数是由希尔伯特的学生,德国著名数学家威尔海姆·阿克曼于1928年发现的。这是一个图灵机可计算的,但不是原始递归的函数。下面,我们介绍这个经典的递归函数,并给出其相应的计算过程。原创 2021-12-01 20:21:09 · 1280 阅读 · 0 评论 -
【C/C++】汉诺塔问题
##汉诺塔问题相传来源于印度教的天神汉诺。据说汉诺在创造地球时建了一座神庙,神庙里面有三根柱子,汉诺将64个直径大小不同的盘子按照从大到小的顺序依次放置在第一个柱子上,形成金塔(即汉诺塔)。天神汉诺每天让庙里的僧侣们将第一根柱子上的64个盘子借助第二根柱子全部移动大第三根柱子上,并说:“当这64个盘子全部移动到第三根柱子上时,世界末日也就要到了!”这就是著名的汉诺塔问题。...原创 2021-11-27 13:33:43 · 3246 阅读 · 0 评论 -
【C/C++】用格雷戈里公式求π
输入精度e,使用格雷戈里公式求π的近似值,精确到最后一项的绝对值小于e。要求定义和调用函数funpi(e)求π的近似值。原创 2021-11-24 23:04:29 · 6417 阅读 · 0 评论 -
【C/C++】译密码问题以及ASCII码表的总结
##为了使电文保密,往往按一定的规律将其转换成密码,收报人再按约定的规律将其译回原文,从而实现密报不被不法分子截获后破译,这就是传统的译密码问题。原创 2021-11-28 22:42:30 · 1653 阅读 · 0 评论 -
【基础算法】多项式三大运算 & C++实现
在数学中,由若干个单项式相加(或相减)组成的代数式叫做多项式。多项式中的每个单项式叫做多项式的项,这些单项式中的最高项次数,就是这个多项式的次数。其中多项式中不含字母的项叫做常数项。原创 2022-12-03 14:12:02 · 3566 阅读 · 0 评论 -
【基础算法】顺序查找 折半查找 & C++实现
顺序查找是按照序列原有顺序对数组进行遍历比较查询的基本查找算法。在计算机科学中,折半搜索也称二分搜索、对数搜索,是一种在有序数组中查找某一特定元素的搜索算法。原创 2022-12-01 09:22:35 · 2922 阅读 · 1 评论 -
【排序算法】插入排序法 & C++实现 | [实例过程分析]
插入排序的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。原创 2022-11-29 17:45:44 · 594 阅读 · 5 评论 -
【排序算法】选择排序法 & C++实现 | [实例过程分析]
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。原创 2022-11-28 15:28:44 · 697 阅读 · 0 评论 -
【排序算法】冒泡排序法 & C++实现 | [实例过程分析]
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行,直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。原创 2022-11-27 10:02:39 · 820 阅读 · 0 评论 -
【基础算法】概率算法 & C++实现
概率算法也叫随机化算法。概率算法允许算法在执行过程中随机地选择下一个计算步骤。在很多情况下,算法在执行过程中面临选择时,随机性选择比最优选择省时,因此概率算法可以在很大程度上降低算法的复杂度。概率算法的一个基本特征是对所求解问题的同一实例用同一概率算法求解两次可能得到完全不同的效果。这两次求解问题所需的时间甚至所得到的结果可能会有相当大的差别 。原创 2022-11-26 12:39:07 · 933 阅读 · 0 评论 -
【基础算法】递归算法 & C++实现
一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。1808年,基斯顿·卡曼引进这个表示法。原创 2022-11-24 20:05:35 · 234 阅读 · 0 评论 -
【基础算法】递推算法 & C++实现
递推算法是一种简单的算法,即通过已知条件,利用特定关系得出中间推论,直至得到结果的算法。递推算法分为顺推和逆推两种。原创 2022-11-23 18:42:27 · 413 阅读 · 0 评论 -
【基础算法】穷举算法 (暴力枚举) & C++实现
穷举搜索法是编程中常用到的一种方法,通常在找不到解决问题的规律时对可能是解的众多候选解按某种顺序进行逐一枚举和检验,并从中找出那些符合要求的候选解作为问题的解。原创 2022-11-19 21:39:21 · 469 阅读 · 0 评论