之前较少对算法进行研究,现在开始将会关注。
1、冒泡排序法
/** * 算法排序 - 冒泡排序 * @param args */ public static void main(String[] args) { /* 冒泡排序 */ int i, j, k; int[] a = { 48, 26, 78, 52, 49, 80 }; for (i = 0; i < a.length; i++) { for (j = i + 1; j < a.length; j++) { if (a[i] > a[j]) { k = a[j]; a[j] = a[i]; a[i] = k; } } } // 输出 for (int b = 0; b < a.length; b++) { System.out.println(a[b]); } }
2、二分法查找
又称折半查找,被查找的数组需要已经过排序的。
/** * 二分法算法 * @author Dwen * @version v 0.1 2014-3-6 上午10:27:11 */ public class binaryTest { /** * * @param args */ public static void main(String[] args) { int[] array = {100,101,102,103,104,105,106,107,108,109,120,121,122,123,124,125,126,127,128}; int result = binarySearch(array,123); System.out.println("数组下标为:"+result); } /** * 二分查找法 * @param array * @param value * @return */ private static int binarySearch(int[] array,int value){ int count = 0;//统计寻找次数 int left = 0; int right = array.length - 1; while(left<=right){ count ++; int middle = (left + right)/2; if(value == array[middle]){ System.out.println("共寻找 "+count +" 次!"); return middle; }else if(value > array[middle]){ left = middle + 1; }else{ right = middle - 1; } } System.out.println("共寻找 "+count +" 次!"); return -1; } }
相关推荐
算法笔记
中软国际培训的学习笔记,很值得参考。学习java数据结构很有必要看看
Java所有demo 算法笔记 框架源码 代码生成器 线程池 分布式等等,Java所有demo 算法笔记
sgg数据结构和算法笔记
Java相关解题算法笔记
这是我从B站上看韩老师讲的数据结构与算法后整理的笔记 代码经过运行,欢迎批评指正 有些地方我感觉还是挺难的 大都经过我自己的语言进行描述,韩老师中期的表达可能或多或少也影响可阅读性,望先生们见谅
Java数据结构和算法 第0讲 综述 参考教材:Java数据结构和算法(第二版),[美] Robert lafore 1. 数据结构的特性 "数据结构"优点 "缺点 " "数组 "插入快;如果知道下标,可以非常快"查找慢,删除慢,大小固定" " ...
7. 面试准备-《算法第4版》Java算法笔记、理解整理 8. Java基础知识面试题(总结最全面的面试题) 9. Java集合总结【面试题+脑图】,将知识点一网打尽! 10. 2万字Java并发编程面试题合集(含答案,建议收藏) ...
就是自己平时刷题做的一些笔记,经常在LeetCode、牛客网刷题,目前每天都会坚持,我想分享一下我的笔记,希望我自己能更有动力,也希望能帮到一些入门小白吧!大家一定要尽早去刷题,养成一个刷题的好习惯哦!大家...
算法笔记_066Kruskal算法详解(Java)共10页.pdf.zip
林信良学习笔记(内容):ajax学习笔记,算法学习笔记,计算机图形学,C++学习笔记,设计模式,Hibernate学习笔记,Java学习笔记,JSF,JSP/Servlet,JUnit,Spring,Struts等
JAVA数据结构和算法笔记[归纳].pdf
「常見程式演算」主要收集一些常見的程式練習題目,您可以藉這些題目培養一些程式設計邏輯的感覺,對題目的分類只是個大概,方便索引而已,實作的部份是使用 C 及 Java。
Java数据结构和算法学习笔记,对于爱好Java人员来说,再好不过了
有关java中Base64算法,消息摘要算法,对称加密算法,非对称加密算法,数字签名算法的使用方法相关的代码,其中包含相关的jar包
进行动态规划问题的详细总结,总结了相关的经典问题,例如0-1背包问题,完全背包问题,然后对LeetCode若干使用动态规划实现的题型进行梳理和思路分析讲解