1 / 22
文档名称:

面试时的java数据结构与算法word版.doc

格式:doc   大小:640KB   页数:22页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

面试时的java数据结构与算法word版.doc

上传人:精品小课件 2021/7/3 文件大小:640 KB

下载得到文件列表

面试时的java数据结构与算法word版.doc

相关文档

文档介绍

文档介绍:面试时的Java数据结构与算法
查找和排序算法是算法的入门知识,其经典思想可以用于很多算法当中。因为其实现代码较短,应用较常见。所以在面试中经常会问到排序算法及其相关的问题。但万变不离其宗,只要熟悉了思想,灵活运用也不是难事。一般在面试中最常考的是快速排序和归并排序,并且经常有面试官要求现场写出这两种排序的代码。对这两种排序的代码一定要信手拈来才行。还有插入排序、冒泡排序、堆排序、基数排序、桶排序等。
面试官对于这些排序可能会要求比较各自的优劣、各种算法的思想及其使用场景。还有要会分析算法的时间和空间复杂度。通常查找和排序算法的考察是面试的开始,如果这些问题回答不好,估计面试官都没有继续面试下去的兴趣都没了。所以想开个好头就要把常见的排序算法思想及其特点要熟练掌握,有必要时要熟练写出代码。
接下来我们就分析一下常见的排序算法及其使用场景。限于篇幅,某些算法的详细演示和图示请自行寻找详细的参考。
冒泡排序
冒泡排序是最简单的排序之一了,其大体思想就是通过与相邻元素的比较和交换来把小的数交换到最前面。这个过程类似于水泡向上升一样,因此而得名。举个栗子,对5,3,8,6,4这个无序序列进行冒泡排序。首先从后向前冒泡,4和6比较,把4交换到前面,序列变成5,3,8,4,6。同理4和8交换,变成5,3,4,8,6,3和4无需交换。5和3交换,变成3,5,4,8,6,,把最小的数3排到最前面了。对剩下的序列依次冒泡就会得到一个有序序列。冒泡排序的时间复杂度为O(n^2)。
实现代码:
/**
****@Description:冒泡排序算法实现
****@author 王旭
*/
public class BubbleSort {
public static void bubbleSort(int[] arr) {
if(arr == null || == 0)
return ;
for(int i=0; i) {
for(int j=-1; j>i; j--) {
if(arr[j] ]) {
swap(arr, j-1, j);
}
}
}
}
public static void swap(int[] arr, int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
选择排序
选择排序的思想其实和冒泡排序有点类似,都是在一次排序后把最小的元素放到最前面。但是过程不同,冒泡排序是通过相邻的比较和交换。而选择排序是通过对整体的选择。举个栗子,对5,3,8,6,4这个无序序列进行简单选择排序,首先要选择5以外的最小数来和5交换,也就是选择3和5交换,一次排序后就变成了3,5,8,6,,最终就会得到一个有序序列。其实选择排序可以看成冒泡排序的优化,因为其目的相同,只是选择排序只有在确定了最小数的前提下才进行交换,大大减少了交换的次数。选择排序的时间复杂度为O(n^2)。
实现代码:
/**
****@Description:简单选择排序算法的实现
****@author 王旭
*/
public class SelectSort {
public static void selectSort(int[] arr) {
if(arr == null || == 0)
return ;
int minIndex = 0;
for(int i=0; i//只需要比较n-1次
minIndex = i;
for(int j=i+1; j//从i+1开始比较,因为minIndex默认为i了,i就没必要比了。
if(arr[j] arr[minIndex]) {
minIndex = j;
}
}
if(minIndex != i) { /

最近更新

2025版北京市住建委发布的存量房屋买卖合同标.. 14页

2025版单位办公楼装修与绿色环保材料采购合同.. 18页

2025版厂房租赁合同:智能机器人制造租赁范本.. 15页

2025版变电所电气安装与调试分包施工合同 14页

2025版商铺客户投诉处理与物业管理服务协议 17页

2025版地下车库物业管理服务合同通用范本 16页

2025版地铁供电系统用低压开关柜采购合同范本.. 17页

2025版城市综合体运营管理PPP项目合作合同范本.. 18页

2025版大米出口贸易合同书范本,含质量标准与.. 15页

2025版安全教育培训与认证外包服务采购合同 17页

2025版家具配件采购合同创新版 16页

2025版工业4.0厂房租赁合同范本 13页

2025版常设中国建设工程法律论坛建筑工程合同.. 13页

2025版彩票机设备租赁及运营管理协议 16页

2025版成都房地产工程承包合同附带工程质量与.. 16页

2025版打桩工程租赁合同履行管理 12页

2025版拆迁安置房购房合同范本(含安置补偿标.. 15页

2025版教育机构合作协议要点分析 16页

2025版文化展览场地租用飘然而往动态合作协议.. 15页

2025版新能源电站用电缆采购与运输合同 13页

2025版时尚购物中心委托运营与管理创新方案合.. 16页

2025版智能仓储租赁及智能物流服务合同 14页

2025版智能家居系统安装合同范本 19页

2025版智能财务管理解决方案合同 16页

2025版标准公路运输合同详细文本 16页

2025版武汉环保节能设备采购与安装合同范本 15页

2025版汽车租赁企业间合作协议 15页

2025版洗车服务公司与企业食堂车辆清洗合同 13页

2025版烧烤店转让及接手合同范本,包含设备清.. 14页

2025版特色面馆商标及经营权转让协议 15页