- 博客(32)
- 收藏
- 关注
原创 数据结构与算法(C/C++)
本文系统介绍了数据结构与算法的核心知识。主要内容包括:1.数据结构基础概念,包括抽象数据类型定义和算法效率分析方法;2.线性结构实现,详细讲解了顺序表(静态/动态分配)、单链表(带头/不带头结点)、双链表等数据结构的基本操作;3.算法设计与分析,通过最大子列和问题展示了暴力枚举、优化枚举、分治法和在线处理四种算法,并分析其时间复杂度;4.数据结构与算法的应用场景和学习资源推荐。文章强调算法效率与数据组织方式、空间利用和算法巧妙程度的密切关系,为计算机科学学习者提供了系统的知识框架和实践指导。
2026-01-25 14:26:10
1100
原创 VMware虚拟机安装kali-linux教程
本文详细介绍了在VMware Workstation上安装Kali Linux的完整流程。首先通过自定义配置创建虚拟机,包括选择Linux系统类型(Debian 11.x 64位)、分配处理器核心(建议4核)和内存(4GB)、设置20GB虚拟磁盘等硬件参数。随后加载Kali Linux ISO镜像文件,进入图形化安装界面,依次完成语言、时区、键盘布局、用户账户等系统配置,采用默认分区方案安装系统。安装完成后重启即可使用预设账号登录Kali Linux系统,为网络安全学习和渗透测试提供专业的环境支持。整个过程
2025-11-04 09:34:49
612
原创 C++:递归与分治策略--大整数乘法
摘要:Karatsuba算法是一种高效的大整数乘法算法,采用分治策略将n位整数分解为高位和低位两部分。通过数学变形,将传统乘法所需的4次乘法减少到3次,显著降低时间复杂度至O(n^1.59)。算法实现包括数字分割、递归计算和结果组合三个主要步骤,适用于大整数相乘场景。相比普通乘法的O(n²)复杂度,Karatsuba算法在效率上具有明显优势,是分治思想的经典应用实例。
2025-10-13 19:45:38
339
原创 C++:递归与分治策略--逆序计数
摘要:本文提出使用分治法高效计算整数序列中的逆序对数量。算法将数组递归划分为左右两半,分别计算逆序数后,在归并过程中统计跨区间的逆序对。关键点在于当左右子序列有序时,若左元素大于右元素,则左序列后续元素均与当前右元素形成逆序对。该算法时间复杂度为O(nlogn),显著优于暴力法的O(n²),并通过归并排序实现。实验验证了算法正确性和高效性,附有完整C++实现代码。
2025-10-13 17:15:04
559
原创 简单SpringBoot+Vue3全栈小项目
本文介绍了基于SpringBoot和Vue的全栈开发流程。后端部分使用SpringBoot构建,包含数据库设计(MySQL)、MyBatis-Plus集成、分层架构实现(Controller/Service/Mapper)以及Swagger API文档生成。前端部分采用Vue3框架,集成Element Plus UI组件库,通过axios实现前后端交互,并配置Vue Router进行页面路由管理。文章详细展示了从数据库表设计到业务逻辑实现,再到RESTful API开发和前端页面构建的完整过程,特别强调了前
2025-10-03 01:02:46
1029
原创 Android Studio下载安装教程
这篇文章详细介绍了Android Studio的下载安装及项目创建流程。首先指导读者如何从官网下载指定版本(2024.2.1 patch2),包括切换英文界面查找历史版本。然后逐步演示了安装过程、SDK配置(建议选择Android 14.0)和新建项目步骤,特别说明了Empty Views Activity(Java)更适合初学者。最后还提供了将界面汉化的方法。整个教程图文并茂,适合新手参考,涵盖了从软件安装到项目创建的全流程。
2025-09-17 22:49:06
1436
原创 数学建模-非线性规划(NLP)
摘要:本文介绍了使用MATLAB实现非线性规划的四个案例。案例1通过fmincon函数求解带约束的二次型目标函数;案例2增加了等式约束和边界条件;案例3构建了12变量优化问题,解决"怪兽入侵星球"资源分配问题;案例4涉及飞机碰撞问题(未展示具体代码)。所有案例均包含目标函数和约束条件的MATLAB实现,展示了fmincon函数处理不同约束类型(线性/非线性不等式、等式约束)的能力。案例3特别展示了复杂实际问题建模,包含坐标计算和资源分配优化。
2025-09-03 19:38:42
233
原创 数学建模-整数规划(IP)
本文介绍了基于MATLAB的整数规划实现方法,重点探讨了蒙特卡洛模拟和整数规划两种算法在优化问题中的应用。通过建校选址、设备分配、蒲丰投针实验等具体案例,对比分析了两种方法的求解过程和结果。文章详细展示了MATLAB代码实现,包括目标函数构建、约束条件设置及求解器调用,并提供了多个实际问题的完整解决方案。研究结果表明,整数规划法能获得更精确的解,而蒙特卡洛方法在复杂约束条件下具有更好的灵活性。
2025-08-25 14:39:10
1176
原创 数学建模-线性规划(LP)
本文介绍了线性规划的理论知识及MATLAB实现方法。首先阐述了线性规划的基本原理、定义和应用场景。随后以具体例题为例,详细展示了MATLAB的实现过程:包括目标函数系数设定、不等式约束条件转换、等式约束处理以及上下界约束设置等关键步骤。代码注释清晰,完整呈现了从问题建模到求解的全过程。运行结果输出了最优解和对应的目标函数值,验证了方法的有效性。该示例为线性规划问题的MATLAB求解提供了实用参考。
2025-08-24 14:39:03
997
原创 数学建模-灰色关联分析(GRA)
摘要:本文介绍了灰色关联分析的理论知识及其在Excel中的实现步骤。该方法适用于判断自变量对因变量的影响程度。具体操作包括:1)数据录入;2)数据预处理(求均值并标准化);3)计算两级最小差和最大差;4)计算灰色关联系数;5)求各指标关联系数平均值。最终分析得出,在结婚对数的影响因素中,女性失业数是主要因素,而房价和人均收入为次要因素。整个过程通过Excel函数和公式实现,操作步骤清晰。
2025-08-22 14:31:55
1284
原创 数学建模-优劣解距离法(TOPSIS)
本文介绍了TOPSIS优劣解距离法的理论知识和MATLAB实现。理论部分包含数据正向化(极小型、中间型、区间型转为极大型)、标准化和优劣解打分三个步骤。MATLAB实现提供了完整代码,包含数据初始化、正向化处理、标准化计算、距离法打分和优劣解打分等功能模块,并支持自定义权重。代码运行后会自动生成包含评分结果的Excel文件。该实现通过模块化函数设计,能处理不同类型的数据转换,为多指标决策问题提供系统化的解决方案。
2025-08-17 16:52:09
1277
原创 数学建模-熵权法(EWM)
本文介绍了基于Matlab实现熵权法的完整流程,包括理论知识、实现步骤和代码结构。内容涵盖指标正向化处理(极小型、中间型、区间型)、数据标准化、信息熵计算和熵权重分配等核心环节。通过EWM.m脚本实现了从Excel数据读取到权重计算的全过程,包含三种正向化转换函数和标准化处理逻辑,最终输出各指标的熵权值。该方法通过客观赋权避免了主观偏差,适用于多指标决策分析。
2025-08-12 23:15:08
571
原创 数学建模-模糊综合评价(FCE)
本文介绍了模糊集合理论与模糊综合评价方法。首先阐述了模糊集合的基本概念、隶属函数及确定方法(模糊统计法、F分布、三分法)。然后详细讲解了一级和多级模糊综合评价模型,包括评语集的两种类型(带有/不带有评价色彩型),并通过案例说明三级模糊综合评价的应用。特别解释了归一化处理方法及其作用。在实现部分,提供了基于MATLAB的模糊综合评价源代码,包含矩阵构造、权重分配、多级计算等完整流程。程序通过构建二级模糊判断矩阵,结合指标权重进行多级运算,最终输出评价结果。运行实例展示了从数据处理到结果输出的全过程,验证了该方
2025-08-10 09:26:23
869
原创 数学建模-层次分析法(AHP)
本文摘要: 文章系统介绍了层次分析法(AHP)的理论与MATLAB实现。理论部分涵盖线性代数基础(矩阵、特征值等)、一致性检验及权重计算方法(算术平均法、特征值法)。MATLAB部分详细讲解矩阵运算、特征值求解等语法,并提供完整的AHP实现代码:包括判断矩阵输入、权重计算、一致性检验(CR<0.1判定标准)及结果统计。通过Excel结合F4键实现快速得分计算,配套实例验证代码有效性。全文将数学理论与编程实践结合,为AHP应用提供标准化解决方案。
2025-08-09 10:52:52
729
原创 CSS--后端也有自己的CSS要学
CSS简介与基础应用 CSS(层叠样式表)用于控制网页表现效果。演示通过index.html文件展示CSS基础用法,重点关注三类选择器: 元素选择器(标签名匹配) class选择器(.class属性值匹配) id选择器(#id属性值匹配) 优先级关系为:id选择器 > class选择器 > 元素选择器。CSS包含数百种属性,常见如background-color(背景色)和display(显示控制),后者可取none(隐藏)或block(显示)值。布局常用div容器标签划分页面区域,templa
2025-08-08 23:51:12
961
原创 HTML--后端也有自己的HTML要学
本文摘要: HTML基础教程:从元素到HTTP请求 HTML由元素组成,包含标签、内容和属性,支持嵌套和空元素。完整HTML页面包含<!DOCTYPE>声明、<html>根元素及<head>/<body>部分。常见元素包括文本标题、段落、列表、超链接等。多媒体元素支持图片、视频和音频展示。 表单用于收集用户数据,通过GET/POST方法提交到服务器。HTTP请求由请求行、请求头和请求体组成,支持多种数据格式:application/x-www-form-url
2025-08-05 17:07:28
964
原创 Java从入门到精通学习教程
本文总结了Java基础知识体系,涵盖从入门到基础语法的完整学习路径。主要内容包括:1) Java概述与发展历史;2) JDK安装与环境配置;3) 基础语法(变量、数据类型、运算符等);4) 流程控制结构;5) 数组应用;6) 方法定义与使用;7) 常用开发工具如IDEA的使用技巧;8) 各类基础案例实现。文章详细介绍了Java程序的执行原理、数据类型转换、运算符优先级等核心概念,并提供了大量实践案例和常见问题解决方案。同时,还包含了Debug工具使用、快捷键操作等实用技巧,为Java初学者构建了系统的知识框
2025-07-31 11:35:09
741
原创 JavaScript--后端也有自己的JS要学
本文详细介绍了JavaScript核心概念和操作,主要包括:变量与常量定义、数据类型及判断方法、运算符使用、流程控制语句、字符串/数组常用方法、DOM操作以及事件处理机制。重点内容包括:变量提升现象、数据类型转换、数组排序算法实现、DOM元素获取与属性修改、事件代理机制等。文章通过大量代码示例演示了JavaScript基础语法、数组去重、多种排序算法实现等实用技巧,并详细解析了DOM树结构、节点操作方法以及常见事件类型处理方式,为系统学习JavaScript提供了全面参考。
2025-07-10 22:22:29
814
原创 MySQL笔记(在命令行中实现)
1 | 刘洋 | 男 | 2002-03-15 | liuyang@example.com | 2021-09-01 08:00:00 | 65.50 | 0 || 2 | 王芳 | 女 | 2001-07-09 | wangfang@example.com | 2020-09-01 09:00:00 | 120.00 | 1 || 刘洋 | 65.50 | 2002-03-15 |
2025-05-31 00:34:52
493
原创 DES加解密算法
plain_hex = format(int(cipher, 2), '016x') # 16 个 hex 字符,不足左补 0。R4[i]=bin(R4[i])[2:].zfill(4)#将十进制变为二进制并补充为4bits。list_key.append(int(i))#把'0'、'1'变成0和1。# 调用F(R[i-1],round_key[i-1])函数。# 调用F(R[i-1],round_key[i-1])函数。#S盒(sBox[8][4][16])8个4行16列。
2025-05-19 23:56:00
694
原创 维吉尼亚密码重合指数法破译
统计c中每个字幕出现的次数,返回值为一个字典,键为字母,值为出现次数。#将元组(密钥长度,平均IC值)保存到列表ic_list。print(f"\n解密后的明文:\n{plaintext}")print(f"\n最可能的密钥长度:{best_m}")# key为-x[1]表示按IC值降序进行排列。# 2. 选择最可能的密钥长度(IC最高的)#x表示列表的元组,x[1]表示平均IC值。print(f"恢复的密钥:{key}")print("猜测密钥长度及IC值:")#i为密文中某个字符索引,c为字符本身。
2025-05-19 23:55:22
357
原创 Hill密码加解密算法(3阶方阵)
eval(input(f"请输入3×3密钥矩阵第{i + 1}行的三个数,用逗号隔开(如:11,2,19):")))eval(input(f"请输入3×3密钥矩阵第{i+1}行的三个数,用逗号隔开(如:11,2,19):")))print("密钥参数错误,行列式与26不互素,请重新输入:\n")print(f"再对密文进行恢复得到明文:{m1}")m=input("请输入你要加密的明文:")print(f"加密后的明文为:{c}")print("解密密钥如下:")#求a与b的最大公因子。
2025-05-19 23:54:01
382
原创 维吉尼亚密码加解密算法
print('恢复后的明文为%s'%m)key=input('请输入密钥:')m=input('请输入明文:')print('密文为%s'%c)#维吉尼亚密码加密算法。#维吉尼亚密码解密算法。#维吉尼亚密码测试函数。
2025-04-18 19:51:48
300
原创 仿射密码加解密算法
print('再对密文进行解密得到明文:%s'%D_Affine_Cipher(a,b,c))print('参数b不合理,请输入0-25范围内的数:')print('参数a不合理,请输入Z/*26中的数:')a=int(input('请输入参数a:'))b=int(input('请输入参数b:'))m=input('请输入想要加密的明文:')print('加密后的密文为:%s'%c)#求a与b的最大公因子。
2025-04-18 19:05:25
344
原创 C++:类和对象的使用习题
编程实现如下功能:输入:4 3输出:peri=14area=12源代码:private:int length;int width;public:cin>>width;int c;x=length;y=width;c=2*(x+y);return c;int s;a=length;b=width;s=a*b;return s;;int main()int m;int n;int peri;int area;return 0;
2024-03-29 17:27:27
467
1
原创 C++:让两个数相加
int main()int a,b,c;cin>>a>>b;c=add(a,b);return 0;int z;z=x+y;return z;
2024-03-29 17:25:01
402
1
原创 第一次接触嵌套if
printf("未成年\n");printf("中老年\n");printf("老寿星\n");printf("青年\n");printf("老年\n");
2023-10-23 16:32:20
140
1
原创 用while循环语句画三角形
/(1)先画前面的llinenumm-currline个空格。printf("请输入三角形的行数及构成三角形的符号:");//(2)再画后面的2*currline-1个字符。
2023-10-17 16:26:31
734
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅