面试笔试准备(3)选择算法
来源:互联网 发布:怎样装天正软件 编辑:程序博客网 时间:2024/05/21 09:14
本篇内容为牛客网,左程云算法课程课堂笔记。
(1)课程讲解:选择排序:一开始在整个数组范围上选出最小值:放在位置零上,然后再1到n-1的位置上,选出一个最小值,放在位置1上。按照这样的方法,直到数组结束。
时间复杂度为o(n^2);选择排序每次实现将一个值放到他最终的位置上,从前往后。而冒泡排序是从后往前,把图个元素放到他最终可以放的位置上。
public int[] selectionSort(int[] A, int n) { for (int i = 0; i < A.length; i++) { int min=i;;for (int j = i+1; j < A.length; j++) {if (A[min]>A[j]) {min=j;//最小值的那个位置}}if (min!=i) {int tmp=A[min];A[min]=A[i];A[i]=tmp;}} return A; }
无论记录的初始排列如何,所需的关键字间的比较次数相同,均为n(n-1)/2,总的时间复杂度为O(n2);
空间复杂度 O(1);
简单选择排序算法不是一个稳定的排序算法:因为,简短选择排序,是从后续序列中,找出最小的那个元素,和他进行交换,那么如果后续序列中有一个和i位置相同的值的元素,又有最小值在这个相同的值的后面,那么i这个位置上的值,就会被交换在与他相同的值的后面去。所以,选择排序不是一种稳定的排序算法。
阅读全文
0 0
- 面试笔试准备(3)选择算法
- 面试笔试准备(2)排序算法
- 找工作--笔试面试--准备3
- 面试笔试准备(1)
- 准备面试笔试
- 面试准备(算法编程)
- 面试笔试整理3:深度学习机器学习面试问题准备(必会)
- IT笔试面试知识准备
- cs找工作 笔试面试准备
- C++基础知识面试笔试准备
- 找工作--笔试面试--准备1
- 找工作--笔试面试--准备2
- 找工作--笔试面试--准备4
- 找工作--笔试面试--准备5
- 找工作--笔试面试--准备6
- 找工作--笔试面试--准备7
- 找工作--笔试面试--准备8
- 找工作--笔试面试--准备9
- 软件设计目标—正确性
- SnackDown Online Qualifier 2017 | Same Snake
- foreach循环
- 深入分析PHP PDO配置及使用方法
- codes51竟然抓取CSDN博客中作者的文章篡改
- 面试笔试准备(3)选择算法
- HDU 4725(最短路之建图难点)
- android studio导入项目出错:Error:Execution failed for task ':app:processDebugManifest'. > Manifest merger
- 【Docker】docker镜像原理
- win7x64上安装Python2.7.13
- Java正则表达式的语法与示例
- End-to-End Learning of Geometry and Context for Deep Stereo Regression
- Gist上不了,怎么办?
- WCF流与文件传输、数据契约和消息契约