面试题
临时抱不到佛脚
这个作者很懒,什么都没留下…
展开
-
java实现希尔排序
希尔排序 基本思想 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含 的关键词越来越多,当增量减至 1 时,整个文件恰被分成一组,算法便终止 示意图 代码实现 package com.sorttext; import java.util.Arrays; public class ShellSort3 { public static void main(String[] args) { int[] arr={5,4,9,8,2,6,原创 2020-11-02 16:22:23 · 148 阅读 · 0 评论 -
java实现插入排序
插入排序 插入排序(Insertion Sorting)的基本思想是:把 n 个待排序的元素看成为一个有序表和一个无序表,开始时有 序表中只包含一个元素,无序表中包含有 n-1 个元素,排序过程中每次从无序表中取出第一个元素,把它的排 序码依次与有序表元素的排序码进行比较,将它插入到有序表中的适当位置,使之成为新的有序表 思路图 代码实现 package com.sort; import java.text.SimpleDateFormat; import java.util.Arrays; impor原创 2020-11-02 15:54:01 · 111 阅读 · 0 评论 -
java实现选择排序
选择排序 思想:每次找数组中最小的数字,与最前面的数字交换,与冒泡排序的区别就是,冒泡是两两比较交换,而选择排序确定一个数只需要交换一次 代码实现 package com.sort; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Date; public class SelectSort { //选择排序,每次从数组中找到最小值,进行一次换位置 public static原创 2020-11-02 15:41:14 · 82 阅读 · 0 评论 -
java实现冒泡排序 并优化
冒泡排序 冒泡排序的思想就是两两比较,不断地向数组最后推送剩余数组中的最大值 代码实现以及优化 package com.sort; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Date; public class BubbleSort { public static void main(String[] args) { int[] array={3, 9, -1, 10,原创 2020-11-02 15:21:31 · 117 阅读 · 0 评论 -
java实现快速排序(图)
快速排序 快速排序是对冒泡排序的一种改进, 它是不稳定的。由C. A. R. Hoare在1962年提出的一种划分交换排序,采用的是分治策略(一般与递归结合使用),以减少排序过程中的比较次数,它的最好情况为O(nlogn),最坏情况为O(n^2),平均时间复杂度为O(nlogn)。 基本思想 选择一个基准数,通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小。然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以达到全部数据变成有序。 代码原创 2020-11-02 15:14:27 · 306 阅读 · 0 评论 -
单向链表面试题(新浪百度腾讯)
求单链表中有效节点的个数 遍历数组,通过length++ 得到有效节点的个数 //返回单向链表的有效节点 public static int getLength(Node head){ int length=0; //遍历数组 Node temp=head.next; while (true){ if (temp!=null){ length++; }el原创 2020-10-20 23:10:37 · 127 阅读 · 0 评论