![](https://img-blog.csdnimg.cn/18af45729acc454eb2171b4db25dbf0c.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Golang基础数据结构
Golang实现基础数据结构
cheems~
业精于勤,荒于嬉;行成于思,毁于随。
展开
-
leetcode零散题汇总
零散题golang力扣leetcode 15.三数之和golang力扣leetcode 128. 最长连续序列原创 2022-01-21 13:02:09 · 9174 阅读 · 0 评论 -
基础数据结构leetcode回溯法专题
回溯法专题模板专题模板result = []func backtrack(选择列表,路径): if 满足结束条件: result.add(路径) return for 选择 in 选择列表: 做选择 backtrack(选择列表,路径) 撤销选择专题golang力扣leetcode 78.子集golang力扣leetcode 90.子集IIgolang力扣leetcode 46.全排列golan原创 2022-01-25 16:01:05 · 129 阅读 · 0 评论 -
基础数据结构leetcode滑动窗口专题
滑动窗口专题思想专题思想右指针右移之后窗口数据更新判断窗口是否要收缩左指针右移之后窗口数据更新根据题意计算结果模板func minWindow(s string, t string) string { wind := make(map[byte]int) need := make(map[byte]int) for i := range t { need[t[i]]++ } left, right, match, start, end, min := 0, 0, 0, 0,原创 2022-01-23 14:42:06 · 216 阅读 · 0 评论 -
基础数据结构leetcode递归专题
递归专题golang力扣leetcode 24.两两交换链表中的节点golang力扣leetcode 95.不同的二叉搜索树IIgolang力扣leetcode 509.斐波那契数原创 2022-01-22 16:25:07 · 129 阅读 · 0 评论 -
基础数据结构leetcode动态规划dp专题
基础数据结构leetcode动态规划专题golang力扣leetcode 120.三角形最小路径和golang力扣leetcode 64.最小路径和golang力扣leetcode 62.不同路径golang力扣leetcode 63.不同路径IIgolang力扣leetcode 70.爬楼梯golang力扣leetcode 55.跳跃游戏golang力扣leetcode 45.跳跃游戏IIgolang力扣leetcode 132.分割回文串IIgolang力扣leetcode 300.最原创 2022-01-21 12:53:09 · 151 阅读 · 0 评论 -
基础数据结构leetcode二分专题
二分专题专题总结专题golang力扣leetcode 704.二分查找golang力扣leetcode 61.搜索区间golang力扣leetcode 35.搜索插入位置golang力扣leetcode 74.搜索二维矩阵golang力扣leetcode 278.第一个错误的版本golang力扣leetcode153.寻找旋转排序数组中的最小值golang力扣leetcode 154.寻找旋转排序数组中的最小值IIgolang力扣leetcode 33.搜索旋转排序数组golang力扣l原创 2022-01-15 12:03:11 · 204 阅读 · 0 评论 -
golang数据结构篇之跳表
跳表复杂度介绍代码insert打印跳表复杂度时间复杂度:O(logN)空间复杂度:O(N)介绍跳表是在一个有序的链表上面建立索引,实现快速查找、插入、删除,redis中的zset的数据结构就是跳表代码insertpackage mainimport ( "fmt" "math/rand" "time")const ( maxLevel = 16)// Element 对外的元素抽象type Element struct { Member string Scor原创 2021-12-18 22:07:47 · 1338 阅读 · 0 评论 -
基础数据结构leetcode二进制专题
二进制专题专题专题golang力扣leetcode 136.只出现一次的数字Igolang力扣leetcode 137.只出现一次的数字IIgolang力扣leetcode 260.只出现一次的数字IIIgolang力扣leetcode 191.位1的个数golang力扣leetcode 338.比特位计数golang力扣leetcode 190.颠倒二进制位golang力扣leetcode 201.数字范围按位与...原创 2021-12-11 00:22:01 · 332 阅读 · 0 评论 -
golang数据结构篇之二进制
二进制基本操作交换两个数移除最后一个 1获取最后一个 1基本操作a = 0 ^ a = a ^ 00 = a ^ a由上面两个推导出:a = a ^ b ^ b交换两个数a = a ^ bb = a ^ ba = a ^ b移除最后一个 1a = n & (n - 1)获取最后一个 1diff = (n & (n - 1)) ^ n...原创 2021-12-10 17:18:30 · 885 阅读 · 0 评论 -
基础数据结构leetcode栈和队列专题
栈和队列专题专题专题golang力扣leetcode 155.最小栈golang力扣leetcode 150.逆波兰表达式求值golang力扣leetcode 394.字符串解码golang力扣leetcode 94.二叉树的中序遍历golang力扣leetcode 133.克隆图golang力扣leetcode 200.岛屿数量golang力扣leetcode 84.柱状图中最大的矩形golang力扣leetcode 232. 用栈实现队列golang力扣leetcode 542.01原创 2021-12-10 03:40:08 · 327 阅读 · 0 评论 -
基础数据结构leetcode二叉树和分治法专题
基础数据结构leetcode二叉树和分治法练习二叉树和分治法练习二叉树和分治法练习golang力扣leetcode 104. 二叉树的最大深度golang力扣leetcode 110. 平衡二叉树golang力扣leetcode 124. 二叉树中的最大路径和golang力扣leetcode 236. 二叉树的最近公共祖先golang力扣leetcode 102. 二叉树的层序遍历golang力扣leetcode 107. 二叉树的层序遍历 IIgolang力扣leetcode 103. 二原创 2021-12-03 22:24:29 · 158 阅读 · 0 评论 -
基础数据结构leetcode链表练习
链表专题golang力扣leetcode 83. 删除排序链表中的重复元素golang力扣leetcode 82.删除排序链表中的重复元素IIgolang力扣leetcode 206.反转链表golang力扣leetcode 92.反转链表IIgolang力扣leetcode 21.合并两个有序链表golang力扣leetcode 86.分隔链表golang力扣leetcode 148.排序链表golang力扣leetcode 143.重排链表golang力扣leetcode 141.环形原创 2021-12-03 22:20:49 · 166 阅读 · 0 评论 -
golang数据结构篇之链表
golang数据结构篇之链表链表常见题型链表链表需要掌握的核心点null/nil 异常处理dummy node 哑巴节点快慢指针插入一个节点到排序链表从一个链表中移除一个节点翻转链表合并两个链表找到链表的中间节点常见题型待补充...原创 2021-11-28 01:54:41 · 411 阅读 · 0 评论 -
golang数据结构篇之分治法
分治法思想分治法遍历二叉树归并排序快排思想先分别处理局部,再合并结果。分而治之。使用场景:快速排序归并排序二叉树相关问题分治法模板递归返回条件分段处理合并结果func traversal(root *TreeNode) ResultType { // nil or leaf if root == nil { // do something and return } // Divide ResultType left =原创 2021-11-23 20:49:29 · 196 阅读 · 0 评论 -
golang数据结构篇之二叉树
二叉树二叉树遍历递归遍历前序非递归中序非递归后续非递归DFS 深搜-从上到下DFS 深搜-从下向上(分治法)BFS 层次遍历二叉树遍历前序遍历:先访问根节点,再前序遍历左子树,再前序遍历右子树中序遍历:先中序遍历左子树,再访问根节点,再中序遍历右子树后序遍历:先后序遍历左子树,再后序遍历右子树,再访问根节点以根访问顺序决定是什么遍历左子树都是优先右子树递归遍历前中后序递归遍历换换位置即可func preorderTraversal(root *TreeNode) { if root原创 2021-11-23 20:14:30 · 868 阅读 · 0 评论 -
golang数据结构篇之栈和队列以及简单标准库
数据结构篇栈队列sortmathcopy类型转换栈//创建栈 stack := make([]int, 0) //push压入栈 stack = append(stack, 10) //pop弹出 v := stack[len(stack)-1] stack = stack[:len(stack)-1] //检查栈空 len(stack) == 0队列//创建队列queue := make([]int, 0)//enqueue入队queue = append(queue, 1原创 2021-11-22 23:03:08 · 2131 阅读 · 0 评论