logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

广度优先遍历搜索迷宫路径-求最短路径

然后现在队头就是第一行的第二个元素了,然后先把它的左边,和(0,0)的右边修改为不能走,然后看这个元素右边能不能走,不能走,看下面能不能走,可以走,然后下面的元素就入队。队头即原来的元素还要继续判断,把所有的方向能走的元素都入队,现在看它的下面能不能走,可以走,下面的元素也入队,然后还要看(0,0)元素的下边,左边,上边能不能走,不能走,这个(0,0)元素看处理完了,出队。然后队头元素还要看它的左

文章图片
#算法#广度优先
创建二叉树

先序遍历:ABCDEFGH中序遍历:CBEDFAGH对于先序遍历的第一个元素A,就是根节点,我们把A提出来,建立根节点A,我们要建立它的左右子树,我们就拿A在中序序列里去找,A在中序序列的下标为5,A前面有5个数据,我们把先序序列的BCDEF和中序序列CBEDF分别作为A左子树的先序遍历,中序遍历,GH是A的右子树的先序遍历,中序遍历。现在的数据量由8变成5,B也是我们所谓的根节点,以它作为根,在

文章图片
#算法#数据结构
设计模式 - 观察者Observer模式

观察者模式又叫做观察者(Observer)监听者(Listener)模式,也叫发布(Publish)订阅(Subscribe)模式,常用于解耦事件的观察和事件最终的处理方式,举个例子说明:例子:基于同一组数据,生成了很多不同的界面来显示,有曲线图显示方式,有圆饼图显示方式,有柱状图显示方式等等…,当底层数据发生改变时,所有基于同一组数据的图像显示都需要修改图像,那么此时有两种实现方式:1、所有图形

文章图片
#设计模式#观察者模式
分支限界算法解决0-1背包问题

按照优先级,70>50,所以还是刚才处理的根节点的左孩子的右孩子节点出队,然后处理它,它不会往左走,因为已经16+15=31,已经超过背包的容量了,然后它走右边,右孩子的upbound值为45,然后入队。它走向它的左孩子,它的左孩子的upbound值是50,然后入队,此时优先级队列中的节点是:当前节点和upbound为45的叶子节点了。,把它的右孩子入队,然后这个根节点的左孩子节点成为死节点了,现

文章图片
#数据结构#算法
大数据处理-大/小根堆求topK问题

如果我们用普通排序算法,时间复杂度是O(n^2),如果我们使用高级排序算法,时间复杂度是O(logn)。我们需要一个大根堆(堆顶元素的值是最大的)(二叉堆访问的就是堆顶,其他位置我们访问不到,和栈一样,我们只能访问栈顶,其他位置访问不到)先遍历序列的前3(k)个元素,先把它们构建成1个大根堆,堆顶元素就是64,然后前面这3个元素已经遍历过了,然后从第4个元素开始继续遍历,因为我们要留下小的元素,

文章图片
#算法#大数据
如何避免vector动态扩容?

假如我们有n个元素向vector中插入,倍增因子是m,在n个元素的插入期间,总共需要扩容log以m为底的n次,假如是,我们现在有1000个元素需要向vector中进行插入,而倍增因子是2,那么总共需要扩容的次数是:log以2为底的1000,来一个向上取整,也就是算出来是10,总共需要扩容10次。+m^ log以m为底的n表示:等比数列,算出结果,代表n个元素以等比方式扩容所需要耗费的总操作数,然后

文章图片
#c++
网络协议

协议其实就是描述某一场景下的标准,在学校要遵守校规,在马路上要遵守交通规则。网络协议就是一组网络规则的集合,是我们共同遵守的约定或标准。◼ ARP : 地址解析协议,是根据 IP 地址获取 MAC 地址的协议。◼ TELNET : 是 internet 远程登陆服务的标准协议。每种协议在特定场景下产生作用。在需要的时候去遵守相应的协议。在不同场景下遵守相应的约束。◼ ICMP :因特网控制报文协议

文章图片
#网络协议#网络
C++ 常见问题总结(5)

set称作集合,只存储key;map映射表,存储[key,value]键值对,它们的底层数据结构都是红黑树,都是通过key进行元素比较堆上分配的。

文章图片
#c++#开发语言
到底了