算法(第四版)C#题解——2.1   写在前面 整个项目都托管在了 Github 上:https://github.com/ikesnowy/Algorithms-4th-Edition-in-Csharp 这一节内容可能会用到的库文件有 Sort 和 SortData,同样在 Github 上可以找到. 善用 Ctrl + F 查找题目. 习题&题解 2.1.1 题目 按照算法 2.1 所示轨迹的格式给出选择排序是如何将数组 E A S Y Q U E S T I O N 排序的. 解答 2.…
首先下载Eclipse,我选择的是Eclipse IDE for Java Developers64位版本,下载下来之后解压缩到喜欢的位置然后双击Eclipse.exe启动 然后开始新建项目,File -> New Java Project,项目名随便写,如下图 右键src文件夹,Add -> New Java Class,这里需要注意Name一栏里填写的内容就是类名,这里我写了TestAlgs4,为了测试「算法 第四版」作者给的那个测试样例 代码如下: import edu.princeto…
算法第四版jar包下载地址:https://algs4.cs.princeton.edu/code/…
下载地址:https://download.csdn.net/download/moshenglv/10777447 算法第四版,文字版,可复制,方便copy代码 目录: 第1章 基 础 ....................... . ..........................11.1 基础编程模型 ..................................... 41.1.1 Java程序的基本结构 ................. 41.1.2原始数据类型与表达式…
算法第四版35页问题1.1.27,估计用一下代码计算binomial(100,50,0.25)将会产生的递归调用次数: public static double binomial(int n,int k,double p){ if(n == 0 && k == 0) return 1.0; if(n<0 || k<0) return 0.0; return (1.0-p)*binomial(n-1,k,p) +p*binomial(n-1,k-1,p) } 虽然书上只让估计调用…
软件:DrJava 参考书:算法(第四版) 章节:2.4优先队列(以下截图是算法配套视频所讲内容截图) 1:API 与初级实现 2:堆得定义 3:堆排序 4:事件驱动的仿真 优先队列最重要的操作就是删除最大元素和插入元素,我们会把精力集中在他们身上.删除最大元素的方法名为delMax(),插入元素的方法名为insert().…
软件:DrJava 参考书:算法(第四版) 章节:2.3快速排序(以下截图是算法配套视频所讲内容截图) 1:快速排序 2:…
//复习过程中,纯手打,持续更新,觉得好就点个赞吧. 第一章:程序设计和C语言 习题 1.什么是程序?什么是程序设计? 答:程序就是一组计算机能识别和执行的指令.程序设计是指从确定任务到得到结果,写出文档的全过程.(一般经历6个阶段:①问题分析;②设计算法;③编写程序;④对源程序进行编辑,编译和连接;⑤运行程序,分析结果;⑥编写程序文档;) 2.为什么需要计算机语言?高级语言的特点? 答:如同和人类交流一样,和哪个国家的人交流就需要哪个国家的语言来作为桥梁,想要和计算机进行交流沟通也就需要计算机…
这是我在网上找到的资源,下载之后上传到我的百度网盘了. 包含两部分:1:算法视频的种子 2:字幕 下载之后,请用迅雷播放器打开,因为迅雷可以直接在线搜索字幕. 如果以下链接失效,请在下边留言,我再更新链接. 链接: http://pan.baidu.com/s/1pLxsx2F 密码: 43yr…
相似度分析的,其中的分词可以采用HanLP即可: http://www.open-open.com/lib/view/open1421978002609.htm /*********************************************************** * @Title : SimilarityAnalyse.java * @Package : lsg.hawei.hanlp * @Description: TODO(用一句话描述该文件做什么) * @author…
一 安装环境 直接下载algs4.exe 下载完成后C:\Users\zle 下面会有algs4 文件夹 原文: Our installer downloads, installs, and configures the Java programming environment you will be using, including Java SE 7, DrJava, the textbook libraries, and the Command Prompt. Log in to the…
1. 安装JAVA JAVA网址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 配置环境变量(我把JAVA安装在路径:F:\Java\jdk1.8): PATH=.;%JAVA_HOME%\binCLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\toos.jar;JAVA_HOME=F:\Java\jdk1.8 检查JAVA是否安装成功(出现如下的信息则表示…
这篇文档将向你介绍如何在Windows系统上安装本书将用到的Java开发环境,同时我们也提供了一个手把手的.使用我们提供的DrJava工具或者用命令行来创建.编译和运行你的第一个Java程序的手册,这个过程中用到的所有软件都可以自由下载 本操作指南适用于32位和64位的Windows 8.Windows 7.Vista SP1和XP SP3 ------ 0. 安装开发环境 ------ 我们提供的安装器将会自动下载.安装和配置你将用到的所有开发环境,包括Java SE 7.DrJava.教材库…
在IDEA中使用Ctrl+D就可以退出console输入…
1.ECLIPES标准输入流 ①Run As-->Run Configurations-->Commom-->Input File在Input File里面输入要读取的文本文件 这对应着标准入流 ②如果还有arg[0]的就在Arguments里面输入参数就可以了.点Run后控制窗口没东西,需要结束输入流. ③输入流最后结束按Ctrl+z显示你的运行结果 2.关于comparable[]作为形参的问题 Date类是Comparable类的子类吗?Comparable类变量可以引用Date类…
欧几里得算法 package euclidean_algorithm; import java.util.Scanner; /** * @author ALazy_cat * 欧几里得算法的自然语言描述: * 计算两个非负整数x和y的最大公约数: 若y = 0,则最大公约数为x; 否则将remainder = x % y,x和y的 * 最大公约数即为y和remainder的最大公约数 */ public class EuclideanAlgorithm { public static void…
希尔排序思想:使数组中随意间隔为h的元素都是有序的. 希尔排序是插入排序的优化.先对数组局部进行排序,最后再使用插入排序将部分有序的数组排序. 代码例如以下: /** * * @author seabear * */ public class ShellSort { public static void sort(Comparable[] a) { int N = a.length; int h = 1; while(h < N/2) { h = 4 * h + 1; } while(h >=…
一: 搭建Java 环境   : 确认版本: 1.8及以上 [username:~/] javac -version javac 1.8.0_111 [username:~/] java -version java version "1.8.0_111" Java(TM) SE Runtime Environment (build 1.8.0_111-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode…
下压(LIFO)栈:可以动态调整数组大小的实现 import java.util.Iterator; public class ResizingArrayStack<Item> implements Iterable<Item> { private int N = 0; private Item[] a = (Item[]) new Object[1]; public boolean isEmpty() { return N == 0; } public int size() {…
import java.util.Arrays; import edu.princeton.cs.algs4.In; import edu.princeton.cs.algs4.StdIn; import edu.princeton.cs.algs4.StdOut; /** * The {@code BinarySearch} class provides a static method for binary * searching for an integer in a sorted arra…
目录 一.Introduction 1.抽象过程 2.面向对象语言(包括Java)的五个基本特性 3.每个对象都提供服务 4.public.private.protected三者的区别 5.Java的默认访问权限(包访问权限) 6.组合与继承 7.多态 8.容器(自己最浅显的理解) 9.参数化类型 10.并发编程 二.Everything Is an Object 1.用引用操纵对象 2.存储位置 3.基本类型(无需使用new即可创建) 4.new创建对象的作用域 5.static的作用 6.j…
写在前面 整个项目都托管在了 Github 上:https://github.com/ikesnowy/Algorithms-4th-Edition-in-Csharp 查找更方便的版本见:https://alg4.ikesnowy.com/ 这一节内容可能会用到的库文件有 SortApplication,同样在 Github 上可以找到. 善用 Ctrl + F 查找题目. 习题&题解 2.5.1 解答 如果比较的两个 String 引用的是同一个对象,那么就直接返回相等,不必再逐字符比较.…
写在前面 整个项目都托管在了 Github 上:https://github.com/ikesnowy/Algorithms-4th-Edition-in-Csharp 查找更方便的版本见:https://alg4.ikesnowy.com/ 这一节内容可能会用到的库文件有 PriorityQueue,同样在 Github 上可以找到. 善用 Ctrl + F 查找题目. 习题&题解 2.4.1 解答 R R P O T Y I I U Q E U 优先队列的变化如下: 输入命令 优先队列 输出…
写在前面 整个项目都托管在了 Github 上:https://github.com/ikesnowy/Algorithms-4th-Edition-in-Csharp 查找更为方便的版本见:https://alg4.ikesnowy.com/ 这一节内容可能会用到的库文件有 Quick,同样在 Github 上可以找到. 善用 Ctrl + F 查找题目. 习题&题解 2.3.1 解答 2.3.2 解答 2.3.3 解答 N / 2 在快速排序中,一个元素要被交换,有以下两种情况 1.该元素是…
写在前面 整个项目都托管在了 Github 上:https://github.com/ikesnowy/Algorithms-4th-Edition-in-Csharp 查找更为方便的版本见:https://alg4.ikesnowy.com 这一节内容可能会用到的库文件有 Merge,同样在 Github 上可以找到. 善用 Ctrl + F 查找题目. 习题&题解 2.2.1 解答 2.2.2 解答 2.2.3 解答 2.2.4 解答 是的,必须要两个子数组都有序时归并才能得到正确结果.如果…
写在前面 整个项目都托管在了 Github 上:https://github.com/ikesnowy/Algorithms-4th-Edition-in-Csharp 这一节内容可能会用到的库文件有 Sort 和 SortData,同样在 Github 上可以找到. 善用 Ctrl + F 查找题目. 习题&题解 2.1.1 解答 2.1.2 解答 最多会被交换 n 次,只要将一个有序数列循环右移一位就可以构造这样的情况. 例如: 平均每个元素被交换了 N/N=1 次.(总共 N 个元素,总共…
写在前面 整个项目都托管在了 Github 上:https://github.com/ikesnowy/Algorithms-4th-Edition-in-Csharp 这一节内容可能会用到的库文件有 Measurement 和 TestCase,同样在 Github 上可以找到. 善用 Ctrl + F 查找题目. 习题&题解 1.5.1 解答 quick-find 的官方实现:QuickFindUF.java. 只要实现相应并查集,然后输入内容即可. 增加一个记录访问数组次数的类成员变量,在…
写在前面 整个项目都托管在了 Github 上:https://github.com/ikesnowy/Algorithms-4th-Edition-in-Csharp 这一节内容可能会用到的库文件有 Measurement 和 TestCase,同样在 Github 上可以找到. 善用 Ctrl + F 查找题目. 习题&题解 1.4.1 解答 即为证明组合计算公式: C(N, 3) = N! / [(N - 3)! × 3!]= [(N - 2) * (N - 1) * N] / 3!= N…
写在前面 整个项目都托管在了 Github 上:https://github.com/ikesnowy/Algorithms-4th-Edition-in-Csharp 这一节内容可能会用到的库文件有 Generics,同样在 Github 上可以找到. 善用 Ctrl + F 查找题目. 习题&题解 1.3.1 解答 首先是 FixedCapacityStackOfStrings 类,官方 JAVA 版本参考:FixedCapacityStackOfStrings.java IsFull()…
写在前面 整个项目都托管在了 Github 上:https://github.com/ikesnowy/Algorithms-4th-Edition-in-Csharp 善用 Ctrl + F 查找题目. 本节你可能会需要的两个测试数据文件: largeW: http://algs4.cs.princeton.edu/11model/largeW.txt largeT: http://algs4.cs.princeton.edu/11model/largeT.txt 习题 & 题解 练习(1.1…