Java
无名万物
这个作者很懒,什么都没留下…
展开
-
Java基础学习(一)-java运行机制
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I...原创 2018-08-07 18:16:49 · 201 阅读 · 0 评论 -
快速排序
1、快速排序快速排序和冒泡排序都属于交换类排序,是对冒泡排序的优化,但是快排采用了“分而治之 ”的思想,跳跃式的交换,从而加快排序的速度。2、时间空间复杂度冒泡排序的时间复杂度:O(N^2) 快速排序的平均时间复杂度:O(n*logN),最差的时间复杂度和冒泡排序一样,都是O(N^2) 平均空间复杂度:O(nLogN)最坏空间复杂度O(N)3、原理及分析1、在要排序的数...原创 2018-09-11 13:24:00 · 176 阅读 · 0 评论 -
Java 数组合并排序
import java.util.*;public class ArrayMerge{ public static void main(String[] args){ int[] a = {1,2,3,5,6,7}; int[] b = {5,7,,84,9,2}; int[] c = merge(a, b); System...原创 2018-09-10 14:48:10 · 1062 阅读 · 0 评论 -
冒泡排序
1、冒泡排序 冒泡排序是将相邻两个元素进行两两比较,大的往后放,一次循环后,最大的在最后一位,因此第二次循环后需要比较的元素减少一个,即减少一次循环,代码如下import java.util.*;public class MaoPao{ public static void main(String[] args){ int[] a = {3,5,72,867,2...原创 2018-09-10 15:36:26 · 102 阅读 · 0 评论 -
二分查找
1、二分查找 查找中间索引,判断是否是要查找的数 1)是,返回中间索引; 2)否,判断中间索引的数比目标数大还是小? a) 比目标数大:则目标数在左侧,将最大数设置为中间索引-1; b) 比目标数小:则目标数在右侧,将最小数设置为中间索引+1; 计算中间索引,再次判断中间索引是否是要查找的数,递归 当最小数大于最...原创 2018-09-10 22:23:20 · 114 阅读 · 0 评论 -
自定义链表 遍历
定义节点1、单向链表,每个节点都有一个数据域和一个指针域,数据域存储该节点的数据,指针域指向下一个节点。节点定义如下:class ListNode<T>{ T val; ListNode next; public ListNode(T val){ this.val = val; }}主函数public class ListNodeDemo{ public s...原创 2018-09-19 10:46:55 · 230 阅读 · 0 评论 -
选择排序
1、选择排序(1)取第一个数与后面的所有数进行比较,当大于比较的数的时候,交换,因此第一轮之后第一个是最小数; (2)取第二个数与后面的所有数进行比较,重复第一步;2、代码实现import java.util.Arrays;public void SelectOrder{ public static void main(String[] args){ // ...原创 2018-09-14 11:51:15 · 104 阅读 · 0 评论 -
求Top K问题
1、问题描述从数组 arr[1,n] n个数中,找出最大的K个数,这个是经典的求Top K的问题 。例如从数组 int [] arr = {3,4,5,67,34,56,3,2,4,66,546} 中找到top5的数解法一: 排序求最大的五个数将数组进行排序,最大个5个数即为所求的数。...原创 2018-09-25 10:19:38 · 857 阅读 · 1 评论