`
wenxin2009
  • 浏览: 320567 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java算法笔记

    博客分类:
  • java
 
阅读更多

之前较少对算法进行研究,现在开始将会关注。

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 算法笔记"集合了Java开发中的多种关键知识点,包括但不限于基础语法、框架源码解析、算法实现以及并发处理等内容,对于学习和提升Java编程技能具有极大的帮助。 首先,我们来探讨Java的基础部分。...

    java数据结构和算法学习笔记

    ### Java数据结构与算法学习笔记知识点总结 #### 一、数据结构概述 数据结构是对数据的一种组织形式,它决定了数据的存储方式以及处理数据的方法。常见的数据结构包括但不限于数组、链表、栈、队列、二叉树、图等...

    算法笔记和算法笔记-上机训练实战指南整套-胡凡

    《算法笔记和算法笔记-上机训练实战指南整套-胡凡》是一份全面的算法学习资源,由胡凡编著,旨在帮助学习者深入理解和掌握计算机算法。这份资料包括了两部分:《算法笔记》和《算法笔记-上机训练实战指南》,两者...

    韩顺平老师尚硅谷Java数据结构与算法194集笔记

    这是我从B站上看韩老师讲的数据结构与算法后整理的笔记 代码经过运行,欢迎批评指正 有些地方我感觉还是挺难的 大都经过我自己的语言进行描述,韩老师中期的表达可能或多或少也影响可阅读性,望先生们见谅

    胡凡的算法笔记和上机训练两本书

    胡凡的算法笔记和上机训练两本书是深入学习算法的重要资源,对于计算机科学与技术、软件工程等领域的学生和从业者来说,具有很高的参考价值。这两本书分别详细讲解了算法的基础理论以及实践应用,旨在提升读者的算法...

    Java数据结构和算法笔记.doc

    【Java数据结构和算法笔记】 在Java编程中,数据结构和算法是核心概念,它们直接影响程序的效率和可维护性。本笔记主要基于《Java数据结构和算法》(第二版)一书,概述了各种常见数据结构的特性及经典算法。 1. **...

    Java算法刷题笔记(Leetcode、牛客)

    【Java算法刷题笔记(LeetCode、牛客)】这篇笔记主要涵盖了三个核心知识点:双指针技巧、哈希表的应用以及深度优先搜索算法(DFS)。 1. **双指针技术**: 双指针是算法中常用的一种技巧,通常用于处理链表和数组的...

    狂神说Java系列笔记.rar

    8. **5、JavaSE:数组.pdf**:数组是Java中的基本数据结构,笔记会详细讨论一维、多维数组的创建、访问和操作,以及数组的排序算法等。 9. **29、SpringSecurity权限控制.pdf**:SpringSecurity是Spring生态中的...

    算法笔记+上机训练指南 两本带详细书签

    《算法笔记》与《上机训练指南》是两本针对计算机科学与技术领域的经典学习资料,尤其对于准备PAT(编程能力测试)或者其他编程竞赛的学生来说,它们是宝贵的资源。这两本书由胡凡和曾磊撰写,旨在帮助读者深入理解...

    JAVA学习笔记 林信良

    《JAVA学习笔记》是林信良先生的一部深入浅出的Java编程教程,旨在帮助初学者和有一定经验的开发者巩固和提升Java编程技能。这本书涵盖了Java语言的基础到高级概念,是一份宝贵的自学资料。 首先,从基础部分开始,...

    Java相关解题算法笔记

    Java 相关解题算法笔记 本资源摘要信息涵盖了 Java 相关解题算法笔记的知识点,包括合并两个有序链表、括号生成等算法问题的解决方案和思路分析。 合并两个有序链表 合并两个有序链表是指将两个升序链表合并为一...

    互联网Java面试训练营.rar

    7. 面试准备-《算法第4版》Java算法笔记、理解整理 8. Java基础知识面试题(总结最全面的面试题) 9. Java集合总结【面试题+脑图】,将知识点一网打尽! 10. 2万字Java并发编程面试题合集(含答案,建议收藏) ...

    算法笔记和上机训练实战指南

    《算法笔记和上机训练实战指南》是一套深入学习算法的宝贵资料,包含了两本PDF电子书:一本是带有书签的《算法笔记》,另一本是《算法笔记-上机训练实战指南》。这两本书旨在帮助读者从理论到实践全方位掌握计算机...

    Java加密算法学习笔记的源码包

    这个名为"Java加密算法学习笔记的源码包"的压缩文件包含了关于Java中几种主要加密算法的实践代码和相关库,这对于理解和应用这些技术非常有帮助。 1. **Base64编码**: Base64是一种将二进制数据转化为可打印字符的...

    算法笔记-上机训练实战指南-胡凡

    《算法笔记-上机训练实战指南-胡凡》是一本专为编程爱好者和学习者设计的算法实践教程,由知名作者胡凡倾力撰写。这本书旨在帮助读者通过实际操作提升算法理解和应用能力,从而在解决计算机问题时更加游刃有余。 ...

    java学习笔记.doc

    Java 学习笔记 本资源摘要信息涵盖了 Java 编程语言的基础知识,着重于面向对象编程(OOP)的概念和实现。下面是该资源的详细知识点: 1. 面向对象编程(OOP)的基本概念: * 对象: everything is an object...

    林信良java学习笔记

    林信良学习笔记(内容):ajax学习笔记,算法学习笔记,计算机图形学,C++学习笔记,设计模式,Hibernate学习笔记,Java学习笔记,JSF,JSP/Servlet,JUnit,Spring,Struts等

Global site tag (gtag.js) - Google Analytics