- 博客(43)
- 收藏
- 关注
原创 删除单链表的倒数第k个节点
L为带头结点的单链表,请编写算法DeleteNode(LinkList &L, int k),实现删除单链表L的倒数第k个结点。如L=(4,2,1,3,5),执行DeleteNode(L,2)后,L=(4,2,1,5),即删除了倒数第2个结点。代码2:如果将函数中的符删除,即函数定义变为。
2024-11-29 15:39:15
327
原创 数据库 示例解析
描述: 找出顾客订单中所花运费比他所下订单平均运费的两倍都还贵的订单号,列出cOrderNo。运费属性名为mShippingCost,顾客号属性为cCustomerID。代码示例:SELECT o.cOrderNoFROM orders oWHERE o.mShippingCost > ( SELECT AVG(o2.mShippingCost) * 2 FROM orders o2 WHERE o2.cCustomerID = o.cCust
2024-10-30 19:27:53
401
1
原创 深度学习 简易环境安装(不含Anaconda)
以获取适合你的系统和配置的安装命令。注意,Python 不要安装最新版的,如3.12,3.13,因为目前PyTorch相兼容的在3.9范围左右。通常,Python会自带pip(包管理工具)。下载最新版本的Python,并在安装时勾选“Add Python to PATH”选项。:确保将CUDA和cuDNN的bin目录添加到系统的PATH环境变量中。根据你的需求,安装TensorFlow或PyTorch。确保你已经安装了Python。3.创建一个新的虚拟环境(以。在这之前,你需要安装。
2024-10-21 21:25:26
1379
原创 深度学习 自动求梯度
是 PyTorch 中用于计算梯度的重要方法,它在反向传播过程中发挥着关键作用。在这行代码中,创建了一个 PyTorch 张量。
2024-10-21 20:32:20
557
原创 深度学习 %matplotlib inline
是在 Jupyter Notebook 中使用的一个魔法命令,主要用于配置 Matplotlib 图形的显示方式。具体来说,这个命令的作用是将 Matplotlib 生成的图形直接嵌入到 notebook 中,而不是在弹出的窗口中显示。
2024-10-16 22:08:11
1353
原创 深度学习 广播机制
广播机制是一种非常实用的特性,使得在处理多维数组时更加灵活和高效。理解广播机制能够帮助你更好地利用 MXNet 等深度学习框架进行模型训练和数据处理。
2024-10-14 09:30:00
486
原创 深度学习 .asscalar()
在 MXNet 中,方法用于将一个包含单个元素的ndarray转换为 Python 的标量值。这在需要从ndarray中提取标量数据时非常有用。
2024-10-14 09:15:00
273
原创 深度学习 .concat()
在 MXNet 中,.concat()方法用于沿指定轴将多个数组连接在一起。它可以对一维、二维或更高维的ndarray进行操作。
2024-10-13 20:22:24
599
原创 深度学习 .dot()
在 MXNet 中,.dot()是用于计算两个数组的点积(矩阵乘法)的方法。这个方法适用于一维和二维数组,并返回它们的点积结果。
2024-10-13 20:15:58
761
原创 深度学习 .exp()
在 MXNet 中,.exp()是ndarray对象的方法,用于计算数组中每个元素的指数(e 的幂)。此方法适用于所有类型的ndarray,并返回一个新的数组,其中每个元素都是相应输入元素的指数。
2024-10-13 20:07:01
400
原创 深度学习 nd.random.normal()
是 MXNet 中用于生成符合正态分布(高斯分布)随机数的函数。它允许用户指定均值、标准差以及生成的随机数的形状。
2024-10-13 20:00:56
809
原创 深度学习 shape 属性
在 MXNet 的ndarray中,shape属性用于获取数组的维度信息。它返回一个表示数组各维度大小的元组,可以帮助了解数据的结构和形状。
2024-10-13 19:46:09
449
原创 深度学习 CPU
CPU(中央处理器,Central Processing Unit)是计算机系统中的核心组件,负责执行计算和控制任务。虽然 CPU 在处理复杂计算时相对较慢,但其通用性和灵活性使其在各种应用场景中仍然至关重要。:现代 CPU 通常具有多个核心,能够同时处理多个任务,提高计算效率。:CPU 从内存中获取指令,并按照指令进行计算和操作。:协调计算机各个部分的工作,包括内存、输入输出设备等。:执行算术运算、逻辑运算和数据移动等操作。
2024-10-13 19:25:35
291
原创 深度学习 nd.arange()
在 MXNet 中,是一个用于生成均匀间隔的数值数组的函数。它的功能类似于 NumPy 的arange()函数。下面是。
2024-10-13 19:22:27
663
原创 洛谷 P5318 【深基18.例3】查找文献
目前小 K 已经打开了编号为 1 的一篇文章,请帮助小 K 设计一种方法,使小 K 可以不重复、不遗漏的看完所有他能看到的文章。共 m+1m+1 行,第 1 行为 2 个数,nn 和 mm,分别表示一共有 n(n≤105)n(n≤105) 篇文章(编号为 1 到 nn)以及m(m≤106)m(m≤106) 条参考文献引用关系。- 这是一个通用的头文件,包含了 C++ 标准库中的所有常用头文件(在实际使用中不推荐,因为它会增加编译时间和可能的依赖冲突)。提供了更高效的随机访问和更简洁的内存管理。
2024-09-15 21:17:07
1121
原创 【C++】std::forward_list
是 C++ 标准库中的一个单向链表容器。与std::list相比,只允许单向遍历,即只能从前往后访问元素。它的实现比std::list更轻量,因此在内存和性能方面通常更优,但缺少双向访问的能力。
2024-09-08 11:27:17
638
原创 【C++】std::list
std::list是 C++ 标准库中的一个双向链表容器,它是顺序容器中的一种。与其他顺序容器如和std::deque不同,std::list在插入和删除操作上具有显著的优势,特别是在容器的中间部分。
2024-09-08 11:26:12
753
原创 单源最短路径 洛谷【P4779】
给定一个 nn 个点,mm 条有向边的带非负权图,请你计算从 ss 出发,到每个点的距离。数据保证你能从 ss 出发到任意点。第一行为三个正整数 n,m,sn,m,s。 第二行起 mm 行,每行三个非负整数 ui,vi,wiui,vi,wi,表示从 uiui 到 vivi 有一条权值为 wiwi 的有向边。输出一行 nn 个空格分隔的非负整数,表示 ss 到每个点的距离。输入 #14 6 11 2 22 3 22 4 11 3 53 4 31 4 4输出 #10 2 4 3
2024-09-07 22:47:34
1014
原创 【C++】 std::deque
std::deque是 C++ 标准库中的一个双端队列容器。它允许在两端进行高效的插入和删除操作,适用于需要在序列的两端进行频繁操作的场景。
2024-09-07 16:49:44
454
原创 【C++】std::vector
是一个非常常用的容器,主要用于存储和管理元素的集合,并且支持高效的随机访问和动态调整大小。是 C++ 标准库中的一个动态数组容器,它提供了一个可以动态调整大小的数组。方法会在末尾添加元素,新增的元素会被初始化为。方法会将多余的元素移除,以使大小变为 10。的当前大小已经大于等于 10,的大小调整为 10。的当前大小小于 10,
2024-09-07 16:47:59
601
原创 【C++】迭代器
代码实例: 代码分析(1)、头文件引入: 模板函数: 函数:输出:注意:在实际运行时,第二个示例需要在输入完数据后按回车键,以便 完成数据读取。(2)、在使用 函数对输入的整数进行排序时,需要按照以下步骤在键盘上操作以输入数据并查看排序结果:运行程序: 首先编译并运行程序。这将启动程序并等待你的输入。输入数据:结束输入:查看排序结果(再按enter键):
2024-09-07 13:50:15
376
原创 【C++】vector对象名不能当做数组的头指针使用
在 C++ 中,是一个动态数组,它提供了比传统数组更灵活和安全的功能。尽管的数据存储是连续的内存块,但它并不是普通数组,因此它在使用时有一些注意事项,尤其是在与数组头指针相关的操作上。
2024-09-05 21:57:15
510
原创 【C++】vector有关代码
是 C++ 标准库的命名空间前缀。它包含了所有标准库的组件,如。在使用这些标准库功能时,前缀。指明它们属于标准库。
2024-09-05 21:28:58
1558
原创 【C++】auto的解释
auto是 C++ 中的类型推断关键字。它让编译器自动推导变量的类型。使用auto可以使代码更简洁,尤其在处理复杂类型时特别有用。auto提高了代码的灵活性和可读性,特别是在类型复杂或需要保持一致性的情况下。
2024-09-05 21:22:17
360
原创 【C++】::的解析
是 C++ 中的作用域解析运算符(scope resolution operator)。它用于指定某个名字(如类、函数、变量等)所属的作用域或命名空间。的作用是帮助明确区分不同作用域中的名字,避免命名冲突和提高代码的可读性。
2024-09-05 21:17:05
559
原创 【C++】vector<int>
在 C++ 中, 是一个用于存储整数的动态数组,提供了灵活的内存管理和高效的随机访问。它是标准库中的一部分,定义在 头文件中。定义和初始化:添加元素:访问元素:修改元素:删除元素:遍历元素:代码说明:这里 是 中每个元素的副本。 :打印每个元素的值,并在值之间添加空格。
2024-09-03 20:58:04
548
原创 《数据结构》归并排序算法
是一种有效的排序算法,使用了的策略来将一个大问题分解成更小的子问题,并通过合并这些子问题的解来得到原问题的解。归并排序具有稳定性,适用于各种数据结构。
2024-08-25 18:39:41
1001
原创 《数据结构》堆排序算法
end > 0;end--) {// 将最大值移到末尾// 调整剩余部分end > 0;end--)这是一个倒序循环,从数组的最后一个元素开始,逐步向前移动,直到第一个元素。这是为了将堆顶的最大元素(即数组的第一个元素)逐渐移动到当前“未排序”的数组末尾位置。交换堆顶元素(数组的第一个元素,最大值)和当前“未排序”部分的最后一个元素。这将最大值移到已排序部分的末尾。调整堆的剩余部分。交换后,堆的性质可能被破坏,需要通过AdjustDown函数来重新调整剩余部分以维持最大堆的性质。
2024-08-24 20:49:42
630
原创 《数据结构》快速排序算法
快速排序的平均时间复杂度为 (O(n \log n)),最坏情况下为 (O(n^2)),但在实践中通常表现良好。实现了快速排序算法中的划分步骤。递归地对基准元素左右两边的子数组进行排序。指针,直到它们相遇,从而完成划分操作。的部分进行划分,使得小于。的元素在左边,大于或等于。的元素在右边,并返回最终。
2024-08-23 21:07:49
221
原创 《数据结构》希尔排序算法
是一种改进的插入排序算法,能够提高插入排序的效率。它通过将数组分成若干个子序列,对每个子序列进行插入排序,从而使得数据更加有序。希尔排序的核心思想是通过逐步减少间隔来使得数据元素逐渐接近最终排序状态。
2024-08-22 17:48:41
947
原创 《数据结构》二分插入排序算法
是最大的可能插入位置。通过不断调整这两个边界,最终可以找到合适的插入位置。在代码中我们认为第一个元素为有序列表,从第二个元素开始遍历。5. right<left,将待插入元素插入left位置。1.a[0]--a[3]已经是有序表。用来确定目标插入位置。是最小的可能插入位置,
2024-08-22 14:19:38
445
原创 《数据结构》直接插入排序算法
将数组分为已排序和未排序两个部分,然后逐步将未排序部分的元素插入到已排序部分的正确位置。:从未排序部分取出一个元素,将它插入到已排序部分的合适位置,保持已排序部分的有序状态。:对未排序部分的每个元素重复插入操作,直到所有元素都被插入到已排序部分中。:将第一个元素视为已排序部分,剩下的元素为未排序部分。,因为插入排序是原地排序,不需要额外的存储空间。
2024-08-21 23:49:33
255
原创 《数据结构》拓扑排序算法
拓扑排序(Topological Sorting)是一种对有向无环图(DAG, Directed Acyclic Graph)进行排序的算法,它的目的是将图中的顶点线性排列,使得对于图中的每一条有向边(u, v),顶点u在排序中出现在顶点v之前。
2024-08-21 12:13:33
538
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人