
408
一碗姜汤
科学的世界,你只是去习惯它。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【408】选择易错点总结
知识点回顾:有如下表述是正确的: 知识点回顾: 有如下表述是正确的:知识点回顾: 有如下表述是正确的:知识点回顾:注意题目问的是规格化最值还是非规格化最值:知识点回顾:知识点回顾: 知识点回顾:知识点回顾:知识点回顾:知识点回顾:知识点回顾:而GPT的回答是这样的: 知识点回顾:知识点回顾:原创 2024-12-06 12:12:36 · 298 阅读 · 0 评论 -
【数一】易忘易错知识点、技巧意识总结
1. 高数导数、极限、连续的性质题(记住反例)极限就是逼近但取不到;连续就是逼近和取到相等;导数本质也是个函数,也以点或区间的形式考察其连续性计算极限的顺序(常数因子能提的先提出来,然后才是洛必达或者等价无穷小)复合函数微分性质(先求出复合函数的形式)祖孙三代的奇偶性与周期性曲率与曲率半径不等式(——添项减项技巧+拉格朗日中值定理)凹凸性的两种定义中值定理常考题型二元函数的二阶泰勒多项式非典型微分方程(换元先行)再比如24年真题:一道求点的轨迹和极坐标球积分的好题。原创 2024-12-05 19:50:07 · 484 阅读 · 0 评论 -
【算法03】二分查找+变体
二分查找有很多变体,比如找“最后一个1”,“第一个1”等。原创 2023-07-20 15:32:54 · 89 阅读 · 0 评论 -
【算法11】梯度下降法查找抛物线极值
用到了一个随机数宏RADN_MAX。原创 2023-07-20 15:47:23 · 97 阅读 · 0 评论 -
【算法10】斐波那契数列 [递推,矩阵快速幂]
【代码】【算法】斐波那契数列 [递推,矩阵快速幂]原创 2024-01-18 11:43:29 · 465 阅读 · 0 评论 -
【算法08】最小生成树相关算法
一个生成树,总共n个结点,有n-1条边。所谓最小生成树,就是所有边权加在一起最小的一棵生成树。原创 2023-07-22 22:32:40 · 87 阅读 · 0 评论 -
【算法06】归并排序:从二路到多路
我们所熟知的和都是非常优秀的排序算法。但是快速排序和归并排序的一个就是:快速排序是一种而归并排序是一种。假设递归的终止条件就是剩下三个以下的元素就可以排序了。完成了排序之后再复制回去。原创 2023-08-19 22:59:27 · 1794 阅读 · 0 评论 -
【算法04】经典排序算法
下面分别实现了插入排序、冒泡排序、归并排序、选择排序、快速排序以及快速排序的单边递归优化。排序算法由于比较基础,就放在数据结构这里了。原创 2023-07-20 13:20:00 · 61 阅读 · 0 评论 -
【算法02】拓扑排序
就拿学习来说,学习有时候讲究先后顺序,就是你得先修完某个前导课程,你才能开启后续的更高阶的课程。我们可以把这样的关系反映到一张由结点和有向边构成的。拓扑排序就是遍历这张图中的所有结点,同时确保当遍历到每一个结点时,所有该节点的前置结点都已经遍历过了(:不断取出图中度为0的结点,然后所有被该结点所指的结点的入度-1。我们把遍历所有结点得到的顺序序列称为拓扑序列。同时我们还可以利用不能成环这一性质,所以拓扑排序的结果也不唯一。原创 2023-07-16 09:38:59 · 219 阅读 · 1 评论 -
【算法09】经典匹配算法: KMP、Sunday与ShiftAnd
如果文本串中,出现了模式串中根本没出现过的字符,那么模式串应该向后移动整个模式串的长度。sunday算法适合处理在一篇文章中,查找一个单词。如果每次都向后这样子跳啊,sunday算法的时间复杂度最好能到达O(n/m),m是单词的长度,n是文章的长度。所以sunday算法在实际场景中是远优于kmp,远优于暴力匹配的。原创 2023-09-17 00:06:38 · 1082 阅读 · 0 评论 -
【算法07】Dijkstra算法
对于邻接表来说,也有一个最适合的算法——Dijkstra算法。Dijkstra算法是求解单源最短路径的算法。什么是单源?举个例子,Floyd算法是多源的,有多个源点,能求解从任意点到任意点的距离。而Dijkstra算法是单源,的只能有一个源点,然后从这个源点(起点)出发,求解到达任意点的距离。求解Dijkstra算法需要注意不能有负权边。这里额外提一个负环的概念:负环并不意味着环中每条边都是负权,而是说,环的总权值为负。存在负环也就没有最短路可言。(一直绕就行)下面举个简单的例子来说明D原创 2022-04-07 09:42:11 · 448 阅读 · 0 评论 -
408重要数据结构+算法汇总——C语言手搓版(全)
该套代码,大学期间跟着网课一遍一遍打下来的,408大概就这些了,别的杂七杂八其实还有很多,遗憾的是,一直没有整理和归纳。导致一遍遍地学一遍遍地忘记。大四就快毕业了,研也考了,不知道以后的路会是什么样子。这里做个整理,算是给408一个小小的胶带吧。后续如果有缺漏还会弥补。请说明malloc、calloc、realloc三者的区别,并分别介绍用法malloc函数:malloc用于分配指定大小的内存块,并返回一个指向该内存块的指针。它只分配内存,不进行初始化。如果分配成功,则返回指向分配内存的指针原创 2024-01-09 10:49:02 · 2977 阅读 · 0 评论 -
【算法05】堆排序
对于一个大顶堆来说,堆顶维护的是最大值,每次从堆顶弹出一个元素,放到堆末,然后堆长度减一,堆自动维护堆的性质,即向下调整。反复循环这样的操作,我们就得到了一个有序序列。这种思想就是堆排序的思想。原创 2023-07-19 13:52:16 · 69 阅读 · 0 评论 -
【算法01】深度优先搜索DFS
搜索的本质:暴力枚举,尝试所有可能的方案。 深搜的特点:不撞南墙不回头。撞到南墙就回溯。 适用场景:判断连通性。代码:方向数组:int dir[4][2]={0,1,1,0,0,-1,-1,0};小技巧:地图从(1,1)点开始存,最外圈都是0,这样做的好处就是不用判断边界。#include <iostream>using namespace std;int n,m,sx,sy;//n,m:地图的宽和长,(sx,sy)起始点坐标int dir[4][2]={0,1原创 2022-04-07 10:31:53 · 298 阅读 · 0 评论 -
【算法12】单调栈
单调栈是一种特殊的栈数据结构,通常用于解决一些特定类型的算法问题,例如找到数组中每个元素的下一个更大(或更小)元素。原创 2024-05-24 10:59:14 · 309 阅读 · 0 评论 -
【算法10】树状数组
因为只要C[j+k]中的k小于lowbit(j),那么C[j+k]就不会包含C[j],而当k=lowbit(j)的时候,C[j+k]就会包含C[j]区间。8-----1000 1个1,只能分成一段:c[8] = a[1] + a[2] + a[3] + a[4] + a[5] + a[6] + a[7] + a[8]4-----0100 1个1,只能分成一段:c[4] = a[1] + a[2] + a[3] + a[4]2-----0010 1个1,只能分成一段:c[2] = a[1] + a[2]原创 2023-04-21 11:48:47 · 111 阅读 · 0 评论 -
【数据结构04】线性表
线性表的创建、释放、插入、删除、扩容操作。原创 2023-07-21 00:28:54 · 80 阅读 · 0 评论 -
【数据结构10】广义表生成树
C语言代码,在tree.c的基础上完善,buildTree函数功能。原创 2023-07-18 22:17:40 · 306 阅读 · 0 评论 -
【数据结构03】循环队列+链表队列
队列的代码实现方式有两种:一种实现方式是连续内存的数组,一种实现方式是离散内存的链表。而循环队列一般采用连续内存的数组来实现。原创 2023-07-15 22:20:44 · 202 阅读 · 1 评论 -
【数据结构02】链表
链表实现、节点插入删除、双向链表、链表翻转。原创 2023-07-20 19:32:40 · 62 阅读 · 0 评论 -
【数据结构05】堆
堆是算法刷题当中经常用到的数据结构,用C++甚至只需要一个set就行,但是我们最好还是知道堆的具体实现方式,心底才不至于空落落的。原创 2023-07-19 13:26:01 · 75 阅读 · 0 评论 -
【数据结构06】并查集+算法优化
生活中有很多连通性问题。解决方案——并查集。原创 2023-07-19 14:32:51 · 236 阅读 · 0 评论 -
【数据结构01】栈和链栈
包括了扩容操作。还有链表实现栈。原创 2023-07-20 18:11:03 · 74 阅读 · 0 评论 -
【数据结构09】线索树
线索树,就是充分利用了树中的闲置指针。整个构建线索树的过程就是一个中序遍历的过程,只不过在这个过程中维护了一个前驱结点。遍历线索树的结果也和中序遍历是一样的。原创 2023-07-19 14:28:08 · 183 阅读 · 0 评论 -
【数据结构07】哈希表
2.课外练习:LeetCode题。用链表实现一个简单的哈希表。1.作业 海贼oj#274。原创 2023-07-20 16:45:07 · 79 阅读 · 0 评论 -
【数据结构08】二叉树
二叉树,其实只需要一个root的Node节点就可以完成对二叉树的基本所有操作,所以下面额外封装的Tree结构其实没什么必要。原创 2023-07-18 11:02:02 · 162 阅读 · 1 评论 -
【计网02】电路交换、分组交换和报文交换
电路交换分组交换报文交换报文交换是分组交换的前身。在报文交换中,报文被整个地发送,而不是拆分成若干个分组进行发送交换节点将报文整体接收完成后才能查找转发表,将整个报文转发到下一个节点。因此,报文交换比分组交换带来的转发时延要长很多,需要交换节点具有的缓存空间也大很多三种交换方式的对比若要连续传送大量的数据,并且数据送时间远大于建立连接的时间,则使用电路交换可以有较高的传传输效率。然而计算机的数据传送往往是突发式的,采用电路交换时通信线路的利用率会很低。报文交换和分组交换都不需要原创 2024-05-24 14:31:02 · 423 阅读 · 0 评论 -
【计网01】因特网概述
我们有时并没有严格区分互联网和因特网这两个名词,许多人口中的互联网实际上是指因特网。原创 2024-05-24 10:42:38 · 316 阅读 · 0 评论 -
【计组大题】指令流水线
对于这两条指令之间的数据冒险,在第2条指令的ID段的前半周期,第1条指令已完成对寄存器t的写操作,在第2条指令的 ID 段的后半周期,第2条指令可以从寄存器t中取得正确的值,因此也消除了这两条指令间的数据冒险。注意到,I6后面莫名其妙空出来3个空段,这其实就是硬件阻塞,不可能是软件插入nop指令,因为插入nop指令是插入一条完整的5段流水线执行流程,下面I1/I7那儿的三条阻塞才是软件插入nop指令。通过第(2)问的分析,可以得出使用流水线情况下完成所有任务的时间为10个时钟周期。原创 2024-12-05 13:42:53 · 998 阅读 · 0 评论