Java知识点总结(一)
来源:互联网 发布:sql参考手册 编辑:程序博客网 时间:2024/05/17 18:02
最近在负责部门的Java工程师招聘,面试了一个星期,感觉2-3年工作经验的工程师普遍有个特点,基础知识不扎实,主流框架知识停留在应用的阶段,掌握的不够深入,当然,也有可能是高水平的不屑于来我们公司面试,我所说的不能代表整个行业,只是对本周面试工作的一点感想。同时,自己在面试的时候也在琢磨,面试别人需要问些什么,Java开发应该掌握些什么呢?所以现在自己也准备对一些知识点做一下反思和总结。
基本算法(排序)
1.冒泡排序
public static void bubbleSort(int[] a) { for (int i = 0; i < a.length - 1; i++) for (int j = i + 1; j < a.length; j++) if (a[i] > a[j]) { int x = a[i]; a[i] = a[j]; a[j] = x; }}
// 冒泡升级版public static void cocktailSort(int[] a) { int left = 0; int right = a.length - 1; while (left < right) { for (int i = left; i < right; i++) { if (a[i] > a[i + 1]) { int x = a[i]; a[i] = a[i + 1]; a[i + 1] = x; } } right--; for (int i = right; i > left; i--) { if (a[i - 1] > a[i]) { int x = a[i]; a[i] = a[i - 1]; a[i - 1] = x; } } left++; }}
2.插入排序
public static int[] insertSort(int[] a) { if (a != null && a.length > 0) { for (int i = 1; i < a.length; i++) { if(a[i] < a[i-1]){ int x = a[i]; a[i] = a[i-1]; int j= i-2; while(j >= 0 && x < a[j]){ a[j+1] = a[j]; j--; } a[j+1] = x; } } }}
// 插入升级版public static void insertSortDichotomy(int[] a) { for (int i = 1; i < a.length; i++) { int get = a[i]; int left = 0; int right = i - 1; while (left <= right) { int mid = (left + right) / 2; if (a[mid] > get) right = mid - 1; else left = mid + 1; } for (int j = i - 1; j >= left; j--) { a[j + 1] = a[j]; } a[left] = get; }}
// 插入排序-希尔排序public static void ShellSort(int[] a) { int h = 0; while (h <= a.length) { h = 3 * h + 1; } while (h >= 1) { for (int i = h; i < a.length; i++) { int j = i - h; int get = a[i]; while (j >= 0 && a[j] > get) { a[j + h] = a[j]; j = j - h; } a[j + h] = get; } h = (h - 1) / 3; }}
3.选择排序
public static int[] selectSort(int[] a) { if (a != null && a.length > 0) { int min = 0; for (int i = 0; i < a.length-1; i++) { min = i; for (int j= i+1; j< a.length; j++) { if (a[min] > a[j]) min = j; } if (min != i) { int x = a[min]; a[min] = a[i]; a[i] = x; } } }}
未完待续
【总监】十二春秋之,3483099@qq.com;
【Master】zelo,616701261@qq.com;【运营】运维艄公,897221533@qq.com;
【产品设计】流浪猫,364994559@qq.com;【体验设计】兜兜,2435632247@qq.com;
【iOS】淘码小工,492395860@qq.com;iMcG33K,imcg33k@gmail.com;
【Android】人猿居士,1059604515@qq.com;思路的顿悟,1217022114@qq.com;
【Java】首席工程师MR_W,feixue300@qq.com;【测试】土镜问道,847071279@qq.com;
【数据】fox009521,42151960@qq.com;【安全】保密,你懂的。
阅读全文
0 0
- JAVA总结知识点(一)
- Java知识点总结(一)
- Java知识点总结(一)
- JAVA知识点总结一
- JAVA知识点总结(一)异常
- Java基础知识点总结(一)
- Java SE基础知识点总结(一)
- Java知识点小总结(一)
- java基础知识点总结(一)
- android,java知识点总结(一)
- Java知识点总结(一)语言基础
- 知识点总结(一)
- Java基础知识点总结一
- Java中小知识点总结一
- Java散落知识点总结(一)
- Core Java第二章知识点总结(一)
- Java知识点总结(一)---int与Integer的区别
- 关于java部分知识点的总结(一)
- 短信验证码和联系人
- 【安卓学习笔记】JAVA基础lesson11-包和访问权限
- CSDN第一天
- 美团2018校园招聘内推笔试代码分享
- oracle 高级查询 OVER(PARTITION BY)
- Java知识点总结(一)
- 数字翻转
- Linux(Cent OS7.2)下启动停止memcached方法及ps命令使用讲解
- pycharm2017.2.1中的修改工程文见列表的名字的字体大小以及文件列表的背景颜色
- 【物联网安全】应用层(安全、服务层)对终端设备的标识管理服务
- 【HTML5学习笔记】31:CSS3变形效果 上
- 二分图最大匹配(匈牙利算法)
- LeetCode之3. Longest Substring Without Repeating Characters
- PP代码生成器(四) 使用解决方案生成代码