- 博客(52)
- 收藏
- 关注
原创 【LLM开发学习】
import os#1.模型创建model="deepseek-ai/DeepSeek-R1-0528-Qwen3-8B",#"Qwen/Qwen3-8B", # 模型名称model_provider="openai", # 模型提供商,硅基流动提供了openai请求格式的访问base_url="https://api.siliconflow.cn/v1/", #硅基流动模型的请求urlapi_key="*****", # 填写你注册的硅基流动 API Key# #2.准备prompt。
2025-08-08 22:44:14
357
原创 记录Leetcode中的报错问题
对于同一个节点重复释放内存或释放后使用;程序执行完毕后,回对内存进行释放,如果不断开最后一个节点,会找到head为头部的链表节点,将head的某节点内存重复释放public:k <= r;int n=0;while(cur!i<n;i++){
2025-07-17 16:47:06
199
原创 数据结构-算法C++(必备2)
因为不同的两棵树,可能得到同样的中序序列,即便补了空位置也可能一样。如下图:序列化都是:#,2,#,1,#左子树的所有节点值小于根节点值,右子树的所有节点值大于根节点值(对各节点都是如此)。输出:[[],[1],[1,2],[1,2,2],[2],[2,2]]在 N×N 格的国际象棋上摆放N 个皇后,使其不能互相攻击,即。请完成无序栈的排序,要求排完序之后,从栈顶到栈底从小到大。时间复杂度O(n)------下面三题复杂度一样。:O(h^2)------h整体高度。比如输入:nums = [1,2,2]
2025-06-30 19:47:39
732
原创 数据结构-算法C++(必备019~035)
sort:其在比较器返回为true时,左侧的参数优先级更高;priority_queue:其在比较器返回为true时,右侧的参数优先级更高。// 重载小于运算符,用于比较年龄// 使用sort按年龄排序//降序// 使用优先队列按年龄排序(最小堆),升序pq.push(p);// 输出优先队列中的元素,注意这将输出最大年龄的元素最先出来,因为我们用的是默认的max-heapwhile (!pq.pop();
2025-06-14 21:11:36
916
原创 数据结构-算法C++(必备1-位运算)
给你两个整数 x 和 y,计算并返回它们之间的汉明距离,即为:返回一个数二进制中有几个1。Python的同学实现位运算的题目需要特别注意,需要自己去手动处理溢出和符号扩展等问题。减一后,通过之后的移位,在进行或运算,使得最左侧的1通过操作覆盖之后的所有位置。代码中的&操作是为了获得所在位,左右移为了将位错开,再进行与操作。对于相邻的两个数,&操作会使得最右侧的1消除(因为需要减1)1162261467为int类型中最大的3的幂,3^19。将1所在最高位以下的位都变为1,返回其加1。其余语言溢出会自动去除。
2025-06-09 16:20:36
523
原创 数据结构-算法C++(必备1-异或运算特殊操作)
1.异或运算就是无进位相加(即 相同时1+1舍去进位)黑球的数量如果是奇数,最终的球是黑的概率是100%4.整体异或是x,整体中某个部分的异或是y,那么。黑球的数量如果是偶数,最终的球是黑的概率是0%相同为0,不同为1-----完全和白球的数量无关。
2025-06-09 16:18:31
398
原创 排序算法总结(C++)
数据量非常小的情况下可以做到非常迅速:插入排序性能优异、实现简单且利于改进(面对不同业务可以选择不同划分策略)、不在乎稳定性:随机快排性能优异、不在乎额外空间占用、具有稳定性:归并排序性能优异、额外空间占用要求O(1)、不在乎稳定性:堆排序。
2025-06-06 16:56:58
478
原创 数据结构-算法学习C++(入门)
按照递归序,上述顺序为:1,2,4,4,4,2,5,5,5,2,1,3,6,6,6,3,7,7,7,3,1;但是某些问题使用硬计算类的算法,可能会让计算的复杂度较高(大厂算法和数据结构笔试、面试题、acm比赛或者和acm形式类似的比赛,考察的都是硬计算类算法)上述是对三种排序算法的检测,如果报错可通过调整数组长度和数据大小,选择容易的数组进行测验,以解决报错。请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。时间复杂度O(n),额外空间复杂度O(h),h是二叉树的高度;
2025-05-28 17:06:36
1419
原创 BERT模型
如图左一为BERT架构,其余两个分别是GPT和ELMo的架构图。注:BLEU:衡量机器翻译的好坏.以下架构图为Transformer文本翻译结构。前馈全连接层模块, 由两个线性变换组成, 中间有⼀个Relu激活函数, 对应的数学公式形式如下:Add & Norm模块接在每⼀个Encoder Block和Decoder Block中的每⼀个⼦层的后⾯. 具体来说Add表示残差连接, Norm表示LayerNorm.输出部分经过的位置编码。参考资料
2024-08-28 17:16:09
1327
原创 深度学习中的一些函数
上三角部分是指矩阵的主对角线及其上方的元素(对于每行来说,即在主对角线右侧的元素)。triu 是 “triangular upper” 的缩写,意味着"上三角"。在某些场景下,如果多个对象共享子对象,可能会引起意外的修改(因为这些子对象是共享的)。深拷贝可以防止这种情况。当对象中包含复杂的嵌套结构(如列表、字典)时,深拷贝会递归地复制这些嵌套对象。当你需要确保新对象和原对象完全独立,没有共享的子对象时。矩阵运算中非常常见的操作,用于提取或构建一个矩阵的。
2024-08-28 15:41:07
1182
原创 seq2seq架构
输入:划分为序列的词向量输出:针对每一个词向量对应的译文从上图中可知, seq2seq模型架构, 包括两部分分别是encoder(编码器)和decoder(解码器)编码器和解码器的内部实现都使⽤了GRU模型, 这⾥它要完成的是⼀个中⽂到英⽂的翻译: 欢迎 来 北京 --> welcome to BeiJing. 编码器⾸先处理中⽂输⼊"欢迎 来 北京", 通过GRU模型获得每个时间步的输出张量,最后将它们拼接成⼀个中间语义张量c。
2024-07-02 15:48:25
462
原创 用RNN构建人名分类器
即随机生成10个国家、10个国家里的名字,并将其转换成张量(对于国家名张量category_tensor,其为一维,方括号内为其在国家名列表中的位置;即,对于GRU模型输出结果,取最大值后,判断‘B’(输入)为国家类别中第13个国家Portuguese中的名字(准确率低):即x和y张量相加,x的每一个值与y的每一个值相加(a的第一行为x的每一个值分别于y的第一个值相加…:y先乘10再进行torch.add(x,y),即相当于torch.add(x,10y)不然会将其当作一个数据(之后被选中时会报错)
2024-06-22 16:23:46
1080
原创 RNN(循环神经网络)
RNN(Recurrent Neural Network), 中文称作循环神经网络,它一般以序列数据为输入,通过网络内部的结构设计有效捕捉序列之间的关系特征,一般也是以序列形式进行输出.RNN的循环机制使模型隐层上一时间步产生的结果,能够作为当下时间步输入的一部分(当下时间步的输入除了正常的输入外还包括上一步的隐层输出)对当下时间步的输出产生影响.结构:三层,输入、输出、隐藏层(循环在隐藏层)图中sigma为sigmiod函数,将值压缩在0-1之间。
2024-05-16 18:18:12
19232
3
原创 神经网络基础
输入数据经过预处理,*W1——>激活函数…*Wn——>激活函数,输出。之后计算损失函数,通过反向传播对每一个参数进行求导,以修正参数值。
2024-04-25 11:30:09
1457
原创 STL常用算法---C++
概述算法主要是由头文件<numeric>组成。是所有STL头文件中最大的一个,范围涉及到比较、 交换、查找、遍历操作、复制、修改等等;<numeric>体积很小,只包括几个在序列上面进行简单数学运算的模板函数;定义了一些模板类,用以声明函数对象。
2024-03-09 10:59:12
1029
原创 STL函数对象---C++
可见,sort函数默认为升序是因为调用了关系仿函数less,而想要改变排序顺序也可调用内置仿函数.总结:关系仿函数中最常用的就是greater<>大于。无论一元还是二元运算模板列表只能给一个类型.同认容器部分中vector容器降序的形式。myPrint调用次数为: 5。函数对象(仿函数)是一个。
2024-03-03 16:57:36
1268
原创 STL常见容器(map/multimap容器)---C++
/仿函数public://按照年龄进行排序 降序//指定排序规则//改变排序顺序需要在插入数据之前改变//插入自定义数据Person p1("刘备", 23);Person p2("关羽", 27);Person p3("张飞", 25);Person p4("赵云", 21);it!= m.end();it++) {
2024-03-02 11:13:18
1011
原创 STL常见容器(set/multiset)---C++
/仿函数public:////按照年龄进行排序 升序//指定排序规则//内为数类型,不可放置函数名//改变排序顺序需要在插入数据之前改变//插入自定义数据:只需类型+参数s2.insert(Person ("刘备", 23));s2.insert(Person ("关羽", 27));s2.insert(Person ("张飞", 25));s2.insert(Person ("赵云", 21));it!= s2.end();
2024-02-29 17:25:07
874
原创 STL常见容器(list容器)---C++
将Person自定义数据类型进行排序,Person中属性有姓名、年龄、身高、体重;排序规则:按照年龄进行升序,如果年龄相同按照身高进行降序,如果身高相同按照体重升序。public:public://姓名int m_Age;//年龄//身高//体重//仿函数或回调函数elseelseit!= L.end();it++) {cout
2024-02-28 17:37:20
937
原创 STL常见容器(stack、queue容器)---C++
注意:栈顶和栈底位置。可对照如图弹夹理解记忆(先入弹夹的子弹被后发射出来,后入弹夹的子弹先发射出来,只有顶端的子弹出来后,前面的子弹才可发射出来,即只有一个出口)(First In First Out,FIFO)的数据结构,它。(First In Last Out,FILO)的数据结构,它。栈中进入数据称为 —栈中弹出数据称为 —队列中进数据称为 —队列中出数据称为 —
2024-02-27 20:10:18
848
原创 STL常用容器(vector容器)---C++
功能:vector与普通数组区别:动态扩展:功能描述:函数原型:示例:函数原型:示例:功能描述:函数原型:示例:可见,容量开辟的会比实际所需大小大一点。总结:函数原型:示例:总结:函数原型:示例:总结:功能描述:函数原型:示例:vector(v).swap(v);其中vector(v)表示创建一个匿名对象,其大小和容量按照v的实际大小进行初始化(即为什么交换后v的大小和容量都为3)。总结:swap可以使两个容器互换,可以达到实用的收缩内存效果功能描述:函数原型:示例:可见,对于大
2024-02-25 18:18:46
904
原创 STL常用容器(string容器)---C++
对于用“ ”括住的本质是属于const char*类型的,但将其赋值给string类型时,其就变成了string类型。例如:查找find,拷贝copy,删除delete 替换replace,插入insert;string管理char*所分配的内存,不用担心复制越界和取值越界等,由类内部进行负责。总结:string字符串中单个字符存取有两种方式,利用 [ ] 或 at。**总结:**插入和删除的起始下标都是从0开始。按字符的ASCII码。
2024-02-25 17:25:48
847
原创 STL初始---C++
/创建一个vector容器---int数组//向容器中插入数据Person p1("唐僧", 30);Person p2("孙悟空", 99999);Person p3("猪八戒", 9999);Person p4("沙和尚", 999);Person p5("白龙马", 99);//通过迭代器访问容器中的数据---以for循环为例it!= v.end();it++)//*it表示的是< >中的类型元素。
2024-02-24 11:57:15
787
原创 模板(类模板)---C++
对于普通类成员函数,当创建对象时就可以调用成员函数;对于类模板,利用其创建对象后,如果其成员函数是一开始就创建,则创建对象后就可调用,但对于func2()函数却不可调用,只有在创建相应对象后才可以调用相应成员函数.写到同一个文件中,并更改后缀名为.hpp,hpp是约定的名称,并不是强制。总结:建议全局函数做类内实现,用法简单,而且编译器可以直接识别。T —通用的数据类型,名称可以替换,通常为大写字母。类模板中成员函数类外实现时,需要加上模板参数列表。注意与普通类成员函数的类外实现对比记忆.
2024-02-22 20:56:25
1087
原创 模板(函数模板)---C++
它代表一个未知的具体类型,这个类型在编译时被指定,而不是在运行时。泛型类型不是具体的类型,而是类型的模板,类似于对象模板的概念。泛型编程的核心在于使用参数化类型,即类型参数,来定义可以操作多种不同数据类型的通用数据结构和算法。如果模板的数据类型传入的是像Person类这样的自定义数据类型,无法正常运行;**注意:**对于具体化的模板,要先有普通函数模板才可实现,否则报错。建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个。T — 通用的数据类型,名称可以替换,通常为大写字母。
2024-02-19 21:37:04
1180
原创 不常见知识点汇总
而每抛弃一个字符,它都要进行计数和比较字符:如果计数值达到 a 或者被抛弃的字符是 ch,则cin.ignore() 函数执行终止;函数本质:ignore()函数的本质是从输入流中读取并丢弃一定数量的字符,直到达到指定的数量或遇到第二个参数指定的终止字符。注意:可能会有误解认为ignore()会影响后续输入的位置,但实际上它只是简单地跳过当前的一些输入。cin.ignore()函数中有两个参数,分别为。只有输入整型数字才可输出,输入其他类型时无用。它表示从输入流 cin中提取字符,提取的字符。
2024-01-28 18:51:39
440
原创 多态应用实例
如果想扩展新的功能,不需要修改源码,遵循开发中开闭原则,只需在补充所需对象,直接调用即可。电脑主要组成部件为 CPU(用于计算),显卡(用于显示),内存条(用于存储);利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶。制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料。创建电脑类提供让电脑工作的函数,并且调用每个零件工作的接口;总结:C++开发提倡利用多态设计程序架构,因为多态优点很多。开闭原则:对扩展进行开放,对修改进行关闭。,例如Intel厂商和Lenovo厂商…
2024-01-24 17:49:58
465
原创 类和对象(封装和对象特性)---C++
* 将**属性和行为**作为一个整体,表现生活中的事物;* 将属性和行为加以**权限控制**。构造函数与析构函数。
2024-01-12 15:35:48
1074
1
原创 引用和函数提高---C++
函数名可以相同,提高复用性;同一个作用域下;函数名称相同;函数参数类型不同或者个数不同或者顺序不同。函数的返回值不可以作为函数重载的条件。//函数重载需要函数都在同一个作用域下cout << "func 的调用!" << endl;cout << "func (int a) 的调用!" << endl;cout << "func (double a)的调用!" << endl;cout << "func (int a ,double b) 的调用!" << endl;
2024-01-10 18:12:36
922
1
原创 内存分区模型---C++
可以看出:全局区包含:全局变量、静态变量、常量(字符串常量、const修饰的全局变量(全局常量)); 注意事项:不要返回局部变量的地址,栈区开辟的数据由编译器自动释放。的,共享的目的是对于频繁被执行的程序,只需要在内存中有一份代码即可; 全局区还包含了常量区, 字符串常量和其他常量也存放在此.不在全局区:局部变量、const修饰的局部变量(局部常量)。的,使其只读的原因是防止程序意外地修改了它的指令。 利用new创建的数据,会返回该数据对应的类型的。 堆区开辟的数据,由。操作符在堆区开辟数据。
2024-01-10 17:21:32
1045
1
原创 基础知识---C++
命名空间是C++的一种机制,用来把单个标识符下的大量有逻辑联系的程序实体组合到一起。C++标准程序库中的所有标识符都被定义于一个名为std的namespace中。#include< iostream>是标准的C++头⽂件,任何符合标准的环境都有这个头⽂件。技巧:看const右侧紧跟着的是指针还是常量, 是指针就是常量指针,是常量就是指针常量。提示:在给变量或者常量起名称时候,不要用C++的关键字,否则会产生歧义。建议:给标识符命名时,争取做到见名知意的效果,方便自己和他人的阅读。总结2:创建结构体变量时,
2024-01-09 21:38:43
1424
原创 文件操作---C语言
磁盘上的文件是文件。但是在程序设计中,(从文件功能的角度来分类)我们一般谈的文件有两种:程序文件、数据文件。功能函数名适用于字符输入函数fgetc所有输入流字符输出函数fputc所有输出流文本行输入函数fgets所有输入流文本行输出函数fputs所有输出流格式化输入函数fscanf所有输入流格式化输出函数fprintf所有输出流二进制输入fread文件二进制输出fwrite文件。
2023-12-30 17:33:10
974
1
原创 动态内存管理---C语言
有时候我们需要的空间大小在程序运行的时候才能知道,而且可能想要进行扩容或缩容,那数组的编译时开辟空间的方式就不能满足了。这时就只能利用动态内存开辟了。但是被static修饰的变量存放在数据段(静态区),数据段的特点是在上面创建的变量,直到程序结束才销毁所以生命周期变长。如果将动态开辟的空间地址放在结构体中,依次实现柔性数组的形式,是不是也可以呢?实际上普通的局部变量是在栈区分配空间的,栈区的特点是在上面创建的变量出了作用域就销毁。这个函数调整原内存空间大小的基础上,还会将原来内存中的数据移动到新的空间。
2023-12-28 16:25:14
912
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人