logo头像

待到风起时,扬帆济沧海

后端

go语言编程模式

性能提示 如果需要把数字转换成字符串,使用 strconv.Itoa() 比 fmt.Sprintf() 要快一倍左右。 尽可能避免把String转成[]Byte ,这个转换会导致性能下降。 如果在 for-loop 里对某个 Sli...

gin_validator

概述在接口开发经常会遇到一个问题是后端需要写大量的繁琐代码进行数据校验,所以就想着有没有像前端校验一样写规则进行匹配校验,然后就发现了validator包,一个比较强大的校验工具包下面是一些学习总结,详细内容可以查看validator...

TCP和UDP

UDP 和 TCP 的特点与区别 用户数据报协议 UDP(User Datagram Protocol)是无连接的,尽最大可能交付,没有拥塞控制,面向报文(对于应用程序传下来的报文不合并也不拆分,只是添加 UDP 首部),支持一对一...

Go-GMP模型

https://learnku.com/articles/41728 GMP 模型 G= Goroutine 协程,P=Processor 处理器, M=Thread 线程 全局队列(Global Queue):存放等待运行的 ...

常用算法代码模板

深度优先12345678910var vistied Setfunc dfs(node,vistied){ vistied.add(node) //doSomething for next_node in ...

深度优先和广度优先-理论

1、深度优先搜索介绍图的深度优先搜索(Depth First Search),和树的先序遍历比较类似。 它的思想:假设初始状态是图中所有顶点均未被访问,则从某个顶点v出发,首先访问该顶点,然后依次从它的各个未被访问的邻接点出发深度优先...

广度和深度搜索代码

无向矩阵图代码(DFS-BFS同有向矩阵)123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525...

图-基本概念

图的定义定义:图(graph)是由一些点(vertex)和这些点之间的连线(edge)所组成的;其中,点通常被成为”顶点(vertex)”,而点与点之间的连线则被成为”边或弧”(edege)。通常记为,G=(V,E)。 图的种类根据边...

二叉堆

堆和二叉堆的介绍堆的定义堆(heap),这里所说的堆是数据结构中的堆,而不是内存模型中的堆。堆通常是一个可以被看做一棵树,它满足下列性质: 堆中任意节点的值总是不大于(不小于)其子节点的值 堆总是一棵完全树。将任意节点不大于其子节点...

二叉树

树的基本概念 树(tree)是一种抽象数据类型(ADT),用来模拟具有树状结构性质的数据集合。它是由n(n>0)个有限节点通过连接它们的边组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上...