打赏
摘要: 算法 时间复杂度 空间复杂度 稳定性 最好情况 一般情况 最坏情况 直接插入排序 O(n) O(n2) O(n2) O(1) 稳定 冒泡排序 O(n) O(n2) O(n2) O(1) 稳定 简单选择排序 O(n2) O(n2) O(n2) O(1) 不稳定 希尔排序 快速排序 O(nlog2n) 阅读全文
posted @ 2022-02-03 20:21 不像话 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 基数排序得到递减序列的过程如下: 初始化:设置r个空队列(基数),Qr-1, Qr-2, ..., Q0 按照各个关键字位权重递增的次序,个、十、百对d个关键字位分别做”分配“和”收集“ 分配:顺序扫描各个元素,若当前处理的关键字位=x,则将元素插入Qn队尾。 收集:把Qr-1, Qr-2, ... 阅读全文
posted @ 2022-02-03 20:12 不像话 阅读(64) 评论(0) 推荐(0) 编辑
摘要: ”2路“归并,把两个已经有序的序列合并成一个。 核心操作:把数组内的两个有序序列归并成一个。 空间复杂度O(n) 时间复杂度O(nlog2n) //归并排序 int *B = (int *)malloc (n * sizeof(int)); //定义足够大的数组B void Merge(int A[ 阅读全文
posted @ 2022-02-03 20:00 不像话 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 检查当前节点是否满足:根≥左,右。 若不满足,将当前节点与更大的一个孩子互换。 i的左孩子 2i i的右孩子 2i+1 i的父节点 i/2 时间复杂度O(nlog2n) 空间复杂度O(1) 若元素互换破坏了下一级的堆,则采用相同的方法继续往下调整。(小元素下坠) //建立大根堆 void Build 阅读全文
posted @ 2022-02-03 19:47 不像话 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 通过n-i次关键字间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i个记录交换。 空间复杂度O(1) 时间复杂度O(n2) 总共需要对比的关键字次数(n(n-1))/2 void SelectSort(int A[], int n){ for(int i=0; i<n-1; i++){ i 阅读全文
posted @ 2022-02-03 19:35 不像话 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。 时间复杂度O(nlog2n) 空间复杂度O(log2n) 快速排序的算法优化思路:尽量选择可以把数据中分的枢纽。 //用第一个元素将待排序序列划分为 阅读全文
posted @ 2022-02-03 19:28 不像话 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 每趟排序都是把值最小的数移至前面,依次排序。 空间复杂度O(1) 最好情况下,初始序列为”正序“序列,只需一趟排序,n-1次比较,且不移动记录,时间复杂度为O(n)。 最坏情况下,初始序列为逆序,则需要进行n-1趟排序,需要进行(n(n-1))/2次比较,并做等数量的记录移动,时间复杂度O(n2)。 阅读全文
posted @ 2022-02-03 19:19 不像话 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 先将整个待记录排序分割成若干子序列分别进行直接插入排序,待整个序列中的记录”基本有序“时,再对全体记录进行一次直接插入排序。 又称”缩小增量排序“,是一种属于插入排序类的算法,但在时间效率上比较优秀。 时间复杂度:与增量序列d1、d2、...的选择有关,目前无法用数学手段确切表示。 最坏时间复杂度O 阅读全文
posted @ 2022-02-03 19:05 不像话 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 折半插入排序所需附加存储空间和直接插入排序相同,折半插入排序仅减少了关键字空间的比较次数,而记录的移动次数不变。 时间复杂度为O(n2) 空间复杂度为O(1) void InsertSort(int A[], int n){ int i,j,low,mid,high; for(i=2; i<=n; 阅读全文
posted @ 2022-02-03 18:53 不像话 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 直接插入排序是最简单的排序方法,它的基本操作是将一个记录插入到以排序好的有序表中,从而得到一个新的记录数增一的有序表。 * 空间复杂度O(1) * 时间复杂度O(n²) void InsertSort(int A[], int n){ int i,j,temp; //定义变量 for(i=1; i< 阅读全文
posted @ 2022-02-03 18:43 不像话 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 一、安装ifconfig *确认本机是否真实存在ifconfig* echo $PATH 查看环境变量路径 ls /usr/sbin/ 查看此路径下是否有ifconfig这个程序 find / -name "ifconfig"查找所有ifconfig名称的文件## 标题 以上都不好使,说明ifcon 阅读全文
posted @ 2022-02-03 18:24 不像话 阅读(422) 评论(0) 推荐(0) 编辑