# algorithm **Repository Path**: zxdDream/algorithm ## Basic Information - **Project Name**: algorithm - **Description**: 总结排序和查找算法 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2016-08-29 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #相关概念 _**时间复杂度**_ 1. 时间复杂度可以认为是对排序数据的总的操作次数。反映当n变化时,操作次数呈现什么规律。 1. 常见的时间复杂度有:常数阶O(1),对数阶O(log2n),线性阶O(n), 线性对数阶O(nlog2n),平方阶O(n2) 1. 时间复杂度O(1):算法中语句执行次数为一个常数,则时间复杂度为O(1) _**空间复杂度**_ 1. 空间复杂度是指算法在计算机内执行时所需存储空间的度量,它也是问题规模n的函数 1. 空间复杂度O(1):当一个算法的空间复杂度为一个常量,即不随被处理数据量n的大小而改变时,可表示为O(1) 1. 空间复杂度O(log2N):当一个算法的空间复杂度与以2为底的n的对数成正比时,可表示为O(log2n)(注:a^x=N,则x=loga(N)) 1. 空间复杂度O(n):当一个算法的空间复杂度与n成线性比例关系时,可表示为0(n). _**稳定性**_ 1. 当排序的数组中有相同的元素,排序前相同元素的位置和排序后相同元素的位置没有发生前后变换 #sort _**交换排序**_ 1. SimpleSort 简单排序 1. BubbleSort 冒泡排序 1. QuickSort 快速排序 _**选择排序**_ 1. SelectSort 简单选择排序 1. HeapSort 堆排序 _**插入排序**_ 1. InsertSort 直接插入排序 1. ShellSort 希尔排序(分组插入排序/缩小增量排序)