- 博客(28)
- 收藏
- 关注
原创 适配器模式(Adapter Pattern)
适配器模式是一种结构型设计模式,主要用来解决两个不兼容的接口之间的问题。当需要在英国使用的设备(如英国的笔记本电脑充电器)接入中国的插座时,直接接入会因接口不兼容而无法使用。方法,从而实现了接口的转换,让原本不兼容的接口可以协同工作。来适配这两种不同的接口。这个适配器实现了英国的。:中国和英国的插座接口不兼容,中国的插座是。接口,并在其内部使用中国的。方法时,它会调用中国插座的。
2025-04-28 15:06:57
319
原创 复合模式(Composite Pattern)
通过这种设计,client 可以以统一的方式处理单一任务和复合任务,无需关心具体是处理单个任务还是任务集合,这正是复合模式的核心思想。getScore() 方法实现了接口中的方法,但它通过递归调用所有子任务的 getScore() 方法来计算总分。创建复合任务:创建 CompositeTask 对象,并将任务(可以是单一任务或其他复合任务)添加到其中。复合组件(CompositeTask):表示一个可以包含其他任务(叶子或复合组件)的复合任务。接口是一个契约,规定了所有实现该接口的类必须提供的方法。
2025-04-28 14:54:59
385
原创 决策树算法(Decision Trees Algorithms)
使用鸢尾花数据集(Iris)构建决策树分类模型,并与K近邻(KNN)算法进行性能对比。:导入鸢尾花数据集,包含4个特征(花萼长宽、花瓣长宽)和3种鸢尾花类别。特征(Features):输入变量(如花瓣长度)。标签(Labels):输出类别(如鸢尾花种类)。:将数据分为训练集(用于模型学习)和测试集(用于评估模型性能)。训练集(Training Set):模型学习的数据。测试集(Test Set):模型未见过的数据,用于验证泛化能力。:使用决策树算法学习数据中的分类规则。
2025-03-21 09:45:33
377
原创 基于KNN算法的鸢尾花数据集分类与参数分析
标签数据,形状为(150,),表示每个样本所属的类别(0、1、2分别对应三种鸢尾花): 特征数据,形状为(150, 4),表示有150个样本,每个样本有4个特征。: 绘制散点图,x轴为花萼长度,y轴为花瓣长度,颜色由类别决定,添加图例标签。: 将特征数据转换为DataFrame格式,列名使用数据集中的特征名称。: 加载鸢尾花数据集,返回一个Bunch对象,包含数据和标签。: 遍历三种鸢尾花类别(0、1、2),分别为每类数据指定颜色。: 显示标签对应的类别名称,即三种鸢尾花的种类。
2025-03-20 09:46:21
325
原创 lingo和matlab的数学建模
会取 0, 0.01, 0.02, ..., 1.00 共 101 个值。的取值范围是从 0 到 1,步长为 0.01。用于记录满足条件的元素数量,初始值为 0。记录满足条件的最大元素数量。中的每个元素加上当前的。未定义,需进一步明确)。
2025-03-20 08:40:18
210
原创 K最近邻(K-Nearest Neighbors, KNN)
KNN是一个“懒惰”但直观的分类算法,适合入门学习。你需要关注:如何选择K值和距离度量。数据预处理的重要性。高维数据的挑战。通过实际练习(如用Python的。
2025-03-18 12:00:00
652
原创 并行计算Parallel Computing
通过数据和算法data and algorithms管理的并行,包括数据并行Data Parallelism、功能并行Functional Parallelism和混合并行Hybrid Parallelism。串行计算机A serial computer,单处理器a single processor (CPU)执行单指令流single instruction stream,单数据流One data stream。它更关注任务的调度和管理,使得多个任务可以交替进行,给人一种同时进行的错觉。
2025-03-13 10:02:52
1048
原创 线性规则问题
制造商必须向商店提供多少数量的裤子和夹克才能使这些产品获得最大的销量?线性规划问题一家商店要求一家制造商生产裤子和运动夹克。材料方面,拥有棉纺织750平方米,涤纶1000平方米。每条裤子(1条)需要1m^2棉和2m^2涤纶。每件夹克需要1.5平方米的棉和1平方米的聚酯。裤子的价格定在40英镑,夹克定在50英镑。线性规划的核心是目标函数与约束的构建。可持续性在系统开发中的应用(未展开)。所有目标函数系数非正(达到最优)。两约束线交点:(375,250)此为最大销售额对应的生产计划。问题无界(无约束限制)。
2025-03-11 15:10:39
341
原创 贪婪算法和网络流问题
Prim 算法更适合稠密图,且从任意节点开始构建最小生成树,时间复杂度较高,但可以通过斐波那契堆优化。Kruskal 算法更适合稀疏图,从最小权重的边开始构建,能够处理非连通图,时间复杂度较低。最小切割问题:寻找一种方式,通过移除最少的边容量,将图分成两部分,使得 ss 和 tt 不再连通。最大流-最小割定理:最大流等于最小割,这是网络流问题中的一个核心结论。应用:最小割在网络设计、流量优化和可靠性分析中有重要应用。容量(Capacity)定义:容量是指一条边能够承载的最大流量。它表示边的“上限”。
2025-03-10 10:06:54
664
原创 图论(Graph Theory)和图表示
图:[0,1],[0,6],[0,8],[1,4],[1,6],[1,9],[2,4],[2,6],[3,4],[3,5],[3,8],[4,5],[4,9],[7,8],[7,9]:图 G 由两个集合组成,G={V,E},其中 V 是顶点(节点)的集合,E 是边(连接顶点的线)的集合。遍历顺序:<1,2,8,3,7,4,5,9,6><1,2,8,3,7,4,5,9,6>:从起始顶点开始,逐层访问顶点,先访问所有相邻顶点,再访问相邻顶点的相邻顶点。遍历顺序:<1,2,3,4,7,5,6,8,9>
2025-03-04 15:00:06
1095
原创 动态规划(Dynamic Programming, DP)和分治法(Divide and Conquer, D&C)
分治法是一种将问题分解为多个独立的子问题,递归地解决这些子问题,然后将子问题的解合并以得到原问题的解的方法。它的核心思想是将问题分解为子问题,并将子问题的解存储起来(通常通过。动态规划通过存储子问题的解,避免了重复计算,适用于具有重叠子问题和最优子结构的问题。:通过迭代的方式从最小的子问题开始,逐步构建更大的问题的解。:问题可以分解为多个子问题,而这些子问题会被多次重复计算。:问题的最优解可以通过子问题的最优解来构造。从最小的子问题开始,逐步构建更大的问题的解。问题:是否可以用最少数量的硬币凑出目标值?
2025-03-04 11:13:53
769
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅