# golang-data-structure **Repository Path**: luwei0915/golang-data-structure ## Basic Information - **Project Name**: golang-data-structure - **Description**: 使用 golang 实现常用的数据结构和算法。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2022-07-01 - **Last Updated**: 2022-07-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # golang-data-structure 使用 `Golang` 实现常用的数据结构和算法。 ### 排序算法 - 选择排序 - 插入排序 - 归并排序 + 自顶向下 + 自底向上 - 快速排序 + 单路快排 + 双路快排 + 三路快排 - 堆排序 - 冒泡排序 - 希尔排序 |算法名称|时间复杂度|空间复杂度|特殊用例| |----:|----|----|----| |选择排序 | O(n^2) | O(1) | | |插入排序 | O(n^2) | O(1)|数组完全有序时,时间复杂度 O(n)| |归并排序 | O(nlogN) | O(n) |数组完全有序时,时间复杂度 O(n)| |快速排序 | O(nlogN)`*`| O(1) |数组元素完全相同时,三路快排时间复杂度为 O(n)| |堆排序 | O(nlogN)| O(1)| | |冒泡排序 | O(n^2) | O(1) |数组完全有序时,时间复杂度 O(n)| |希尔排序 | O(nlogN)-O(n^2)|O(1)|不同增长序列会影响性能| ### 动态数组 ### 链表 ### 栈 ### 队列 - 基于动态数组实现 - 基于循环数组实现