算法导论
文章平均质量分 67
Bird
这个作者很懒,什么都没留下…
展开
-
算法导论之插入算法JAVA实现
算法导论插入算法源伪代码如下JAVA实现代码如下package com.bird.math;/** * @deprecated 算法导论中的插入算法实现 * @author bird * */public class Insert_sort原创 2011-10-05 15:53:12 · 1224 阅读 · 0 评论 -
(数据结构与算法分析 七)------优先队列中的二叉堆的实现( Java语言描述)
优先队列是至少允许插入和删除最小者这两个操作的数据结构。其中,对于优先队列的实现,二叉堆是很常见的。 堆是一棵被完全填满的二叉树,可能例外是底层,底层上的元素从左到右依次填入。而且如果使用数组表示二叉堆,那么对于数组上的任意位置i上的元素,其左儿子的位置是2i,右儿子在左儿子后的单元(2i +1)中,他的父亲则在位置[i/2]上。 堆的性质,在堆中,对于每一个节点X,X的父原创 2012-01-19 11:40:46 · 3280 阅读 · 0 评论 -
(数据结构与算法分析 六)------散列表的实现( Java语言描述)
散列函数,主要目的是需找一个好的散列方法把这个数组的每一个位置都能均匀的用到,下面先上一个比较好的散列函数实现package com.bird.five;/**// *@castor.散列函数 * @author Bird * */public class Hash { /** * 一个较好的散列函数为String * @param key任意一个String *原创 2012-01-16 13:11:07 · 1885 阅读 · 0 评论 -
(数据结构与算法分析 五)------二叉查找树的实现( Java语言描述)
二叉查找树是对树的一个经典的应用,下面使用Java实现对二叉查找树的各种实现,其中私有方法使用递归实现,然后公有方法调用私有方法,下面上代码首先是作为二叉树的节点的类package com.bird.four;/** * @category 二叉查找树的节点 * @author Bird * */public class BinaryNode { Comparable el原创 2012-01-14 15:43:13 · 1656 阅读 · 0 评论 -
(数据结构与算法分析 四)------数组循环队列的实现( Java语言描述)
对于队列,他的重要性不亚于栈,而且往往队列和栈是配合着使用的,因为栈是后进先出,而队列是先进先出,这就导致了很多问题可能通过这两个数据结构进行魂环的调用来解决,当然,对于数组实现的队列,他的入队和出队都是非常迅速的,而且通常使用的队列都不是太大的,并且有了循环队列的想法,更是是的数组实现的队列有了更好的应用,下面废话不多说,上代码package com.bird.three;/** *原创 2012-01-13 14:56:59 · 2427 阅读 · 0 评论 -
(数据结构与算法分析 三)------栈的实现(包括链栈和数组实现栈 Java语言描述)
对于栈,这个数据结构据说现在现代计算机已经作为一个基本的数据结构,而且已经作为指令系统的一部分了,可见栈的重要性,以前我对链栈情有独钟,总觉得他永远不会出现栈满,而且实现起来比链栈复杂,很有成就感,但是今天看完算法分析这本书的栈的这一章才了解到,其实作为平常的使用,数组实现的栈才是最常用的,因为他的查询和入栈与出栈都是一个时间单位就能完成的,而且速度惊人完全可以忽略不计,他的唯一缺点就是需要指定最原创 2012-01-12 14:14:21 · 2083 阅读 · 0 评论 -
(数据结构与算法分析 二)------单链表的实现,使用链表迭代器
Java实现链表能够很好的封装对指针的实现,让用户使用的时候不会感受到指针的繁琐,但是可能会带来效率的降低。 这个链表是一个单链表的实现,使用了链表迭代器,刚开始看的时候感觉有些很不舒服,但是使用起来明显能感受功能带来的效果,因为你可以脱离链表而独自操作,可以同时对链表进行前后的遍历。提高时间效率,但是同样也得操作带来了麻烦。我觉的还是直接使用链表比较好,但是作为一种思想,还是值得原创 2012-01-11 10:48:07 · 2123 阅读 · 0 评论 -
(数据结构与算法分析 一)------快速求幂算法,Java递归实现
快速求幂算法,递归实现,其实算法的思想很简单,但是感觉非常经典,这个也是我开始看数据结构与算法分析这本书的开始把,大学期间感觉就得深究一下算法,课堂学习的太肤浅,只能自己干了,当然,也算是打基础吧,以后可能会更加深入呢package com.bird.two;/** * @category 快速求幂算法,递归实现 * @author Bird * */public class P原创 2012-01-10 16:16:15 · 3578 阅读 · 2 评论 -
使用控制台读取一行字节转换成整形,并有分隔符
Java的输入法很多,这里罗列一个在文件中一行一行的读取,并且每行之间都有空格做分隔符,然后分别转换成整形和字符型,比较常用的读取输入package com.bird.one;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.原创 2012-01-10 16:01:01 · 1705 阅读 · 0 评论 -
经典的比较大小算法,主要在乎那个?三目运算符用法
package com.bird.one;/** * @category 经典的比较大小算法 * @author Bird * */public class Compare{private int value;public Compare(int x){value = x;}public int intValue(){return原创 2012-01-10 15:56:03 · 4061 阅读 · 0 评论 -
Java基本的文件读取,和复制,初学者
好久之前就学习Java 的IO包,但实际上对输入输出流一点都不了解,现在几乎是看见一个文件读取就得记一记,唉,得经常使用才好,要不估计就什么好处都没有,悲催啊,好了,废话不多说,上代码,主要是基本文件的读取和复制package com.bird.one;import java.io.BufferedReader;import java.io.FileNotFoundException;原创 2012-01-10 16:08:07 · 1395 阅读 · 0 评论 -
(数据结构与算法分析 八)------插入排序,希尔排序,归并排序的实现( Java语言描述)
首先是插入排序,原理没什么好说的package com.bird.seven;/** * 插入排序的实现 * @author Bird * */public class InsertSort { public static void insertSort(int[] a){ int j; for(int i = 1; i < a.length; i++){ in原创 2012-01-21 11:49:56 · 1594 阅读 · 0 评论