之前较少对算法进行研究,现在开始将会关注。
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开发中的多种关键知识点,包括但不限于基础语法、框架源码解析、算法实现以及并发处理等内容,对于学习和提升Java编程技能具有极大的帮助。 首先,我们来探讨Java的基础部分。...
### Java数据结构与算法学习笔记知识点总结 #### 一、数据结构概述 数据结构是对数据的一种组织形式,它决定了数据的存储方式以及处理数据的方法。常见的数据结构包括但不限于数组、链表、栈、队列、二叉树、图等...
《算法笔记和算法笔记-上机训练实战指南整套-胡凡》是一份全面的算法学习资源,由胡凡编著,旨在帮助学习者深入理解和掌握计算机算法。这份资料包括了两部分:《算法笔记》和《算法笔记-上机训练实战指南》,两者...
这是我从B站上看韩老师讲的数据结构与算法后整理的笔记 代码经过运行,欢迎批评指正 有些地方我感觉还是挺难的 大都经过我自己的语言进行描述,韩老师中期的表达可能或多或少也影响可阅读性,望先生们见谅
胡凡的算法笔记和上机训练两本书是深入学习算法的重要资源,对于计算机科学与技术、软件工程等领域的学生和从业者来说,具有很高的参考价值。这两本书分别详细讲解了算法的基础理论以及实践应用,旨在提升读者的算法...
【Java数据结构和算法笔记】 在Java编程中,数据结构和算法是核心概念,它们直接影响程序的效率和可维护性。本笔记主要基于《Java数据结构和算法》(第二版)一书,概述了各种常见数据结构的特性及经典算法。 1. **...
【Java算法刷题笔记(LeetCode、牛客)】这篇笔记主要涵盖了三个核心知识点:双指针技巧、哈希表的应用以及深度优先搜索算法(DFS)。 1. **双指针技术**: 双指针是算法中常用的一种技巧,通常用于处理链表和数组的...
8. **5、JavaSE:数组.pdf**:数组是Java中的基本数据结构,笔记会详细讨论一维、多维数组的创建、访问和操作,以及数组的排序算法等。 9. **29、SpringSecurity权限控制.pdf**:SpringSecurity是Spring生态中的...
《算法笔记》与《上机训练指南》是两本针对计算机科学与技术领域的经典学习资料,尤其对于准备PAT(编程能力测试)或者其他编程竞赛的学生来说,它们是宝贵的资源。这两本书由胡凡和曾磊撰写,旨在帮助读者深入理解...
《JAVA学习笔记》是林信良先生的一部深入浅出的Java编程教程,旨在帮助初学者和有一定经验的开发者巩固和提升Java编程技能。这本书涵盖了Java语言的基础到高级概念,是一份宝贵的自学资料。 首先,从基础部分开始,...
Java 相关解题算法笔记 本资源摘要信息涵盖了 Java 相关解题算法笔记的知识点,包括合并两个有序链表、括号生成等算法问题的解决方案和思路分析。 合并两个有序链表 合并两个有序链表是指将两个升序链表合并为一...
7. 面试准备-《算法第4版》Java算法笔记、理解整理 8. Java基础知识面试题(总结最全面的面试题) 9. Java集合总结【面试题+脑图】,将知识点一网打尽! 10. 2万字Java并发编程面试题合集(含答案,建议收藏) ...
《算法笔记和上机训练实战指南》是一套深入学习算法的宝贵资料,包含了两本PDF电子书:一本是带有书签的《算法笔记》,另一本是《算法笔记-上机训练实战指南》。这两本书旨在帮助读者从理论到实践全方位掌握计算机...
这个名为"Java加密算法学习笔记的源码包"的压缩文件包含了关于Java中几种主要加密算法的实践代码和相关库,这对于理解和应用这些技术非常有帮助。 1. **Base64编码**: Base64是一种将二进制数据转化为可打印字符的...
《算法笔记-上机训练实战指南-胡凡》是一本专为编程爱好者和学习者设计的算法实践教程,由知名作者胡凡倾力撰写。这本书旨在帮助读者通过实际操作提升算法理解和应用能力,从而在解决计算机问题时更加游刃有余。 ...
Java 学习笔记 本资源摘要信息涵盖了 Java 编程语言的基础知识,着重于面向对象编程(OOP)的概念和实现。下面是该资源的详细知识点: 1. 面向对象编程(OOP)的基本概念: * 对象: everything is an object...
林信良学习笔记(内容):ajax学习笔记,算法学习笔记,计算机图形学,C++学习笔记,设计模式,Hibernate学习笔记,Java学习笔记,JSF,JSP/Servlet,JUnit,Spring,Struts等