-
队列是一种先进先出的一种数据结构。就像排队一样
利用数组实现。队列这里的边界实现,tt 表示队尾, 初始值为 -1,hh 表示队头, 初始值为 0。
tt > hh 表示 队列为空
从队尾添加数据就是q[++tt] = x
题目来源: https://www.acwing.com...
-
栈是一只先进后出的一种数据结构。
压入和弹出都是在栈顶操作,所以先进入的在底部,后进入的再栈顶部。利用数组很容易实现。
具体边界看个人习惯的实现, 这里实现的是:
idx = 0 表示栈为空。
所以添加数据就是q[++idx] = x
题目来源: https://www.acwing....
-
双链表是在单链表的基础上多了一个指针,可以直接找到某个节点的前一个值和后一个值。
这里还是用数组来实现。为了方便边界处理操作,初始化最左边的是0, 最右边的是1。然后在01之间进行增删改查的操作。
题目来源: https://www.acwing.com/problem/content/...
-
单链表结构,数据就像一个链条一样存储。每个数据都有指向下一个值得指针。
链表的书写可以是利用指针,也可以是利用数组。利用指针书写,速度比较慢,这里利用数组进行链表的书写。
题目来源: https://www.acwing.com/activity/content/problem/conte...
-
PyTorch是一个基于Python的科学计算库,它有以下特点:
类似于NumPy,但是它可以使用GPU
可以用它定义深度学习模型,可以灵活地进行深度学习模型的训练和使用
Tensor
Tensor类似于numpy的ndarray,唯一的区别是tensor可以在gpu上加速计算。
12fr...
-
FizzBuzz是一个简单的小游戏。游戏规则如下:从1开始往上数数,当遇到3的倍数的时候,说fizz,当遇到5的倍数,说buzz,当遇到15的倍数,就说fizzbuzz,其他情况下则正常数数。
我们可以写一个简单的小程序来决定要返回正常数值还是fizz, buzz 或者 fizzbuzz。
1...
-
拟合曲线
创建一条曲线,利用神经网络进行拟合
数据的创建
torch.nn.Module 的基本使用
如何训练,如何进行反向传递
有哪些optimization 优化器
有哪些激励函数
有哪些loss function 偏差函数
loss function 如何进行使用的
12345fro...
-
> 人工神经网络 VS 生物神经网络
Artificial Neural Nets Vs Neural Nets
相同与差别:
都有神经元
但是人工神经网络是固定不变的。
在训练过程中
生物神经网络会产生新的神经元,通过新的神经元来记忆信息
人工神经网络不会产生新的神经原,人工神...
-
Morris遍历是一种神级遍历方式,遍历一颗树做到时间复杂度$O(n)$ 空间复杂度是$O(1)$。基础的思路就是利用叶节点下面的空节点作为返回上级的指针。
基本思路:
当前节点cur
如果cur没有左孩子,那么直接滑向右孩子
如果cur有左孩子, 那么左孩子最右边的节点mostRight...
-
Kmp 算法比较重要。 是一个字符匹配算法, 做到时间复杂度是$O(n + m)$, 它是是对暴力算法的一个优化, 暴力算法的时间复杂度是$O(n * m)$
暴力算法的思路:
i, j 两个指针,i指向匹配串, j 指向模式串
i, j 两个指针,如果匹配相等,i, j 指针同时往下跳
如...