发文章
发文工具
撰写
网文摘手
文档
视频
思维导图
随笔
相册
原创同步助手
其他工具
图片转文字
文件清理
AI助手
留言交流
算法的复杂度也是简单的,排序第一个需要1的复杂度,排序第二个需要2的复杂度,因此整个的复杂度就是
1 + 2 + 3 + …… + N = O(N ^ 2)的复杂度。
// 插入排序void InsertSort(int array[], int length){ int i, j, key;
for (i = 1; i < length; i++) { key = array[i]; // 把i之前大于array[i]的数据向后移动 for (j = i - 1; j >= 0 && array[j] > key; j--) { array[j + 1] = array[j]; } // 在合适位置安放当前元素 array[j + 1] = key; }}
来自: 昵称8100026 > 《待学习》
0条评论
发表
请遵守用户 评论公约
算法-查找之一顺序查找
算法-查找之一顺序查找算法-查找之一顺序查找 查找-是最常见的数据操作之一,数据结构核心运算之一,其重要性不言而喻。如下:从第...
四道微软面试经典算法题
} if(max==-1||max <array[i]) { max=array[i];//创建哈希表 int[] hashTable=new int[N+1]; for(int i=0;i <array.length;i++) { hashTable[array[i]]=array[i]; } for(int i=0;i <array.len...
知识点总结之排序算法
7 */ 8 int Partion(int arr[], int left, int right) 9 {10 int x = arr[right];1 /* 2 * 归并排序 3 * 归并排序将数组分成两个...
堆排序算法
堆排序算法的过程如下:1)得到当前序列的最小(大)的元素 2)把这个元素和最后一个元素进行交换,这样当前的最小(大)的元素就放在了序列的最后,而原先的最后一个元素放到了序列的最前面 3)的交换可能会破坏...
五大基本排序算法
五大基本排序算法。int length = sizeof(array)/sizeof(array[0]);if(array[i]>array[j])array[i]=array[j];if(array[j]>array[j+1])//把比较出来大的数据向后移动。array[j]=array[j+1];array[j...
最长递增(非降、非减)子序列
如例子中的数组A{5,6, 7, 1, 2, 8},则我们排序该数组得到数组A‘{1, 2, 5, 6, 7, 8},然后找出数组A和A’的最长公共子序列即...
排序算法---归并排序
[数据结构] 动图演示 代码实现八大排序(插入、希尔、选择、堆、冒泡、快速、归并、基数/桶)
[数据结构] 动图演示 代码实现八大排序(插入、希尔、选择、堆、冒泡、快速、归并、基数/桶) 热门频道。// 前后指针(下标)法// 对数...
最长递增子序列问题
设序列X=<b1,b2,…,bn>是对序列L=<a1,a2,…,an>按递增排好序的序列。如果这样的元素存在,那么对所有aj,都有一个以aj为末元素的最长递增子序列的长度f(j),把其中最大的f(j)选出来,那么f(...
微信扫码,在手机上查看选中内容