![](https://img-blog.csdnimg.cn/2020021619544240.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法
go语言实现数据结构和算法
我的猫叫土豆
任何事情,只要迈出了第一步,后面的路都不会太难
展开
-
双链表算法
双链表最大的优势就是可以双向遍历 package main import "fmt" type Node struct { num int name string pre *Node next *Node } // 末尾插入 func insert(head *Node, newNode *Node) { tmp := head for { // 插入末尾,先连接左...原创 2020-03-09 13:56:09 · 327 阅读 · 0 评论 -
单链表算法
链表在内存中结构如下: 单链表插入末尾 package main import "fmt" type Node struct { num int name string next *Node } func insertNode(head *Node, newNode *Node) { tmp := head for { if tmp.next == nil { t...原创 2020-03-08 22:42:34 · 339 阅读 · 0 评论 -
队列算法
单向队列:数组内元素key和value绑定,即使元素被取出,也无法在该位置继续存放数据 思路分析 1、定义结构体存储队列 2、front初始化-1 3、rear初始化-1 4、分别定义AddQueue、GetQueue、GetQueue Tip: 若初始化为0:指针rear先赋值再+1,使得rear比真实数据大1,(第0位先被占用,rear=1)当rear=max时才停止,容易发生index...原创 2020-02-29 18:25:17 · 903 阅读 · 0 评论 -
稀疏算法
需求:有11*11的棋盘,下棋到一半时想保存退出 算法思想:将棋盘模拟成矩阵,仅保存有数据的位置, 也叫压缩数据 package main import "fmt" type Node struct{ row int col int val int } func main() { // 定义稀疏数组并打印 var Array[11][11] int Array[1][2] = 2...原创 2020-02-16 20:35:28 · 1476 阅读 · 0 评论