Skip to content

Latest commit

 

History

History
117 lines (76 loc) · 3.57 KB

README.md

File metadata and controls

117 lines (76 loc) · 3.57 KB

Play Data Structure & Algorithm with Golang

使用 Golang 实现常用的数据结构和算法。

排序算法

归并排序

快速排序

排序算法对比

算法名称 时间复杂度 空间复杂度 特殊用例
选择排序 ${O(n^2)}$ ${O(1)}$ 数组完全有序时,时间复杂度${O(n)}$
插入排序 ${O(n^2)}$ ${O(1)}$
冒泡排序 ${O(n^2)}$ ${O(1)}$
归并排序 $O(nlogN)$ ${O(n)}$ 数组完全有序时,时间复杂度${O(n)}$
快速排序 $O(nlogN)*$ ${O(1)}$ 数组元素完全相同时,三路快排时间复杂度为${O(n)}$
堆排序 $O(nlogN)$ ${O(1)}$
希尔排序 $O(nlogN)-O(n^{2})$ ${O(1)}$

非比较排序

动态数组 - Dynamic Array

链表 - Linked List

栈 - Stack

队列 - Queue

堆 - Heap

二叉搜索树 - Binary Search Tree

线段树 - Segment Tree

字典树 - Trie

并查集 - Union Find

树状数组 - Binary Indexed Tree

字符匹配 - String Match

图 - Graph

无向无权图

无向有权图

其他