数据结构与算法——用Go语言描述

数据结构与算法 用Go语言描述

位运算

位运算——奇淫技巧

位运算——二进制截断和插入

位运算——交换奇偶位

位运算——回文判断

位运算——LeetCode1386. 安排电影院座位

位运算——面试题 17.19. 消失的两个数字

位运算——求1比特数

位运算——476. 数字的补数

位运算——出现一次的数,出现两次的数

查找

二分——有序数组中查找元素

二分——有序数组中,某个数最左或最右的位置

二分——无序无重复元素数组的局部最小值的索引

排序

排序——选择排序

排序——冒泡排序

排序——插入排序

排序——希尔排序

排序——堆排序

排序——归并排序

排序——快速排序

排序——桶排序

排序——计数排序

排序——基数排序

排序——算法总结

归并排序——小和问题

堆排序——Go标准库堆,排序一个几乎有序的数组

链表

链表——反转,删除

链表——删除单链表的节点

链表——实现队列和栈

链表——题目集合

数组

数组——环形队列、RingArray、RingBuffer

数组——实现栈

数组——按值划分区域

图——模板

图——宽度优先遍历

图——深度优先遍历

图——拓扑排序

图——最小生成树算法 Kruskal

图——最小生成树算法 Prim

图——Dijkstra

字符串相关

KMP算法——字符串匹配及其应用 时间复杂度O(M+N) 空间复杂度O(N)

Manacher算法——字符串最长回文子串问题O(N)

AC自动机——从文章中查找给定字符串是否出现

1662. 检查两个字符串数组是否相等

1880. 检查某单词是否等于两单词之和

Trie——字典树

Segment Tree——区间更新问题

Binary Indexed Tree O(log N)

Binary Search Tree O(log N)

AVL Tree Map O(log N)

Size Balanced Tree Map O(log N)

Skip List Map O(log N)

Morris遍历——二叉树遍历时间复杂度O(N)&额外空间复杂度O(1)

二叉树汇总及二叉树递归套路

并查集

并查集汇总

贪心

贪心算法训练汇总

BFPRT

bfprt算法——无序数组第k小的数O(N)

蓄水池算法

随机——蓄水池抽样算法 &等概率值

BitMap

位运算——IntSet

递归

递归——求数组最大值

递归——前奏练习

递归——逆序一个栈

递归——从左往右的尝试模型

递归——范围上的尝试模型

递归——打印一个字符串的全排列

递归——打印一个字符串的全部子序列

递归——汉诺塔问题

递归——N皇后问题

动态规划

动态规划——从左往右的尝试模型1

动态规划——从左往右的尝试模型2

动态规划——范围上的尝试模型

动态规划——机器人走路

动态规划——钱币的组合方法数

动态规划——贴纸拼词

动态规划——多样本位置全对应的尝试模型

动态规划——寻找业务限制的尝试模型

动态规划——马儿跳

动态规划——最小路径和leetcode 64

Map

Map——用切片实现一个简陋的Map

滑动窗口、单调栈

滑动窗口最值问题及单调栈

斐波那契数列

斐波那契数列 和它的O(log N)解法

栈、队列

用两个栈实现一个队列

用两个队列实现一个栈

最小栈 leetcode 155

堆,优先级队列

堆——大根堆

堆定制——1.0强耦合版

堆定制——2.0过度泛化版

go标准库——优先级队列的实现

数组累加和

数组累加和——汇总

打印二维数组

打印二维数组——汇总

打表

打表找规律——合集

快速幂

快速幂

密码学

AES加解密

同余

互质

Guess you like

Origin blog.csdn.net/dawnto/article/details/121366300