
算法
go语言实现数据结构和算法
阿狸的家
我是阿狸,INTJ,一个专注自我提升的笔记博主
展开
-
双链表算法
双链表最大的优势就是可以双向遍历package mainimport "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 · 358 阅读 · 0 评论 -
单链表算法
链表在内存中结构如下:单链表插入末尾package mainimport "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 · 365 阅读 · 0 评论 -
队列算法
单向队列:数组内元素key和value绑定,即使元素被取出,也无法在该位置继续存放数据思路分析1、定义结构体存储队列2、front初始化-13、rear初始化-14、分别定义AddQueue、GetQueue、GetQueueTip:若初始化为0:指针rear先赋值再+1,使得rear比真实数据大1,(第0位先被占用,rear=1)当rear=max时才停止,容易发生index...原创 2020-02-29 18:25:17 · 947 阅读 · 0 评论 -
稀疏算法
需求:有11*11的棋盘,下棋到一半时想保存退出算法思想:将棋盘模拟成矩阵,仅保存有数据的位置, 也叫压缩数据package mainimport "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 · 1529 阅读 · 0 评论