
算法
代老师的编程课
去哪儿网资深架构师,前美团技术专家,16年Java开发经验,MiniTomcat实战课程作者。
展开
-
常见排序算法复杂度
相关概念1、稳定排序(stable sort)和非稳定排序稳定排序是指所有相等的数经过某种排序算法操作后仍然能保持它们在排序之前的相对次序。反之就是非稳定排序。2、内排序(internal sorting)和外排序(external sorting)在排序过程中,所有需要排序的数都在内存,并在内存中调整它们的存储顺序,称为内排序;在排序过程中,只有部分数被调入内存,转载 2013-05-04 13:08:03 · 589 阅读 · 0 评论 -
java程序员必知的 8大排序
下载了文档自己截图存留8种排序之间的关系:1, 直接插入排序 (1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。 (2)实例(3)用java实现转载 2013-05-25 17:56:27 · 1007 阅读 · 0 评论 -
jdk源码--整数和字符串间的转换
如果让您亲自动手来来写一个Integer中的toString()方法和parseInt()方法,您会怎么写?请您先动手写toString()方法。我对于toString()的思路:1.首先需要得到这个Integer数值的位数,所以肯定有一个getIntegerSize()的private方法2.然后要把这个Integer数值转化为一个字符数组,所以也要有一个getChars()原创 2012-02-10 15:57:56 · 735 阅读 · 0 评论 -
快速排序(二) jdk源码中如何优化快速排序
快速排序是一种相当棒的排序方案,相关理论内容可以参见快速排序(一) 原理介绍 在jdk的[java.util.Arrays]类中,有一个sort的函数,它实现对很多数据结构进行的排序方法,其中sort(int[] a)中主要使用的是优化后的快速排序法,本文正是基于此来讲解如何优化快速排序算法。 java源代码:[c-sharp] view转载 2012-02-15 11:26:00 · 685 阅读 · 0 评论 -
快速排序(一) 原理介绍
一、基本思想 快速排序(Quicksort)是对冒泡排序的一种改进。由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 二、具体实现 设转载 2012-02-15 10:28:09 · 752 阅读 · 0 评论 -
Collections Framework中的算法(之二)
从本篇开始我们讲述Collections中的一些算法的源代码!本篇主要讲述与排序相关的一些方法,如:排序、反序、反序比较器、乱序、最大值和最小值等。 一、头及一些与算法相关的属性package java.util;import java.io.Serializable;import java.io.ObjectOutputStream;import转载 2013-07-12 08:41:03 · 913 阅读 · 0 评论 -
Collections Framework中的算法(之一)
江苏 无锡 缪小东 在博客其它文章中提到Java Collections Framework――java中面向对象的数据结构的框架!几乎任何学习java的朋友都要对此包(java.util)非常熟悉。 该框架主要包含接口、实现和算法三部分。在本博客关于FailFast机制的文章中纵向研究了List接口和List的实现。关于算法一点都没有提及。本系列主要讲述该转载 2013-07-12 08:39:28 · 986 阅读 · 0 评论 -
Collections Framework中的算法(之三)--不可变装饰器相关
本篇主要讲述Collections类中的unmodifiable相关的方法!这些方法都有一个共同含义就是使用此方法创建的对象都是不可变的!典型的装饰器模式的应用!下面的几篇都是装饰器模式在Java Collections Framework中的典型应用!同时还简要叙说了如何理解内部类! 12.1装饰器模式基础 装饰器模式是GOF那本书中提到的23个经典设计模转载 2013-07-12 08:41:46 · 861 阅读 · 0 评论 -
十道海量数据处理面试题与十个方法大总结
来源: blog.youkuaiyun.com 发布时间: 2011-03-30 13:23 阅读: 15904 次 推荐: 12 原文链接 [收藏] 摘要:本文将向您讲述诸多数据处理面试题以及方法的总结。 第一部分、十道海量数据处理面试题 1、海量日志数据,提取出某日访问百度次数最多的那个IP。 此题,在我之前的一篇文章算法里头有所提到,当时给出的方案是转载 2013-08-04 20:16:08 · 585 阅读 · 0 评论 -
优秀博客推荐:各种数据结构与算法知识入门经典
基本算法贪心算法:贪心算法 作者:独酌逸醉贪心算法:贪心算法精讲 作者:3522021224递归和分治:递归与分治策略 作者:zhoudaxia图论图的遍历(DFS和BFS):图的遍历 作者:jefferent最小生成树(Prim算法和Kruskal算法):贪心算法--最小生成树 作者:独酌逸醉Dijkstra算法:最短路径之Dijkstra转载 2013-10-08 18:17:54 · 3025 阅读 · 0 评论 -
Java实现对二叉树前序/中序/后序的递归与非递归算法
二叉树的前序、中序、后序遍历的定义:前序遍历:对任一子树,先访问跟,然后遍历其左子树,最后遍历其右子树;中序遍历:对任一子树,先遍历其左子树,然后访问根,最后遍历其右子树;后序遍历:对任一子树,先遍历其左子树,然后遍历其右子树,最后访问根。首先创建节点类,并在里面添加了一个创建树的方法,调用后就可以返回一个包含7个节点的二叉树。点击(此处)折叠或打开转载 2013-05-15 21:28:15 · 743 阅读 · 0 评论 -
笔试中遇到的一些算法问题
笔试中遇到的一些算法问题原创 2011-01-27 15:34:00 · 752 阅读 · 0 评论 -
昊学昊思系列(一)——猫吃老鼠篇
第一章 一条直线有一天,Tom抓了100只老鼠,很不幸,Jerry也在其中。Tom决定把老鼠排成一条直线,从1到100号编了号,从1号开始,吃一个隔一个,从排头吃到排尾,下一轮继续从排头开始,直到只剩下最后一个的时候就放掉。那么Jerry该站到哪个位置,才能保证不被Tom吃掉呢?我们不妨把Tom编的号列出来:1 2 3 4 5转载 2012-02-03 21:03:10 · 4594 阅读 · 1 评论 -
java程序员必知的 8大排序
下载了文档自己截图存留8种排序之间的关系:1, 直接插入排序 (1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。 (2)实例(3)用java实现[java] view plaincopy转载 2012-08-22 16:31:30 · 480 阅读 · 0 评论 -
PriorityQueue是个基于优先级堆的极大优先级队列
PriorityQueuePriorityQueue是个基于优先级堆的极大优先级队列。此队列按照在构造时所指定的顺序对元素排序,既可以根据元素的自然顺序来指定排序(参阅 Comparable),也可以根据 Comparator 来指定,这取决于使用哪种构造方法。优先级队列不允许 null 元素。依靠自然排序的优先级队列还不允许插入不可比较的对象(这样做可能导致 ClassCastE转载 2012-11-03 21:19:48 · 748 阅读 · 0 评论 -
133 行代码实现质感地形
本文由 伯乐在线 - abell123 翻译自 Hunter Lofti。欢迎加入技术翻译小组。转载请参见文章末尾处的要求。程序员们都喜欢创造一些东西,但是,还有什么会比创建一个世界更让人感到惊喜?想想Minecraft, Terragen, Skyrim,以及以前的每一个都会使用一些生成分形地形的飞行模拟器。今天,我们要来探索如何使用漂亮而又简单的QPSO算法 (diamond-转载 2014-05-23 12:20:42 · 963 阅读 · 0 评论