算法 第四版 2.3.20

package Cap2_3; import java.util.Stack; import Cap2_1.SortTemplate; import edu.princeton.cs.introcs.StdOut; import edu.princeton.cs.introcs.StdRand...

2017-09-12 19:47:57

阅读数 253

评论数 0

算法 第四版 2.3.18

package Cap2_3; import edu.princeton.cs.introcs.StdDraw; import edu.princeton.cs.introcs.StdOut; import edu.princeton.cs.introcs.StdRandom; import C...

2017-09-12 19:12:03

阅读数 334

评论数 0

算法 第四版 2.3.17

题目提示直接告诉我们了 有两种情况: 1.排序的数列包含a.length-1, 因为右边存在最大了,所以无需判断边界 2.排序的子数列的右边一位是上一次排序的v,肯定比他小,所以也无需判断边界 package Cap2_3; import Cap2_1.SortTemplate;...

2017-09-12 18:58:45

阅读数 280

评论数 0

算法 2.3.15 螺丝和螺帽

借鉴快速排序的思想 (就是你找的时候,顺便以此大小分为大小两堆嘛) 先拿一个螺帽,再将所有的螺丝全试一遍 将小的堆在左手边 将大的堆在右手边 这样可以完成一个螺丝 根据匹配的螺丝,再将所有的螺帽全试一遍 将小的堆在左手边 将大的堆在右手边 ...

2017-09-12 17:05:17

阅读数 868

评论数 0

算法 第四版 2.3.9

当只有一个元素时: i和j扫描所有的元素(从lo到hi),比较了2*(hi-lo),交换了 j和v 然后递归到下一层 当只有2,3个元素时: i和j和普通快速搜索无差异,只不过跳过了很多重复的元素,浪费了很多时间,并且递归下去时也会出现全是重复相同的元素,很浪费时间

2017-09-12 16:47:34

阅读数 225

评论数 0

算法 第四版 2.3.8

大概是1.2*N*lnN package Cap2_3; import Cap2_1.SortTemplate; import edu.princeton.cs.introcs.StdOut; import edu.princeton.cs.introcs.StdRandom; pu...

2017-09-12 16:39:21

阅读数 191

评论数 0

算法 第四版 2.3.7

把 通过统计可以得出,他们的大小是与N存在一定比例的关系 package Cap2_3; import Cap2_1.SortTemplate; import edu.princeton.cs.introcs.StdOut; import edu.princeton.cs.intro...

2017-09-12 16:24:14

阅读数 215

评论数 0

算法 第四版 2.3.6

package Cap2_3; import edu.princeton.cs.introcs.StdDraw; import edu.princeton.cs.introcs.StdOut; import edu.princeton.cs.introcs.StdRandom; import C...

2017-09-12 16:03:36

阅读数 208

评论数 0

算法 第四版 2.3.5

package Cap2_3; import edu.princeton.cs.introcs.StdRandom; import Cap2_1.sortTemplate; public class Quick3way extends sortTemplate{ public static...

2017-09-12 15:29:21

阅读数 623

评论数 0

算法 第四章 2.2.9 | 2.2.11

package Cap2_2; import edu.princeton.cs.introcs.StdOut; import edu.princeton.cs.introcs.StdRandom; import Cap2_1.Insertion; import Cap2_1.sortTempla...

2017-09-11 18:04:20

阅读数 134

评论数 0

算法 第四版 2.2.8

由图可知,排序有序数组为线性的 package Cap2_2; import edu.princeton.cs.introcs.StdDraw; import edu.princeton.cs.introcs.StdOut; import edu.princeton.cs.introcs.St...

2017-09-11 12:55:49

阅读数 179

评论数 0

算法 第四版 2.2.6

package Cap2_2; import edu.princeton.cs.introcs.StdDraw; import edu.princeton.cs.introcs.StdOut; import edu.princeton.cs.introcs.StdRandom; import C...

2017-09-11 12:48:37

阅读数 160

评论数 0

算法 第四章 2.1.32

package Cap2_1; import Cap1.Stopwatch; import edu.princeton.cs.introcs.StdDraw; import edu.princeton.cs.introcs.StdRandom; public class Insertion e...

2017-09-10 13:43:59

阅读数 119

评论数 0

算法 第四版 2.1.25 不需要交换的插入排序

public static void sort(Comparable[] a){ int N = a.length; for(int i=1;i<N;i++){ Comparable temp = a[i]; int j; for(j=i-1;j>=0 &am...

2017-09-09 21:27:09

阅读数 1177

评论数 0

算法 第四版 2.1.18 可视轨迹

package Cap2_1; import edu.princeton.cs.introcs.StdDraw; import edu.princeton.cs.introcs.StdRandom; public class Insertion extends sortTemplate{ p...

2017-09-09 21:11:48

阅读数 307

评论数 0

算法 第四版 动画 2.1.17

package Cap2_1; import edu.princeton.cs.introcs.StdArrayIO; import edu.princeton.cs.introcs.StdDraw; import edu.princeton.cs.introcs.StdRandom; impo...

2017-09-09 21:04:42

阅读数 169

评论数 0

算法 第四版 2.1.14 出列排序

说说你会如何将一副扑克牌排序,限制条件是只能查看最上面的两张牌,交换最上面的两张牌,或是将最上面的一张牌放到这摞牌的最下面。 思路:模仿冒泡排序 冒泡排序是移动i(即数组指针),而我们可以通过移动数组来近似实现 我们可以固定交换前两个,移动数组 package Cap2_1...

2017-09-09 19:03:19

阅读数 393

评论数 0

算法 第四版 2.1.12

package Cap2_1; import edu.princeton.cs.introcs.StdOut; import edu.princeton.cs.introcs.StdRandom; public class Shell { private static int cnt; ...

2017-09-09 16:44:47

阅读数 284

评论数 0

算法 第四版 1.4.22 仅用加减实现的二分查找

利用裴波那契数列来分区间 public static boolean MihaiPatrascuSearch(int[] a, int key){ Arrays.sort(a); int F1=1, F2=1; while(F2<=a.length){ int temp=...

2017-09-07 16:38:08

阅读数 359

评论数 1

算法 第四版 1.4.20 双调查找

题目要求 lgN级别的复杂度 一开始根本想不到,只能想到最简单的遍历 N复杂度 后来收到1.4.18启发, 只要数组局部最大元素只有一个,就说明这是双调数组 复杂度lgN public static int Pro1_4_20(int[] a, int lo, int hi){ //[...

2017-09-07 15:25:10

阅读数 232

评论数 0

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