
编程算法
编程算法
MaxZhang666666
这个作者很懒,什么都没留下…
展开
-
C语言实现冒泡法排序
冒泡排序是一种简单的排序算法,其基本思想是将相邻的两个元素进行比较,若顺序错误则交换它们的位置,这样每一次比较都会将序列中最大(或最小)的元素“冒泡”到顶端,最终得到有序的序列。在这个示例中,我们可以看到,冒泡排序的实现非常简单,只需要嵌套两个循环,外层循环控制循环次数,内层循环进行相邻元素的比较和交换。来存储两个元素的交换。原创 2023-11-27 09:26:58 · 288 阅读 · 0 评论 -
使用C++编写代码实现字符串的拼接操作
注意,使用方法一时,要注意空格和双引号的使用;使用方法二时,要注意stringstream的使用。方法二:使用字符串流stringstream。方法一:使用加号“+”原创 2023-11-27 09:25:04 · 711 阅读 · 0 评论 -
Python实现多元线性回归模型
多元线性回归模型是一种统计模型,用于建立多个自变量和一个因变量之间的线性关系。它是线性回归模型的一种扩展形式,适用于多个自变量对因变量的影响。在多元线性回归模型中,自变量可以是连续型、分类型或二元变量,而因变量通常是连续型变量。该模型可以用于预测因变量的值,也可以用于分析自变量对因变量的影响程度和相关性。在这个示例中,我们创建了一个多元线性回归模型,并使用三个特征(1、2、3)来预测目标变量(y)。我们拟合了模型,然后使用新的数据(2、3、4和5、6、7)进行预测,并打印预测的结果。原创 2023-11-24 10:28:15 · 1440 阅读 · 0 评论 -
C语言分支限界法求解01背包问题
在搜索过程中,分支限界法还会维护一个上界,即当前可行解集合中的最优解,如果当前节点的下界已经小于上界,也可以直接剪枝,不再继续扩展。具体来说,分支限界法会将当前状态下的可行解集合分成若干个子集,每个子集代表一条搜索路径,然后根据某种启发式策略(如最大价值优先、最小重量优先等)对这些子集进行排序,选择价值最大/重量最小的子集进行扩展,将其分成若干个子集,再重复上述过程,直到找到最优解或者搜索结束。对于每个节点,可以计算出剩余物品的最大价值,从而计算出当前节点可以达到的最大价值(上界)。记录当前的最大价值。原创 2023-11-23 16:31:07 · 1561 阅读 · 0 评论 -
Java实现二叉树的创建与遍历
二叉树是一种树形数据结构,在二叉树中,每个节点最多有两个子节点,分别为左子节点和右子节点。左子节点小于父节点,右子节点大于等于父节点,是一种有序的数据结构。常用来表示树形结构,例如文件系统和部门层级等。原创 2023-11-23 16:12:49 · 164 阅读 · 0 评论 -
Python实现单词翻转
请注意,这个函数并没有处理标点符号。如果您需要更严格的单词分割和翻转规则,请参考Python的内置字符串处理函数或正则表达式模块。这个函数接受一个字符串作为参数,翻转该字符串中的单词顺序,然后返回翻转后的字符串。原创 2023-11-22 15:19:35 · 415 阅读 · 0 评论 -
C语言实现求n以内最大的k个素数c
记录已经找到的最大素数。当找到k个素数时,我们直接跳出循环;当没有找到k个素数时,我们输出所有的素数。函数中,我们从输入获取n和k,并调用find_k_primes函数来查找最大的k个素数。函数中查找最大的k个素数。在查找的过程中,我们使用了一个计数器。在该代码中,我们先定义了一个判断素数的函数。,记录已经找到的素数个数,以及一个变量。原创 2023-11-22 15:18:45 · 419 阅读 · 0 评论 -
C语言prim算法求最小生成树
然后,每次从未加入节点集合中找出距离当前生成树最近的节点,将其加入到已加入节点集合中,同时更新所有未加入节点集合中的节点到已加入节点集合的最小距离。Prim算法与Kruskal算法都是求解最小生成树的经典算法,具有实际应用价值。该算法的基本思想是从一个源点开始,逐步向外扩展生成树,每次找到与当前生成树最近的未被访问的顶点,并将其加入到生成树中,直到所有顶点都被加入到生成树中为止。就是Prim算法实现的主体部分,依次找出距离当前树最近的顶点,并将其加入到当前树中,并更新每个节点到树的距离。原创 2023-11-21 09:44:52 · 360 阅读 · 0 评论 -
C语言打印九九乘法表
【代码】C语言打印九九乘法表。原创 2023-11-20 09:07:46 · 294 阅读 · 0 评论 -
C语言求解猴子吃桃问题
假设第10天猴子有x个桃子吃,那么第9天猴子一定有(x + 1) * 2个桃子,以此类推,可以得到第1天猴子要有多少个桃子才能保证最后剩下1个。从第10天开始倒推,每天的桃子数就是前一天的桃子数加1后乘以2,最后推到第1天即可。这是一道经典的数学问题,可以使用递归或循环两种方法来解决。原创 2023-11-20 09:06:50 · 1829 阅读 · 0 评论 -
C语言求解汉诺塔问题
当盘子数为 1 时,我们直接将盘子从 A 柱子移动到 C 柱子。当盘子数大于 1 时,我们先将。个盘子从 A 柱子移动到 B 柱子,然后将最后一个盘子从 A 柱子移动到 C 柱子,最后将。个盘子从 B 柱子移动到 C 柱子。分别表示 3 根柱子的名称。在此代码中,我们定义了一个。表示要移动的盘子数目,原创 2023-11-17 09:08:09 · 215 阅读 · 0 评论 -
python语言实现背包问题动态规划
其中,第一部分 dp[i-1][j] 表示不选第 i 个物品,背包容量不变;第二部分 dp[i-1][j-v[i]] + w[i] 表示选第 i 个物品,背包容量减少 v[i],价值增加 w[i]。假设有一个背包,容量为 W,有 n 个物品,每个物品有两个属性:体积 v 和价值 w。要求在不超过背包容量的情况下,选取一些物品放入背包,使得背包中物品的价值最大。其中,W 表示背包容量,n 表示物品数量,v 和 w 分别表示每个物品的体积和价值。表示考虑前 i 个物品,且背包容量为 j 时的最大价值。原创 2023-11-17 09:06:42 · 390 阅读 · 0 评论 -
C语言实现杨辉三角
运行程序后,输入要打印的行数,即可输出相应的杨辉三角。原创 2023-11-16 09:07:57 · 863 阅读 · 0 评论 -
C语言实现二叉树的创建与遍历
在上述代码中,createBinaryTree函数用于创建二叉树,输入-1表示空结点,程序会递归新建左子树和右子树。分别定义了先序遍历、中序遍历和后序遍历三个函数,用于遍历二叉树。在主函数中,先创建二叉树,再进行三种遍历操作。二叉树是一种常见的数据结构,C语言中可以用结构体和指针的方式来实现二叉树。原创 2023-11-15 11:29:50 · 390 阅读 · 0 评论 -
C语言实现字符串逆序
其中,使用了C语言中的字符串函数strlen()和gets(),需要包含头文件。在实际应用中,为了避免字符串缓冲区溢出,可以使用更安全的字符串输入函数fgets()代替gets()。可以使用C语言中的字符数组来表示字符串,然后使用指针和循环来实现字符串逆序。使用strlen()函数获取字符串的长度,以确定需要循环的次数。实现字符串逆序,即将字符串中的每个字符按照相反的顺序重新排列。定义两个指针:一个指向字符串的开头,一个指向字符串的结尾。定义一个字符数组,表示要逆序的字符串。原创 2023-11-15 11:28:10 · 1987 阅读 · 0 评论 -
C语言二叉树的遍历
前序遍历:从根节点开始遍历,先输出根节点,再遍历左子树,最后遍历右子树。中序遍历:从根节点开始遍历,先遍历左子树,再输出根节点,最后遍历右子树。后序遍历:从根节点开始遍历,先遍历左子树,再遍历右子树,最后输出根节点。二叉树的遍历主要分为三种方式:前序遍历、中序遍历和后序遍历。原创 2023-11-13 09:42:08 · 209 阅读 · 0 评论 -
C语言的部分逆置
该程序读入一个数组和一个数字m,将数组的前m个元素逆置,后n-m个元素逆置,最后整个数组逆置并输出。原创 2023-11-13 09:13:07 · 369 阅读 · 0 评论 -
python实现求最大公约数和最小公倍
【代码】python实现求最大公约数和最小公倍。原创 2023-11-13 09:11:33 · 889 阅读 · 0 评论 -
C语言实现栈的基本操作
在每个函数中,我们都检查了栈是否已满或已空,以避免出现数组越界错误。表示栈顶指针的位置,初值为 -1 表示栈为空。函数中,我们演示了如何使用这些函数。在本示例中,我们定义了一个整型数组。作为栈的存储空间,定义变量。函数将元素从栈中弹出,函数将元素压入栈中,原创 2023-11-10 11:48:27 · 140 阅读 · 1 评论 -
C语言实现冒泡排序算法
该程序从数组的第一个元素开始,将其与后续元素进行比较,如果后续元素比当前元素小,则交换两个元素的值,依次遍历整个数组,每次都将比较范围缩小一位(最后一位已经是最大值不需再比较),这样一轮下来,最大的元素就被排在了最后,之后再进行剩余元素的排序,直到整个数组排序完成。原创 2023-11-10 11:22:33 · 88 阅读 · 1 评论 -
正则表达式学习笔记——揭开正则表达式的神秘面纱
正则表达式学习笔记 如果我们问那些UNIX系统的爱好者他们最喜欢什么,答案除了稳定的系统和可以远程启动之外,十有八九的人会提到正则表达式;如果我们再问他们最头痛的是什么,可能除了复杂的进程控制和安装过程之外,还会是正则表达式。那么正则表达式到底是什么?如何才能真正的掌握正则表达式并正确的加以灵活运用?本文将就此展开介绍,希望能够对那些渴望了解和掌握正则表达式的读者有所助益。转载 2014-02-26 16:56:16 · 234 阅读 · 0 评论 -
5位黑洞数
任意一个5位数,比如:34256,把它的各位数字打乱,重新排列,可以得到一个最大的数:65432,一个最小的数23456。求这两个数字的差,得:41976,把这个数字再次重复上述过程(如果不足5位,则前边补0)。如此往复,数字会落入某个循环圈(称为数字黑洞)。比如,刚才的数字会落入:[82962, 75933, 63954, 61974] 这个循环圈。请编写程序,找到5位数所有可能原创 2014-03-21 20:56:35 · 484 阅读 · 0 评论 -
三角螺旋矩阵的实现(java)
方阵的主对角线之上称为“上三角”。请你设计一个用于填充n阶方阵的上三角区域的程序。填充的规则是:使用1,2,3….的自然数列,从左上角开始,按照顺时针方向螺旋填充。例如:当n=3时,输出: 1 2 3 6 4 5当n=4时,输出: 1 2 3 4 9 10 5 8 6 7当n=5时,输出:原创 2014-04-25 19:54:51 · 1433 阅读 · 0 评论 -
矩形相交面积基本解法(java)
/*矩形相交面积问题描述 平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积。输入格式 输入仅包含两行,每行描述一个矩形。 在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过10^7的实数表示。输出格式 输出仅包含一个实数,为交的面积,保留到小数后两位。样例输入1原创 2014-04-27 15:43:04 · 1300 阅读 · 0 评论 -
人民币小写转大写(无小数版)
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace HomeWork_8__随堂{ public class Rmb { //字典 static s原创 2014-08-01 09:17:12 · 306 阅读 · 0 评论 -
2013蓝桥杯初赛试题与解析
标题: 马虎的算式 小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。 有一次,老师出的题目是:36 x 495 = ? 他却给抄成了:396 x 45 = ? 但结果却很戏剧性,他的答案竟然是对的!! 因为 36 * 495 = 396 * 45 = 17820 类似这样的巧合情况可能还有很多,比如:原创 2014-02-11 23:32:32 · 392 阅读 · 0 评论