自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (5)
  • 收藏
  • 关注

原创 十一、二叉查找(排序)树(符号表的实现)

二叉查找树基本实现部分讲解分析跟有序性有关的API解释性能分析二叉查找树能够将链表插入的灵活性和有序数组查找的高效性结合起来的符号表实现(链表)。具体来说,就是使用每个结点含有两个链接的二叉查找树来高效地实现符号表。定义一些术语:数据结构由结点组成,结点包含的链接可以指向空或者其他结点。在二叉树中,每个结点只能有一个父节点(根结点例外),每个结点只有左右两个链接,分别指向左子节点和右子节点。

2016-03-18 23:37:10 1155

原创 十、查找算法(Map的实现以及对比)

查找符号表部分API有序符号表的实现应用基于无序链表中的顺序查找实现基于有序数组中的二分查找实现核心问题以及各种Map实现方法优缺点查找这里使用符号表这个词来描述一张抽象的表格,我们会将信息存储在其中(值),然后按照指定的键来搜索并获取这些信息。符号表有时也被称为字典或者索引(说白了就是Map)符号表部分API实现的注意事项: 每个键只对应着一个值; 当插入键值重复时,覆盖旧值;

2016-03-16 23:45:59 3734

原创 九、排序算法的应用(找中位数、重复统计、Kendall tau距离等)

应用将各种数据排序该使用哪种排序算法问题的归约找出数组中重复元素排名优先队列中位数与顺序统计应用将各种数据排序注意:想在忽略大小写的情况下比较字符串进行排序,可以使用Java类型中定义的CASE_INSENSITIVE比较器,例如:Insertion.sort(a, String.CASE_INSENSITIVE_ORDER)排序的稳定性:如果一个排序算法能够保留数组中重复元素的相

2016-03-16 04:05:48 2050

原创 Transaction类

源代码:public class Transaction implements Comparable<Transaction> { private final String who; // customer private final Date when; // date private final double amount; // amou

2016-03-09 23:25:29 1784

原创 八、优先队列、堆排序

优先队列API初级实现堆得定义堆的算法索引优先队列索引优先队列的使用案例堆排序优先队列一种常见的数据结构,需要支持两种操作:删除最大(最小)元素和插入元素。这种数据类型叫做优先队列。APIMaxPQ()//创建一个优先队列MaxPQ(int max)//创建一个最大容量为max的优先队列MaxPQ(key[] a)//用a[]中的元素创建一个优先队列void Insert()//

2016-03-09 23:23:47 1605

转载 八大排序算法图示

详见:这里

2016-03-09 18:27:20 598

原创 七、快速排序

快速排序快速排序引人注目的特点包括它是原地排序(只需要一个很小的辅助栈),且将长度为N的数组排序所需的时间和NlogN成正比。之前的算法都无法结合这两个优点。 另外快速排序的内循环比大多数排序算法都要短小,这意味着它无论是在理论上还是在实际中都要更快。缺点是有可能会导致平方级别基本算法快速排序是一种分治的排序算法。它将一个数组分成两个数组,将两部分独立地排序。快速排序和归并排序是互补的;归并排序将

2016-03-09 12:53:41 608

原创 六、归并排序

归并排序要将一个数组排序,可以先(递归的)将它分成层两半分别排序,然后将结果归并起来。 它能保证任意长度为N的数组排序所需时间和NlogN成正比;它的缺点则是它所需的额外空间和N成正比。 原地归并的抽象方法实现归并的一种直截了当的办法是将两个不同的有序数组归并到第三个数组中,两个数组中的元素应该都实现了Comparable借口。实现的方法很简单,创建一个适当大小的数组然后将两个输入数组的元素从一

2016-03-09 00:11:10 756

原创 五、排序算法(选择排序、插入排序、希尔排序)

排序初级排序算法通用API: less():比较 exch():交换 show():输出 sort:排序 为了验证是不是成功,加上 assert isSorted(a) 成本模型: 在研究排序算法时,我们需要计算比较和交换的数量,对于不交换元素的算法,会计算访问数组的次数选择排序找到最小的元素,和第一个交换,再在剩下的元素中找到最小的元素,与第二个交换,一次进行下去。 代码(含有多个重载方

2016-03-06 15:03:18 619

原创 四、union-find算法

union-find算法动态连通性问题: 设计一个数据结构来保存程序已知的所有整数对的足够多的信息,并用它们来判断一个新对象是否相连。这个问题也称为动态连通性问题可能的应用:网络(计算机之间的连接)变量名的等价性数学集合这里使用网络方面的术语,将对象称为融点,将整数对称为连接,将等价类称为连通分量 或者简称分量。假设用0到N-1的整数表示N个融点代码定义的API : 最终代码:pub

2016-03-04 14:18:35 2154 1

原创 自带类库StdRandom

uniform public static int uniform(int n) { if (n <= 0) throw new IllegalArgumentException("Parameter N must be positive"); return random.nextInt(n); } public static int unifo

2016-03-01 21:17:23 3516

原创 三、算法分析(three-sum算法)

算法分析计时类设计public class Stopwatch { private final long start; public Stopwatch() { start = System.currentTimeMillis(); } public double elapsedTime() { long now = System.c

2016-03-01 20:42:19 7885

原创 二、LinkedQueue、LinkedStack

LinkedQueue相对于之前的Queue带有check()package queue;import java.util.Iterator;import java.util.NoSuchElementException;import edu.princeton.cs.introcs.StdIn;import edu.princeton.cs.introcs.StdOut;public c

2016-03-01 19:37:31 625

编译原理【龙书】

该书是编译原理龙虎鲸三本书中的龙书,由贝尔实验室 斯坦福大学 等著作 改本为译本,是学习编译原理比较好的译本参考书

2012-07-04

华为公司模拟电路讲义

该讲义为华为公司内部的教学讲义,讲解模拟电子,分上下两册,讲解详细,具有一定的实际应用意义。

2012-07-04

东北大学数字电路课件

东北大学数字电路课件,自动化专业所学,教材为:逻辑与数字系统设计,第一章到第八章,最后两章部分省略没讲。

2012-06-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除