- 博客(637)
- 资源 (36)
- 收藏
- 关注
原创 纯数组嵌套的JSON数据使用QJsonArray进行嵌套查找
qDebug() << "矩阵[1][2] =" << element.toInt();qDebug() << "值:" << value.toInt();qDebug() << "值:" << value.toString();// 无效的索引格式。qDebug() << "Z坐标:" << zCoord.toInt();// 查找 [0][1][0]qDebug() << "找到的值:" << result.toInt();qDebug() << "叶节点:" << leaf.toString();
2026-01-09 11:27:54
259
原创 QJsonObject能否嵌套查找?
QJsonObject 支持嵌套查找,但需要逐层访问,因为 Qt 的 JSON API 是强类型的,没有内置的路径查询语法(如 JavaScript 的 obj.a.b.c)。4 对于复杂的 JSON 操作,可以考虑使用第三方库(如 JsonCpp、nlohmann/json)或 Qt 6 中增强的 JSON 支持。qDebug() << "找到值:" << value.toString();
2026-01-09 11:03:04
821
原创 JSON中的数组元素能否不同?
"John", 30, true], // 第一行:[姓名, 年龄, 是否活跃]"success", // 字符串:状态。{"page": 1, "size": 10} // 对象:分页信息。{"type": "string", "value": "用户名"},[], // 空数组:无附加信息。"title", // 字符串:组件标识。{"color": "blue"} // 对象:样式配置。
2026-01-09 10:31:26
266
原创 malloc 和 realloc 的区别
malloc 创建新内存块,realloc 修改现有内存块大小,可能涉及数据复制和内存移动。// 如果失败,ptr变为NULL,内存泄漏!printf("原地址: %p\n", (void*)p1);printf("新地址: %p\n", (void*)p2);// 不应依赖此行为,应使用 free(original_ptr)参数 1个(大小) 2个(原指针,新大小)调整已分配内存大小 可能移动内存,原指针失效。(3) 返回:指向新内存块的指针(可能与原指针不同)。
2026-01-08 10:13:48
250
原创 getc 和 fread区别
printf("只读取了 %zu 个元素\n", items);(1) getc():每次调用都有函数开销,适合小文件或需要逐字符处理的场景。(2) fread():一次系统调用读取大量数据,减少I/O次数,适合大文件。(2) fread() 是块级的读取,适合高性能数据处理。printf("到达文件末尾\n");(1) getc() 是字符级的读取,简单但效率较低。printf("读取错误\n");printf("读取错误\n");(2) 返回读取的字符(转换为 int 类型)。
2026-01-07 16:05:37
441
原创 std::thread::join() 和 std::future::get()的调用顺序分析
std::thread::join() 和 std::future::get() 都是阻塞调用,但它们在调用顺序和线程管理上有重要区别。4 使用 std::async:只需 get(),不需要显式 join()。// 注意:使用 std::async 时,不需要显式 join。std::thread t([](){ /* 任务 */ });
2025-12-25 11:22:00
578
原创 std::thread的使用
/ 应该是 20000。#include <functional> // 需要 std::ref。// 使用 std::ref 传递引用。
2025-12-25 10:08:33
1067
原创 Qt中setSpacing与setContentsMargins的区别
layout1->addWidget(new QPushButton("按钮A"));layout1->addWidget(new QPushButton("按钮B"));window1.setWindowTitle("只有间距(spacing=30)");layout2->addWidget(new QPushButton("按钮A"));layout2->addWidget(new QPushButton("按钮B"));
2025-12-12 10:26:20
519
原创 Qt中setSpacing函数介绍
setSpacing() 是 Qt 布局管理中的一个重要函数,用于设置布局中部件之间的间距。// 按钮之间垂直间距20px。// 水平方向间距20像素。// setContentsMargins: 布局与外部的边距。// setSpacing: 部件之间的内部间距。
2025-12-12 10:14:37
490
原创 计算机算法导论第三版视频讲解
算法导论》第三版是一本深度与广度兼备的经典算法教材,它不仅适合作为大学教材,也是技术专业人士的宝贵参考书。这本书的价值不仅在于教授具体的算法,更在于培养读者算法思维和分析能力,这是计算机科学教育的核心目标之一。书名:Introduction to Algorithms(中文译名:算法导论)2 在线课程:Coursera、edX等平台有基于本书的算法课程。使用渐进符号(大O、大Θ、大Ω)进行复杂度分析。2 准备面试:重点学习排序、数据结构、图算法等核心章节。出版社:MIT Press(麻省理工学院出版社)
2025-12-11 13:26:02
897
原创 计算机算法导论第三版算法视频讲解
算法导论》第三版是一本深度与广度兼备的经典算法教材,它不仅适合作为大学教材,也是技术专业人士的宝贵参考书。点击链接,打开【快手】直接观看!这本书的价值不仅在于教授具体的算法,更在于培养读者算法思维和分析能力,这是计算机科学教育的核心目标之一。书名:Introduction to Algorithms(中文译名:算法导论)2 在线课程:Coursera、edX等平台有基于本书的算法课程。计算机算法导论第三版的免费视频,会陆续不断更新算法视频。2 准备面试:重点学习排序、数据结构、图算法等核心章节。
2025-12-11 12:10:09
803
原创 Qt中addSpacing参数为0的作用
在实际开发中,如果确定不需要间距,通常直接不调用 addSpacing() 会更简洁。但在需要动态调整或条件控制间距的场景下,addSpacing(0) 是一个有用的设计模式。addSpacing() 是 Qt 布局类(如 QVBoxLayout、QHBoxLayout)中的一个方法,用于在布局中插入固定大小的间距。if (QLayoutItem *item = layout->itemAt(1)) { // 获取间距项。// 设置整个布局的间距。// 即使 spacing=0,它仍然是一个布局项。
2025-12-11 11:56:42
352
原创 QFrame::VLine 介绍
buttonLayout->addWidget(new QPushButton("另存为"));buttonLayout->addWidget(new QPushButton("保存"));buttonLayout->addWidget(new QPushButton("打印"));statusLayout->addWidget(new QPushButton("设置"));buttonLayout->addWidget(new QLabel("状态:"));// 设置合适的高度。
2025-12-10 11:51:38
339
原创 Qt中addStretch函数介绍
addStretch 是 Qt 框架中布局管理器(如 QHBoxLayout、QVBoxLayout)的一个函数,用于在布局中添加弹性空间。addStretch() 函数会在布局中插入一个可伸缩的空间(或称为弹簧),用于控制布局中各组件的间距和对齐方式。(2) insertStretch(int index, int stretch = 0):在指定位置插入弹性空间。(1) addSpacing(int size):添加固定大小的空间。(4)在复杂的布局中,合理使用弹性空间可以创建响应式的界面布局。
2025-12-10 11:39:05
497
原创 位图有哪些算法?
实际应用中应根据数据特征(规模、密度、分布)和需求(查询类型、性能要求、内存限制)选择合适的算法组合。位图(Bitmap),又称位数组(Bit Array)或位集合(Bitset),是一种使用比特位(bit)作为存储单元的数据结构,用于高效表示大规模整数集合。(1) 硬件感知优化:针对特定CPU架构(如ARM NEON,Intel AVX-512)优化。核心思想:利用位图存储单元(如64位字)的特性,跳过全为0的块。(2) 混合数据结构:结合位图与其他数据结构(如B+树,跳表)。
2025-12-09 11:36:33
974
原创 线段树有哪些算法?
线段树是一种二叉树数据结构,用于高效处理区间查询和区间更新问题。它将一个线性区间递归地划分为若干子区间,每个树节点存储相应区间的聚合信息。线段树的核心优势在于其灵活性和效率的平衡,通过不同的节点设计和标记策略,可以适应各种区间处理需求。如果当前区间完全包含在查询区间内,直接返回节点值。标记表示"该区间需要更新但尚未传递到子节点"。遇到有懒标记的节点,先下推标记再查询。(2)更新节点值:原值 + 增加值 × 区间长度。如果与右子区间有重叠,查询右子树。(3) 下推策略:根据标记类型按顺序更新子节点。
2025-12-01 11:39:57
593
原创 vs2015编译总是卡死
(3)链接:最后,链接器(如 link.exe)将所有的代码目标文件(.obj)和由资源转换而来的这个资源目标文件(.obj)链接在一起,打包成最终的可执行文件(.exe)或动态链接库(.dll)。将c:/windows/Microsoft.NET/Framework/v4.0.30319下的43kB的cvtres.exe,替换..vc/bin/下的48kB的cvtres.exe。它的核心作用非常专一:将编译后的资源文件(.res)转换为链接器能够识别的COFF格式的目标文件(.obj)。
2025-12-01 11:22:08
419
原创 vs2015下cl.exe的种类与区别
VS2015 x86-x64 Cross Tools Command Prompt: x86到x64交叉编译。[VS安装路径]\VC\bin\x86_amd64\cl.exe。[VS安装路径]\VC\bin\amd64_x86\cl.exe。[VS安装路径]\VC\bin\amd64_arm\cl.exe。[VS安装路径]\VC\bin\x86_arm\cl.exe。[VS安装路径]\VC\bin\amd64\cl.exe。(2)x64 上编译 x86 (amd64_x86)
2025-11-28 16:33:16
298
原创 B+树有哪些算法?
B+树通过其独特的设计(数据仅存于叶子、叶子节点链表、非叶子纯索引)在数据库系统中展现出巨大优势。从根节点开始,利用节点内键的有序性进行二分查找,逐层向下导航,最终在叶子节点中找到目标键或确认其不存在。找到正确的叶子节点插入数据,如果节点溢出则分裂,并将中间键提升到父节点,可能递归向上分裂。预先排序所有数据,自底向上构建B+树,生成填充率高的完美平衡树,效率远高于单条插入。从叶子节点删除数据,如果节点下溢则尝试向兄弟借键或合并节点,可能递归向上调整。B树所有节点都可能存储数据。B+树只有叶子节点存储数据。
2025-11-28 16:11:07
611
原创 cmake 错误: The C CXX compiler identification is unknown
安装cmake后,用cmake配置vs2015 64 位项目,配置时报出The C CXX compiler identification is unknown 的错误。环境:CMake3.16.0-rc4,vs2015,windows7。重新启动系统后,重新配置就可以了。
2025-11-27 11:49:41
291
原创 程序数据管理器不匹配vs2015
将../vc/bin/x86_amd64/目录下270kB大小的mspdb140.dll换成../vc/bin/amd64/目录下286kB的mspdb140.dll。用cmake生成64位项目后,用vs2015打开,如果重新生成会报出“程序数据管理器不匹配”c1902的错误。
2025-11-27 11:41:25
345
原创 B树有哪些算法?
这些算法构成了B树理论体系的核心,从基础操作到高级优化,体现了B树作为高效外部存储数据结构的强大能力。搜索 O(logₘn) O(1) O(logₘn)插入 O(logₘn) O(1) O(logₘn)删除 O(logₘn) O(1) O(logₘn)批量加载 O(n logₘn) O(n) O(n/B)(2)除根节点外,每个节点至少包含⌈m/2⌉-1个关键字。(2)插入关键字:将新关键字插入叶子节点的适当位置。
2025-11-26 10:36:55
1014
原创 千帆AppBuilder介绍
基础与高级组件:平台内置超过60种工具组件,包括大模型组件、AI能力组件(如OCR、TTS)以及百度特色组件(如百度搜索、地图)。此外,高级组件模块汇集了RAG(检索增强生成)、GBI(生成式BI)、代码解释器等尖端技术框架。工作流编排:这是AppBuilder的一项核心功能,允许开发者通过可视化的画布,以拖拉拽的方式,将大模型、知识库、代码块等组件按业务逻辑连接起来,构建稳定、复杂的应用流程。低代码模式:通过工作流编排,以拖拉拽方式设计复杂的业务流程,适合需要高可控性和复杂逻辑的场景。
2025-11-26 10:11:20
536
原创 跳表有哪些算法?
从最高层索引开始,在当前层向右查找,遇到大于目标值的节点就下降一层,逐步逼近目标位置。使用概率控制节点层数,保证上层节点数量约为下层的一半,维持跳表的平衡性。先查找到插入位置,随机生成新节点的层数,然后在各层插入节点并更新指针。先查找到要删除的节点及其在各层的前驱节点,然后逐层更新指针连接,最后释放节点。(3)创建新节点,如果新节点层数超过当前最大层,更新跳表的最大层数。如果下一个节点值 = 目标值:查找成功,返回节点。本节点到下一层同节点之间的节点数量(跨度)。将前驱节点的指针指向目标节点的后继节点。
2025-11-25 14:33:44
809
原创 coze介绍
它的核心理念是让每个人,无论是否有编程背景,都能通过直观的方式,快速构建和部署具备强大能力的AI智能体(Agent)。核心思想:为Bot定义一个角色、性格和对话风格(例如,“你是一个专业的营养师”或“你是一个风趣的旅游向导”)。它类似于编程中的函数,有明确的输入、处理过程和输出。创建的AI机器人(称为Bot)可以轻松发布到多种渠道,如飞书、微信公众号、钉钉等,实现“一次开发,多处部署”。拥有一个官方和社区共同维护的插件库、工作流和Bot商店,开发者可以复用他人的成果,加速自己的开发过程。
2025-11-25 11:38:20
945
原创 布隆过滤器有哪些算法?
这些算法构成了布隆过滤器技术的完整体系,从基础到高级,满足了不同场景下的需求。布隆过滤器(Bloom Filter)是一种概率型数据结构,用于高效地检查一个元素是否存在于一个集合中。a 对元素x计算k个哈希值:h₁(x), h₂(x), ..., hₖ(x)。如果有0,返回"肯定不存在"。(2)概率性结果:可能返回假阳性(误判),但不会返回假阴性。b 如果所有位置计数器都大于0,返回"可能存在"b 如果粗略层返回"肯定不存在",直接返回结果。a 创建长度为m的计数器数组,初始化为0。
2025-11-22 15:16:46
544
原创 AnythingLLM介绍
它的核心思想是让个人、团队或企业能够轻松地将自己的文档(如 PDF、Word、Excel、PPT、TXT,甚至网页和视频字幕)交给一个或多个大语言模型,构建一个完全私有的、基于自身知识库的智能聊天机器人或文档分析助手。这对于处理敏感数据的企业(如法律、金融、医疗)至关重要。研究人员、学生或写作者可以将自己收集的大量论文、书籍、笔记导入,构建一个专属的“第二大脑”,通过对话的形式快速回忆和梳理知识。企业可以基于自己的帮助文档和产品信息,构建一个 24/7 在线的智能客服机器人,提供准确、一致的客户支持。
2025-11-22 14:53:06
701
原创 并查集有哪些算法?
并查集(Disjoint-Set Union, DSU)是一种用于管理元素分组情况的数据结构,主要用于处理不相交集合的合并与查询问题。(3)合并操作:需要遍历整个数组更新所有相关元素 - O(n)时间复杂度。(2)查找操作:直接访问数组获取集合ID - O(1)时间复杂度。(3)合并操作:将一个集合的根节点指向另一个集合的根节点。(2)合并(Union):将两个集合合并为一个集合。(1)在快速合并基础上记录树的"秩"(高度或大小)。(1)查找(Find):确定某个元素属于哪个集合。
2025-11-21 10:42:08
452
转载 在vscode中集成本地开源AI大模型
启动服务:ollama serve(后台运行),检查 curl http://localhost:11434(返回 “Ollama is running”)。可供选择多种模型,根据自己电脑配置去选择对应的模型(本次使用qwen3-8b,该模型后台占运存大约6G,大参数模型都是在15-20G)执行ollama run qwen3:8b进行测试,输入hello,看是否有回应,然后让它生成一段简单代码试试。ollama:官网下载https://ollama.com/验证:运行 ollama --version。
2025-11-21 10:17:48
376
原创 Ollama介绍
它就像是您个人电脑上的"AI 模型管理器",让您不需要深厚的技术背景就能使用先进的 AI 技术。它消除了使用 AI 的技术门槛和隐私担忧,让每个人都能在完全控制自己数据的前提下,享受到人工智能带来的便利和可能性。(1)角色定制:可以为 AI 设定特定身份,比如"编程专家"、"写作助手"或"翻译专家"。(1)本地运行:所有 AI 对话和数据处理都在您的电脑上完成,不会上传到任何服务器。(3)专属助手:可以创建完全符合您个人需求的定制化 AI 助手。(3)专属配置:保存您喜欢的设置,创建个性化的 AI 体验。
2025-11-21 09:24:19
459
原创 vscode中continue插件介绍
它的核心价值在于,它将多种强大的 AI 编程能力无缝集成到你的开发环境中,但它本身不提供模型,而是作为一个连接各种 AI 模型的桥梁。当遇到不理解或出错的代码时,你可以选中代码片段,并使用快捷键 Ctrl+L (Windows/Linux) 或 Cmd+L (Mac) 将其添加到聊天上下文,然后让 AI 解释其功能或帮助修复错误。除了基础的代码补全,你可以在聊天框中直接用自然语言描述需求,例如“写一个Python函数计算斐波那契数列”或“用React写一个按钮组件”,AI 会根据上下文生成相应代码。
2025-11-21 09:23:51
887
原创 Trie有哪些算法?
算法描述:从Trie根节点出发,对于要插入字符串的每个字符,检查当前节点是否存在对应字符的子节点,不存在则创建新节点,然后移动到子节点继续处理下一个字符,直到处理完整个字符串后在最后一个节点标记为单词结束。算法描述:首先定位到前缀字符串的终点节点,然后从该节点开始进行深度优先遍历,每当遇到标记为单词结束的节点时,记录从根节点到该节点的完整路径字符串。算法描述:先找到要删除单词的终点节点,取消其单词结束标记,然后从叶子节点向根节点回溯,删除那些没有子节点且不是其他单词组成部分的节点。
2025-11-20 11:31:15
505
原创 开源代码大模型StarCoder2介绍
(1)Grouped Query Attention:改进的注意力机制,提升推理效率。(3)BigCode Benchmark:在代码理解和生成任务中表现卓越。(2)更长上下文:16K token 上下文窗口,是前代的两倍。(2)专业领域:特别优化了对数据科学、Web开发等领域的支持。(1)灵活的模型选择:3B/7B/15B满足不同资源需求。(3) 代码理解:在代码搜索和补全任务中准确率更高。(1)性能大幅提升:在各项基准测试中全面超越前代。(2)多尺度选择:提供3B到15B不同规模的模型。
2025-11-20 11:01:27
464
原创 开源代码大模型DeepSeek Coder介绍
例如,你可以描述"用Spring Boot实现一个带JWT验证的用户登录接口",模型便能生成包含控制器、JWT工具类和异常处理的完整代码。具备分析现有代码的能力,可以识别代码坏味(如重复代码、复杂条件判断),并给出重构建议。明确角色(如"资深Python后端开发")、任务(具体功能)和约束条件(如性能、规范要求),这能显著提升生成代码的质量。在集成开发环境(IDE)中使用时,它能借鉴项目中的其他文件结构和代码规范,生成风格一致的代码。开源开放(允许商业使用),性能超越部分闭源模型,支持项目级上下文理解。
2025-11-20 10:44:13
366
原创 代码生成工具Replit AI
代码解释与调试:遇到难以理解或没有注释的代码时,可以让 Ghostwriter 为你解释。深度上下文理解:得益于强大的上下文处理能力,Replit Agent 能够理解整个项目的架构、你之前的决策以及编码风格,如同一位合作了数月之久的团队成员。智能生成与补全:它不止是补全简单的代码片段,可以根据你的注释描述生成复杂的代码块,甚至能根据项目已有的代码结构和模式,给出精准的代码建议。代码转换与优化:它可以帮助你将代码从一种结构转换到另一种(例如,将迭代转换为递归),或者为代码提供优化建议,提升代码质量。
2025-11-19 14:25:16
470
原创 代码生成工具Cursor介绍
工作方式:将光标放在想插入代码的位置,或者选中一段想要修改的代码,然后按下 Ctrl+K,在弹出的输入栏中给出指令(例如“将这段循环改为使用 map 方法”或“生成一个验证邮箱的函数”),AI 就会在指定位置进行操作。Cursor 的 AI 能自动识别你项目中的文件、代码结构和错误信息,因此它的回答和修改建议是基于对整个项目的理解,而非孤立的代码片段。3 审查生成代码:尽管Cursor非常强大,但仍需将AI视为一个才华横溢的助手,亲自审查和测试生成的所有代码是确保质量和安全的关键步骤。
2025-11-19 14:11:36
447
原创 图有哪些算法?
每次从集合外选取当前距离起点最近的节点加入集合,然后更新其所有邻居节点的距离估计(即,如果通过当前节点到达邻居的距离更短,则更新)。(2) Prim算法:从一个任意节点开始,不断在当前的生成树和树外节点之间,选择权重最小的边,并将该边和对应的节点加入生成树。从队列中取出一个节点,将其输出,并将该节点的所有邻居的入度减1。如果某个邻居的入度减为0,则将其加入队列。(3)经过多层这样的操作,每个节点的最终表示就包含了其自身特征以及其多跳邻居的拓扑信息和特征信息,可以用于节点分类、链接预测、图分类等任务。
2025-11-19 11:25:29
1212
原创 堆有哪些算法?
如果是,则弹出它并更新哈希表(减少删除计数),直到堆顶是一个有效的、未被删除的元素。(1) 建堆阶段:将待排序的无序数组视为一个完全二叉树,从最后一个非叶子节点开始,向前依次对每个节点执行“下沉”操作,从而将整个数组调整成一个标准的堆结构。删除堆顶(Heapify Down):将堆顶元素与末尾元素交换,删除末尾(原堆顶),然后新的堆顶元素向下与子节点比较并交换,直到满足堆性质。核心思想:利用最大堆(升序)或最小堆(降序)的特性,通过反复取出堆顶元素(当前极值)并调整堆结构,来完成排序。
2025-11-18 15:01:34
889
原创 代码生成工具文心快码介绍
总而言之,文心快码是一款功能全面、尤其在中文语境和百度技术生态中表现出色的AI编程助手,它致力于成为开发者的“结对编程”伙伴,全面提升软件开发的生命周期效率。功能:文心快码能够感知您当前打开的项目、文件以及选中的代码,使得问答和请求具有极强的针对性。功能:对百度的技术生态(如飞桨PaddlePaddle、百度云产品等)有更深度的理解和更好的支持,生成的相关代码更为精准。功能:选中一段复杂的、难以理解的代码(无论是自己写的还是他人的),文心快码可以逐行或整体地为其生成清晰易懂的中文解释。
2025-11-18 09:05:40
515
原创 代码生成工具秒哒介绍
一键生成包含前端、后端和数据库的完整应用 生成的应用不再是演示界面,而是真正可运行、可交互的完整产品。在上手前,可以先在脑海里构思好应用的核心功能和样式,用清晰、具体的语言描述出来,这样生成的效果会更贴合您的预期。像“万能插座”一样轻松集成各种功能 可以调用百度智能云及第三方的工具和服务,如数据检索、图像处理、地图定位、语音识别等,为你的应用赋能。秒哒是百度推出的一个无代码应用开发平台,其最大的特点就是让你无需编写任何代码,只需通过自然语言对话,就能快速创建出功能完整的应用。
2025-11-18 09:05:21
911
LFW数据集主要测试人脸识别的准确率
2020-02-26
cfp-dataset.zip
2020-02-26
lfw(dataset+pairs).zip
2020-02-26
AgeDB_n.zip
2020-02-26
Google Save All Resources 插件
2020-10-08
freeglut-3.0.0 - 副本.zip
2020-08-29
cfppairsff.txt
2020-02-26
cfppairsfp.txt
2020-02-26
WebFace260M.pdf
2021-10-12
Qt4.8.4和Echarts5.3.3绘制图表例子
2022-09-17
echarts-5.3.3
2022-09-17
Least-squares estimation of transformation parameters between tw
2022-06-23
sqlite3.38.0
2022-03-12
C++序列化和反序列化
2022-03-10
windows Xshell6Portable_50151.zip
2021-12-04
用于服务器和客户端之间传输文件的Xftp6.rar
2021-12-04
Memory Reordering Caught in the Act
2021-10-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅