排序算法思想:数组a[1...n],
(1) 假定min=a[1],a[1]与剩余其他数比较,如果比较中有比min大的数,则min改变为较小数;
(2) ......
(3)假定min=a[i],a[i]比较a[k](k>i,k<a.length),min=min{a[k],(k>i,k<a.length)}
(4) ......
java实现代码:
int a[]={49, 38, 65, 97, 76, 13, 27, 49};
int len=a.length;
int min;
int temp;
for(int i=0;i<=len-1;i++){
min=i;
for(int j=i;j<len;j++){
if(a[min]>a[j]){
min=j;
}
}
temp=a[i];
a[i]=a[min];
a[min]=temp;
for(int m=0;m<=len-1;m++){
System.out.print(a[m]+" ");
}
System.out.println();
}
for(int m=0;m<=len-1;m++){
System.out.print(a[m]+" ");
}
}
打印结果:
13 38 65 97 76 49 27 49
13 27 65 97 76 49 38 49
13 27 38 97 76 49 65 49
13 27 38 49 76 97 65 49
13 27 38 49 49 97 65 76
13 27 38 49 49 65 97 76
13 27 38 49 49 65 76 97
13 27 38 49 49 65 76 97
13 27 38 49 49 65 76 97
分享到:
相关推荐
常见的面试算法包括排序(如冒泡排序、快速排序、归并排序)、查找(如二分查找、哈希查找)、动态规划、贪心算法、回溯法等。面试官可能会要求你在白板上现场编写和解释算法。 4. **操作系统**:操作系统基础知识...
"考试类精品--前端算法面试常考题目解析"这个压缩包文件很可能包含了一系列针对前端工程师的算法练习和解答,帮助准备面试的人熟悉和掌握这些关键技能。在前端算法面试中,通常会考察以下几个核心知识点: 1. **...
### IT笔试面试--Trie树(前缀树)常考题目及解析 #### 概述 Trie树,又称字典树或前缀树,是一种用于快速检索的多叉树结构,广泛应用于字符串处理领域。它能有效地利用字符串的公共前缀来减少存储空间,并在查询...
1. **基础算法**:包括排序(如快速排序、归并排序、堆排序等)、搜索(如二分查找、广度优先搜索、深度优先搜索)以及图论的基础知识,这些都是面试中的常考内容。 2. **数据结构**:深入理解链表、栈、队列、树...
此外,面试官可能还会询问关于其他排序算法,如冒泡排序、插入排序、选择排序、归并排序等,以及它们的时间复杂度和适用场景。 在准备面试时,除了掌握这些基本算法外,还需要了解数据结构(如链表、树、图)、动态...
这份压缩包“考试类精品--总结一下面试常考的算法题”显然为面试者提供了一个宝贵的资源,帮助他们提升自身的编程和算法解决能力。在这个文档中,我们将深入探讨其中可能涵盖的一些关键算法知识点,并给出一些相关的...
常见的话题包括排序算法(如冒泡、选择、插入、快速、归并排序),查找算法(如二分查找、哈希查找),数据结构(链表、栈、队列、堆、树、图),以及动态规划、贪心策略、回溯法等。面试者需要能够分析算法的时间...
ES6(ECMAScript 2015)的新特性是面试常考内容: - let和const:块级作用域的变量声明。 - 解构赋值:对象和数组的快速赋值方式。 - 箭头函数:更简洁的函数定义。 - Class与继承:面向对象的语法糖。 - ...
在掌握数据结构的基础上,我们需要学习和练习各种算法,如排序(冒泡、插入、选择、快速、归并、堆排序等)、搜索(深度优先搜索、广度优先搜索、二分查找等)、动态规划、贪心算法、回溯法、分治策略等。...
- **选择排序**:每次从未排序的部分选择最小的元素,放到已排序部分的末尾。 - **插入排序**:将当前元素插入到已排序的序列中的适当位置。 - **气泡排序**:通过不断交换相邻元素的位置,将较大的元素逐步往后移动...
5. **分治法**:分治策略常用于解决子集、数组划分等问题,需要理解和运用。 6. **宽度优先搜索**:BFS常用于解决网络问题,如寻找最短路径,实现相对简单。 对于每个主题,建议至少完成一定的题目数量,以加深...
### 起泡排序法详解 #### 一、起泡排序法概述 起泡排序(Bubble Sort)是一种简单的排序算法,其基本思想是通过不断地交换相邻的未按顺序排列的元素,逐步将最大或最小的元素移动到序列的一端。在IT行业的笔试中,...
- 面试中常考的技术问题类型及其解题思路。 - **面试后的行为**: - 如何有效应对面试中的技术问题。 - 应对offer阶段可能遇到的问题。 - **面试中常见的十大错误及避免方法**:例如沟通不畅、准备不足等。 - **...
本压缩包包含两份文档,分别是“面试——数据结构二 .doc”和“面试——常考的数据结构题.doc”,它们集中了常在面试中出现的数据结构题目,以下是这些知识点的详细解释: 1. **数组**:是最基础的数据结构,它提供...
7. **冒泡排序法** - 冒泡排序是一种简单的排序算法,通过不断交换相邻的逆序元素实现。它的时间复杂度为O(n^2),不适合大规模数据排序。 8. **堆栈实现** - 使用ArrayList或LinkedList可轻松实现堆栈。堆栈遵循...
数据结构是计算机科学中的核心概念,它涉及到如何在内存中有效地组织和管理数据,...准备面试时,可以通过解决经典的面试题来提高自己的技能,如《面试——数据结构二》和《面试——常考的数据结构题》这样的文档资料。
此外,它还考察了问题解决能力,包括数据结构的选择、算法的优化和代码的简洁性,这些都是Java面试中常考的点。 在准备Java面试时,除了H指数这样的问题,还需要熟悉其他常见的算法题目,如二分查找、动态规划、...
常见的算法类型包括排序(如冒泡排序、插入排序、选择排序、快速排序、归并排序)、搜索(如深度优先搜索、广度优先搜索)、动态规划、贪心算法和回溯法等。 - 排序算法:不同的排序算法有不同的时间复杂度和稳定性...
根据给定文件内容,以下是详细的知识点总结: ...以上内容涵盖了Java基础、Java集合框架、Linux常用指令、MySQL基础和数组处理等多个方面,是面试中常见的技术问题,也是IT行业技术面试的必考知识点。