自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 按层创建孩子-兄弟树并求树的深度和叶子结点个数(C++)

本文实现了一个基于孩子-兄弟链表表示的树结构,包含以下功能:1)使用先序序列递归创建树;2)实现先序、后序和层序遍历;3)计算树的深度,通过递归比较左右子树的最大深度加1;4)统计叶子节点数,无子节点时计数1并递归右兄弟树;5)计算树的最大度数;6)输出根到叶子的所有路径。测试结果显示,该程序能正确执行树的创建、遍历和各项统计计算,输出树的先序、后序遍历序列、叶子节点数、深度和度数等结果。实现采用递归算法处理树结构,展现了树的基本操作和递归遍历方法。

2025-09-06 14:11:14 243

原创 二叉排序树算法(C++)

本文实现了一个基于二叉排序树的排序算法。首先定义了顺序表结构SqTable和二叉树节点结构BiTNode。核心算法包括:1)插入操作Insert_BST,通过比较关键字将元素插入到二叉排序树的适当位置;2)中序遍历InOrder,将排序结果存入顺序表;3)排序函数BSTSort,通过构建二叉排序树并进行中序遍历实现对顺序表的排序。测试结果表明,该算法成功将无序序列(7,G)(3,C)(1,A)(5,E)(8,H)(6,F)排序为有序序列(1,A)(3,C)(5,E)(6,F)(7,G)(8,H)。

2025-09-05 15:39:19 258

原创 2025数学建模国赛A题1-4问详解(论文+完整代码)

本文介绍了数学建模国赛A题的解题思路,重点分析了三维遮蔽模型的建立和运动学代码实现。相比第一题,第二题增加了未知参数求解,需要采用遗传算法等非线性优化方法。文章强调该模型由专业团队原创开发,代码可运行,并提醒参赛者警惕市场上的保奖班现象。整体内容聚焦于竞赛解题技巧和原创性保证。

2025-09-05 15:24:31 1592 2

原创 基于孩子-兄弟链表存储的树的操作实现(C++)

该程序实现树的路径查找功能,主要包含以下内容:1. 数据结构定义:包括孩子-兄弟链表存储结构(CSNode)、链队列(LinkQueue)和链栈(LinkStack);2. 树构建:通过用户输入的"双亲-孩子"有序对建立树结构,采用队列辅助按层次构建;3. 栈操作:包括入栈、出栈和从栈底到栈顶输出元素;4. 路径输出:递归遍历树的每个节点,使用链栈存储路径,当遇到叶子节点时输出路径。程序最终输出从根节点到所有叶子节点的完整路径。

2025-06-16 21:48:10 402

原创 基于二叉链表存储的二叉树的操作实现(C++)

本文介绍了二叉树的二叉链表表示及基本操作实现,包括创建二叉树和三种遍历方法(先序、中序、后序)。通过递归算法实现二叉树的创建,其中'#'表示空节点。三种遍历均采用递归方式:先序遍历(根-左-右)、中序遍历(左-根-右)、后序遍历(左-右-根)。同时实现了计算二叉树深度、节点总数和叶子节点数的功能,其中深度计算采用后序遍历方式,取左右子树深度较大值加1。程序通过主函数演示了这些操作,输出包括遍历序列、节点统计信息和树深度。所有操作均基于递归实现,代码简洁但效率受递归深度限制。

2025-06-16 21:43:22 348

原创 基于十字链表存储的稀疏矩阵的操作实现(C++)

摘要:本文介绍了十字链表存储结构在稀疏矩阵运算中的应用,通过C++代码实现了稀疏矩阵的创建、遍历和元素查找功能。当矩阵运算导致非零元素位置频繁变化时,十字链表比三元组顺序表更高效。代码包含四个主要函数:创建矩阵CreateCrossList()、查找元素CrossSearch()、遍历矩阵TraverseCross()和主函数main()。实验结果显示,该方法能正确存储和检索稀疏矩阵数据。该结构通过行和列两个方向的链表连接非零元素,有效解决了矩阵运算中元素移动的问题。

2025-06-08 11:52:01 305

原创 基于三元组顺序表实现稀疏矩阵的加法(C++)

摘要:本文实现了一个稀疏矩阵相加的算法。程序采用三元组顺序表存储稀疏矩阵A和B,通过比较元素的行列位置进行相加运算,结果存入矩阵C中。算法首先检查矩阵维度是否匹配,然后遍历三元组表,按行主序比较元素位置进行相加,处理三种情况:A元素在前、B元素在前或行列相同相加。最后输出结果矩阵C的每个非零元素及其行列位置。测试用例显示,当两个相同矩阵相加时,结果矩阵元素值变为原来的两倍。该算法能够正确处理稀疏矩阵的加法运算,时间复杂度与矩阵非零元素数量成正比。

2025-06-08 11:35:39 386

原创 基于三元组顺序表实现稀疏矩阵的转置(两种)(C++)

本文探讨了稀疏矩阵转置算法在三元组顺序表存储结构下的实现。介绍了两种算法:1)"按需点菜"算法,通过逐列遍历原矩阵实现转置,时间复杂度为O(m×n²);2)"按位就座"算法,利用辅助数组rpos提前确定元素位置,时间复杂度优化为O(m×n)。通过C++代码示例展示了两种算法的具体实现,并对比了其时间复杂度差异。实验结果表明,"按位就座"算法比传统矩阵转置算法和"按需点菜"算法具有更高的效率,更适合处理大规模稀疏矩阵的转置运算。

2025-06-08 11:32:12 590

原创 串的模式匹配算法(C++)

本文对比了三种字符串匹配算法:暴力匹配(index-BF)、首尾匹配(index-FL)和KMP算法。暴力匹配通过逐个字符比较查找子串位置;首尾匹配利用子串首尾字符优化比较过程;KMP算法通过next数组避免主串回溯,提高效率。实验在字符串S="ababcabcacbab"中查找T="abcac",三种算法均找到匹配位置6。KMP算法预处理模式串构建next数组,匹配时跳过无效比较,时间复杂度最优为O(n+m)。代码实现展示了各算法的核心逻辑及性能差异。

2025-06-04 16:40:30 463

原创 字符串基本操作的实现(C++)

本文实现了一个字符串处理程序,包含字符串连接、获取子串、字符串插入等功能。程序定义了strlength()求字符串长度,Concat()连接两个字符串,SubString_Sq()截取子串,StrInsert()在指定位置插入字符串。

2025-06-04 16:38:07 198

原创 只有一个队尾指针的带头结点循环队列基本操作的实现(C++)

本文实现了一个循环链队列数据结构,通过头文件Queue_CirSq.h封装了基本操作,包括初始化、销毁、入队、出队等。队列采用带头结点的循环链表实现,仅保留尾指针以提高效率。主程序测试了队列的各种操作:成功验证了入队(A,B,C)、出队(A)、获取队头(B)等功能,最后清空并销毁队列。测试结果表明该实现正确完成了循环队列的基本操作要求。

2025-06-03 18:29:04 256

原创 循环队列基本操作的实现(C++)

本文实现了一个循环队列数据结构Queue_Sq.h,包含队列初始化、判空判满、求长度、获取队头、出队入队、遍历输出和动态扩容等基本操作。主程序Queue_Sq.cpp测试了这些功能:创建队列、连续入队6个元素并遍历输出(队列长度为6),执行一次出队操作后队列长度为5,再入队2个新元素并正确显示队头元素2。测试结果表明该循环队列实现正确,具备动态扩容能力。代码采用C++编写,通过头文件方式封装队列操作,体现了模块化程序设计思想。

2025-06-03 18:24:58 355

原创 链队列基本操作的实现(C++)

本文实现了一个链式队列数据结构Queue_L.h,包含初始化、销毁、清空、入队、出队、获取队头元素、遍历和求队列长度等基本操作。通过头文件封装队列操作,主程序Queue_L.cpp测试了队列功能:创建队列并插入a-f六个元素,输出队列内容及长度6;出队元素a后队列长度为5;再入队元素g后队列长度为6;最后获取当前队头元素b。测试结果表明该链式队列实现正确,各项操作均正常工作。

2025-06-03 18:21:48 231

原创 顺序栈的应用——Ackerman函数(C++)

本文通过顺序栈这一数据结构,实现了Ackerman递归函数的计算。

2025-06-02 21:19:12 1070

原创 顺序栈的应用——背包问题(C++)

本文实现了一个解决背包问题的回溯算法。给定背包容量T和n件物品的体积,算法使用栈结构来搜索所有能恰好装满背包的物品组合。通过逐步装入物品、检查是否达到目标容量、回溯尝试其他可能性的循环过程,最终输出所有可行解的物品序号组合及解的总数量。示例测试中,对6件体积分别为1,8,4,3,5,2的物品和容量10的背包,程序成功找到了所有满足条件的组合。该算法系统地探索了所有可能的物品组合,确保不遗漏任何可行解。

2025-06-02 21:09:39 406

原创 顺序栈的应用--括号匹配(C++)

本文介绍了一种使用栈结构检验括号匹配的算法。算法通过遍历表达式字符,将左括号压栈,遇到右括号时检查栈顶元素是否匹配。若匹配则弹栈,不匹配或栈空则失败。最终栈空且状态正常则返回TRUE,否则FALSE。

2025-06-02 21:03:46 220

原创 顺序栈的应用--进制转换(C++)

本文实现了一个将十进制整数转换为N0进制数的程序。程序通过栈结构存储运算余数,主要步骤包括:1)输入检查,拒绝负数输入;2)核心转换循环,不断将十进制数除以N0,将余数入栈;3)逆序弹出栈中余数输出结果。测试中以8进制为例,成功实现了进制转换功能。

2025-06-02 21:00:51 395

原创 顺序栈基本操作的实现(C++)

摘要:本文实现了一个基于模板的顺序栈数据结构,通过Stack.h头文件定义了栈的基本操作。栈可以存储各种数据类型(通过typedef修改SElemType),包含初始化、销毁、判空、清空、求长度、取栈顶、入栈、出栈等操作,并支持动态扩容。测试程序Stack.cpp演示了栈的基本使用:初始化容量为100的栈,进行多次入栈、出栈操作,并输出栈内容、长度和栈顶元素。结果验证了栈的正确操作,包括动态扩容功能(初始容量100,增量10)。

2025-06-02 20:55:23 165

原创 排序算法的实现:双向起泡(C++)

本文实现了一个双向冒泡排序算法BiBubbleSort。该算法通过设置start和end索引,先从左到右将大数右移,再从右到左将小数左移,交替进行排序过程。

2025-05-26 23:52:51 217

原创 排序算法的实现:计数排序(C++)

本文实现了一个计数排序算法,对数组[2,5,3,0,2,3,0,3]进行排序。算法通过统计元素出现次数,计算位置索引,最后将元素放入输出数组的对应位置。程序输出显示排序后的数组为[0,0,2,2,3,3,3,5],验证了计数排序的正确性。该算法适用于整数排序,时间复杂度为O(n+k),其中n为元素个数,k为最大值范围。

2025-05-26 23:46:22 185

原创 排序算法的实现:选择排序,插入排序,起泡排序,快速排序,归并排序,希尔排序(C++)

该程序实现了多种经典排序算法对线性表的排序功能,包括选择排序、插入排序、起泡排序、快速排序、归并排序和希尔排序。程序定义了一个包含关键字(key)和内容(info)的结构体RcdType,并用SqList结构表示线性表。通过traverse函数可以输出排序前后的表内容。在main函数中初始化了一个包含8个元素的测试用例,依次调用各排序算法并输出排序结果。

2025-05-26 23:41:26 122

原创 利用有序单链表实现两个多项式的相加(C++)

本文实现了一个多项式相加算法,使用单链表存储多项式,每个节点包含系数和指数。算法通过遍历两个链表,比较节点指数进行合并:指数相同时系数相加,不为零则存入结果;指数不同时直接存入较小指数项。时间复杂度O(m+n),空间复杂度O(m+n)。

2025-05-24 20:57:56 206

原创 双向循环链表基本操作的实现(C++)

基于C++实现单链表的基本操作,将基本操作做成头文件 DuLink.h,并在主程序中进行了测试。

2025-05-24 20:55:22 158

原创 单链表基本操作的实现(C++)

基于C++实现单链表的基本操作,将基本操作做成头文件 LinkList.h,并在主程序中进行了测试。

2025-05-24 20:50:45 130

原创 顺序表的基本操作的实现(C++)

基于C++实现顺序表的基本操作,将基本操作做成头文件 SqlList.h,并在主程序中进行了测试。

2025-05-24 20:33:20 102

原创 含有不等式约束的罚函数法

含有不等式约束的外点罚函数和内点罚函数法

2024-11-25 23:25:13 283

原创 只含有等式约束的拉格朗日函数法

本文通过两个例子介绍只含等式约束的拉格朗日函数法,将约束优化问题转化为无约束优化问题。

2024-11-25 23:21:19 234

原创 只含有等式约束的罚函数法

本文通过两个例子介绍只含有等式约束的优化问题的罚函数方法,将约束优化问题转化为无约束优化问题,并绘制了函数的等高线图。其中求解无约束优化问题的算法可参考之前的文章。

2024-11-25 23:19:16 294

原创 DFP-B算法

本文介绍了DFP-B算法。

2024-11-24 19:44:55 155

原创 DFP-H算法

本文介绍了DFP-H算法。

2024-11-24 19:43:36 142

原创 BFGS-H算法

本文介绍了BFGS算法,其中步长的选取采用了wolfe准则。

2024-11-24 19:40:43 159

原创 经典牛顿法

本文介绍了经典牛顿法。

2024-11-24 19:36:41 97

原创 基于回退线搜索的牛顿法

本文介绍了基于回退线搜索的牛顿法。

2024-11-24 19:31:29 283

原创 基于回退线搜索的梯度下降法

优化算法的MATLAB实现。本文介绍基于回退线搜索算法的梯度下降法。

2024-11-24 19:24:44 157

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除