自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 散列表(哈希表)

我们根据我们设计的求余,对应到对应的表格位置,然后把数字放入进去,然后当下一次数字放的时候冲突了,就往后面进行走,走到没有放置的位置,如果从7开始走到11都没有位置就走到0开始放入,找一个空闲的位置。当我们进行删除操作的时候,要标记为删除的标记,初始化的标记与删除的标记不一样,删除的标记是你下一次填入值还可填入,查找的时候不会断层。ASL失败 = (3 + 2 + 1 + 1 + 3 + 2 + 1 + 8 + 7 + 6 + 5) / 11 = 39 / 11。散列函数分为两种函数。

2025-06-02 19:13:31 455

原创 并查集(上)

当我们访问a的时候,再返回这个值的时候,所路过的点就直接指向X,这样就是扁平化,这样在下一次再次访问的时候,就可以直接以O(1)的时间复杂度来进行访问了。这个就是把带有两个元素的集合进行合并,然后就是改变father数组里面的数字还有就是改变对应的大小,然后另外一个被合并的的size数组里面的数字进行改变。首先0的头部变成1了,但是1的头还是1,但是这个0的大小没有改变是因为这个已经没用了,用叉叉表示了,因为此时0不是头了,不再是代表数组。我们不难看出这个就是把这个对应不是代表值的,直接标记为垃圾值。

2025-06-02 19:11:19 503

原创 最小生成树

2 然后判断每一个边,利用并查集判断是否可以进行合并,然后加上这个权值和这个边数,加上边数和权值就可以进行返回了。B 如果这个点没有存在数组里,那么就加权值和点个数,然后把这个点放入数组里,进入下一个点。1 开辟一个小根堆和一个数组,小根堆是用来装边的,数组是用来装顶点的,记录那些顶点走过。2 可以从图上的任意节点开始,然后把这个点放入到数组里面,把这个边都放到小根堆里。A 如果这个点已经存在数组里,那么就直接把这个点给舍弃掉,重复步骤3。我们这里的find,binunion,build是在并查集实现的。

2025-05-31 22:15:13 372

原创 STL之vector

并不是在原有的空间里面之后续接新的空间,而是找更到的空间,然后将原有的数据拷贝到新的空间,释放原有空间。这个一般都是知道元素的大小提前预留空间节省时间的开销。我们所需要学习的是怎么使用这个和这个东西的实际用途。下面是有关于vector这个容量和大小的相关函数。vector容器的迭代器是支持随机访问的迭代器。下面我们来看看vector的构造函数的使用。这个主要的作用是减少重新开辟的时间开销。这里的插入和删除都是要迭代器。三种vector的赋值方式。下面是这个代码的演示。上面是获取元素的方式。

2025-05-31 11:45:54 664

原创 篮球分组问题讨论

数学建模

2025-05-30 21:07:13 752

原创 刀具问题讨论

数学建模

2025-05-30 20:39:42 936

原创 八N皇后问题

我们有8个皇后,那就是for循环循环8行,每次放置一个棋子就进行一次判断,然后判断这个棋子可不可以落在这里如过可以那么久进入到下一行,x进行+1秒如果不可以的话,那么就进入这一行的下一个格子下一个,这就是枚举8行8列。首先我们的行是已经操作完的了,就是在判断行的话是在递归的过程中进行讨论的,然后就是只需要判断这个列是否成立就好了,然后斜边的话,那不就是直接判断左上角和右上角就好了。我们知道右上角就是不断的进行加1嘛,这个行的话,列就是不断地进行减1,左上角就是反着地。我们的任务就是用MATLAB进行求解。

2025-05-30 20:37:56 373

原创 数学建模之最短路径问题

摘要:本文探讨了运用LINGO软件求解最短路径问题的建模方法。通过借鉴Dijkstra算法思想,将节点状态设计为:起点标记为1,中间节点为0,终点为-1,以此构建网络流模型。重点阐述了目标函数(求权值最小)和约束条件的数学表达,包括节点状态转换规则(起点出度-入度=1,终点=-1,中间节点=0)。特别说明了LINGO编程技巧:使用@if嵌套实现条件判断、规范data语句段的数据输入方式,以及用二进制变量x(i,j)表示路径选择。该模型通过合理设置节点状态和约束条件,有效解决了最短路径优化问题。

2025-05-30 20:36:36 682

原创 2014药柜设计问题

摘要:本文针对储药柜设计问题,提出了一种基于数学模型和算法的优化方案。首先分析药盒在储药槽中的约束条件,包括2mm间隙要求和防重叠、侧翻、水平旋转的几何限制。通过建立药盒宽度与储药槽间距的数学模型,使用LINGO和C++两种方法求解最小间距类型数量。其中,LINGO方法通过0-1整数规划得到最优解4种类型,而贪心算法实现将1919种药盒分类到4种标准间距的储药槽中,并详细列出了每种类型对应的药品编号。研究结果为药柜设计提供了兼顾空间效率和成本控制的最优分区方案。

2025-05-30 20:34:56 1564

原创 2011肠衣问题

数学建模

2025-05-30 20:32:32 886

原创 【day4】数据结构刷题 树

1 遍历的方法,这个后面很常用2 判断是否是同一个二叉树,就是不断对树的根节点进行判断,而且顺序是一样的,因为插入的方法3 堆的就是路径就是用一个while循环来往前面不断地比较。

2025-03-29 15:47:51 635

原创 【黑皮书】伸展树

伸展树

2025-03-25 17:02:39 548

原创 【黑皮书】AVL树旋转的代码实现

AVL树旋转的实现

2025-03-25 11:49:48 359

原创 【黑皮树】表达式树

表达书的介绍 树和栈的结合利用产生表达式树

2025-03-25 10:43:47 432

原创 【黑皮书】树

树的概念,树的表示方法,树的遍历方法,树的存储

2025-03-25 09:29:55 947

原创 【day3】数据结构刷题 树

1 求树地高度 2 输出二叉树的子叶节点 3 统计节点个数和子叶节点个数 4 列出祖先节点

2025-03-24 20:01:29 560

原创 【黑皮书】 AVL树

AVL树的学习AVL树是带有平衡条件的二叉查找树,这个平衡条件要持续保持,而且必须保证树的深度为O(log(N))最简单的想法就是要求左右子树具有相同的高度一棵AVL树是其每一个节点的左子树和右子树的高度相差1的二叉查找树,空树的高度定义为-1,在对树进行操作的时候,时间复杂度往往都是log(N),但是这里复杂操作就是插入,为什么?因为你插入一个节点可能会破坏AVL树的特性,那么就要把性质恢复以后才认为这一步插入完成,事实上可以通过对树进行简单的修正来做到,这个就称为旋转。

2025-03-24 09:45:09 566

原创 【day2】数据结构刷题 栈

一 有效地括号 二 计算器 三 设计栈

2025-03-23 12:12:51 967

原创 【day1】数据结构刷题 链表

1 反转链表 2 合并两个有序链表 3 删除链表的倒数第 N 个结点 4 删除元素非递减的单链表中的重复元素 

2025-03-22 09:01:38 643

原创 C++ primer plus 类和动态内存分配

这里将要讲述类和动态内存分配1 动态内存分配和类首先我们复习了new和delete的用法其次就是静态存储的一些操作,如enum和static这两个使用的方法最后就是这个常量的赋值一般都是在方法文件里面,因为如果我们定义在class里面,那么每一次引用就要进行一次初始化,这样会出现多个初始化副本,这样就会出现重名错误,我们要牢记,这个常量不是对于每个成员的,而是公用的2 特殊成员函数默认构造和析构函数,复制构造函数,运算符重载函数。

2025-03-20 23:27:47 729

原创 数学建模 第三节

99年钻井布局详细分析

2025-03-20 09:25:33 1010

原创 C++ primer plus 使用类下

接着上一章的内容学习了我们可以从对象转换到普通类型的方法:转换函数这个转换函数要注意点就是我们书写多个的时候要注意会出现二义性错误然后就是我们要巧妙使用explicit这个关键词和运用成员函数解决这个问题书写格式是operator typename( )这个格式。

2025-03-17 19:41:50 305

原创 C++ primer plus 使用类上

符号重载 operator +( )重载+运算符友元的推论友元的定义和使用类的自动转换

2025-03-17 15:37:07 1102

原创 数学建模 第二节

解题技巧 料场的建立非线性规划 99年钻井布局第一题

2025-03-16 10:34:12 786

原创 【bug日记】 编译错误

但是我成功编译之后,我把里面的函数进行了修改,发现,不知道为什么我输出的结果老是是我上一次输出的结果,我也删除了exe然后重新编译了很多次都是不行,这个时候我去找了al,结果是文件没有进行保存,你的编译器是不会编译你当前文件,而是你上一次保存的文件,这就很难受,所以当你编写玩一定要去保存后调试。在我使用vscode的时候,我想用一个头文件和两个cpp文件,头文件是用来声明一个类的,一个cpp是用来类的成员函数,一个cpp是主函数。这个时候就是我使用g++编译的时候出现了问题,就是我g++指令是这样写的。

2025-03-15 23:41:26 474

原创 C++ primer plus 类和对象下

接着上一篇继续剩下的抽象数据在我的数据结构里面有,这里就不讲了现在我们学习了this指针,对象数组和类的作用域和常量该怎么处理。

2025-03-14 22:23:09 645

原创 C++ primer plus 类和对象上

前面已经描述了很多有关于类和对象的知识了,所以我们直接开始上手操作我们学习了怎么设计类,头文件应该放什么,方法应该放到哪里,还有就是析构函数和构造函数需要注意的。

2025-03-14 17:28:40 828

原创 算法刷题 国赛镜像dfs1题

九宫幻方

2025-03-14 10:49:52 279

原创 数学建模 第一节

优化模型的类型 钢铁制造线性规划 公交站的安排线性规划 投股0-1规划

2025-03-13 16:45:18 1666

原创 C++ primer plus 内存模型和命名空间下

第一部分的序章。

2025-03-12 08:41:51 298

原创 C++ primer plus 第八节 内存模型和命名空间上

我们讲面向较为底层的体系去学习单独编译存储持续性、作用域和链接性定位(placement) new 运算符,名称空间。

2025-03-11 21:58:15 1289

原创 算法day7 bfs搜索1题 动归1题

这个是bfs的升级版本,上面也又思路,那我们要总结可以收获到什么东西。

2025-03-09 12:08:54 832

原创 算法 背包问题

这里是背包系列问题,需要知道动态规划地知识才可以理解这个一个东西,所以可以先去看看我的动态规划地文章算法 动态规划-CSDN博客我们还是学习了dsf,记忆化,动态规划这个背包问题就是需要一个max来求取最优子问题,然后前面再加几个判断条件就好了然后记忆化搜索就是创建一个变量进行保存,然后再创建一个数组进行保存数据就好了01背包式需要x+1进行限制,完全背包不需要二维费用背包就是需要条件的限制而已需要注意的是,我们需要进行限制的条件就是我们函数的形参。

2025-03-08 17:21:07 915

原创 C++ primer plus 第七节 函数探幽下

如果你坚持阅读到这里配合书本,那么你也是一个强者了,加油一起hard介绍了编译器使用哪一个函数的版本。

2025-03-07 21:42:39 910

原创 C++ primier plus 函数探幽中

这里是上一篇文章的绪论,其实还要写一篇,太多知识点了,这个本书很难,只能说作者看的要废了,然后这个是基于作者的理解,然后部分后面讲的省掉了,只找重点,让我们理解这里面的重点知识引用的绪论我们可以知道结构体和类的引用的使用方法,什么时候使用引用引用我们需要注意的就是const修饰,返回值的类型,用const修饰的时候,计算机会进入哪一些操作,提示临时变量引用,类,继承我们这里需要知道基类,派生类是什么含义基类的引用作为形参的话,进行传实参的时候,既可以是派生类或者基类。

2025-03-07 21:14:39 1244

原创 算法day6 dfs搜索

路径之谜 excle地址

2025-03-06 16:11:37 591

原创 C++ primier plus 第七节 函数探幽上

这一篇文章主要是讲解内联函数,引用的深入理解尤其是引用,这个东西在类里面很经常见到和使用,基本都是,如果没有深入理解,后续学习很难作者深有体会,之前是按照b站课上学的,结果还是一头雾水一 内联函数内联函数的出现理解内联函数的时候,需要理解程序是在电脑里面怎么进行运转的,可以先看看这个,去底层知道电脑是如何运转的C底层 函数栈帧-CSDN博客。

2025-03-06 10:04:56 844

原创 算法 并查集

并查集主要是用来求解集合问题的,用来查找集合还有就是合并集合,可以把这个运用到最小生成树里面我们今天讲述了并查集。

2025-03-04 23:04:34 1334

原创 算法day5 bfs搜索

马的遍历 血色先锋队

2025-03-02 17:36:41 694

原创 C++ primer plus 第五节 循环

由于作者看了后面的内容,觉得只要有点深入学过C语言就可以知道,所以这里就直接讲述一点,下一节直接讲述面向对象这里的循环章节就没有全部写完了,博主看了一下后面,其实是一些不常用的,等到开发阶段遇到那些问题再来学也没问题,我们下一节直接启动类与面向对象我们学习for循环的关键词语新增语法明显表达式和不明显表达式副作用表达式副作用和顺序点的概念前缀与后缀的效率在for循环与不同点逗号运算符的作用。

2025-03-01 23:22:35 639

空空如也

空空如也

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

TA关注的人

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