算法学习-1 预备篇

  最近开始我的算法学习,打算以《算法》(第4版)为基础来学习。“工欲善其事必先利其器”,作者自己开发了类库应用在书中的程序中,所以必须先在书的配套网站上下载相应的jar包,然后导入到eclipse中去。

  

  首先,要打开书籍的官网http://algs4.cs.princeton.edu/home/,在左侧WEB RESOURCES栏下,单击code,在弹出的页面,会发现一大段中高亮的algs4.jar,单击,然后就开始下载。书中的I/O类都包含在了这个jar包中了。

  下面把algs4.jar导入到eclipse中去。

  打开eclipse,项目名称-->Properties-->Java Build Path-->Libraries-->Add External JARs,找到你放algs4.jar的文件夹,选中打开。然后你会发现在项目下的Referenced Libraries目录下出现了algs4.jar。

  在编写的java文件开头加上import edu.princeton.cs.algs4.*; 这样就可以使用该包中的所有类了。

时间: 2024-12-14 06:48:26

算法学习-1 预备篇的相关文章

算法学习-第0篇 从Fibonacci开始

学习资源<Algorithms>,作者S.Dasgupta,C.H.Papadimitriou,and U.V.Vazirani. 电子版可到资源库中下载http://download.csdn.net/detail/segen_jaa/7900765. 1.问题描述 Fibonacci数列想必大家都比较熟悉,后一位数字是前两位的和. 0,1,1,2,3,5,8,13,21,34 对应公式如下. 求第n位的Fibonacci数为多少? 2.迭代算法 实现语言:C语言. win32程序下,计算F

【机器学习算法应用和学习_2_理论篇】2.2 M_分类_逻辑回归

一.原理阐述 算法类型:监督学习_分类算法 输入:数值型或标称型(标称型需要独热编码) V1.0 用回归方式解决二分类问题,通过引入一个Sigmoid函数将中间y值映射到实际二分类的y值上. 二.算法选择 三.算法过程 1.Sigmoid函数是一个x值域是(-∞,+∞),y值域是(0,1)的单调递增函数: 2.预测y值>0.5为1类,<0.5为0类,y值也可以解释为为1和0类的概率: 3.同样使用“最小二乘”概念,求得最佳方程,得到目标函数: 4.要使得目标函数达到最小,需要采用一种称为“梯度

添物零基础到大型全栈架构师 不花钱学计算机及编程(预备篇)- 概述

不花钱学计算机及编程 (预备篇) --概述:如何学习计算机及编程 个人是98年进入大学,开始学习计算机的,当时对计算机等于零了解,只有初中的时候在镇上一个同学家见过,当时放卡拉OK听,别的也不知道什么了,高中的时候学校有校友会捐赠不少计算机,可是没让我们摸过.到大学连回车是什么都不知道,当时学校还是DOS操作系统,Windows也有好像是Windows3.1,不过很简陋. 学了几年大学,基本对计算机有个感性认识,理性认识不是太多,虽然学了计算机基础,计算机组成原理,计算机体系结构,C语言,操作系

我的算法学习之路

关于 严格来说,本文题目应该是我的数据结构和算法学习之路,但这个写法实在太绕口--况且CS中的算法往往暗指数据结构和算法(例如算法导论指的实际上是数据结构和算法导论),所以我认为本文题目是合理的. 这篇文章讲了什么? 我这些年学习数据结构和算法的总结. 一些不错的算法书籍和教程. 算法的重要性. 初学 第一次接触数据结构是在大二下学期的数据结构课程.然而这门课程并没有让我入门--当时自己正忙于倒卖各种MP3和耳机,对于这些课程根本就不屑一顾--反正最后考试划个重点也能过,于是这门整个计算机专业本

算法学习三阶段

?? 第一阶段:练经典经常使用算法,以下的每一个算法给我打上十到二十遍,同一时候自己精简代码, 由于太经常使用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都能够把程序打 出来. 1.最短路(Floyd.Dijstra,BellmanFord) 2.最小生成树(先写个prim,kruscal 要用并查集,不好写) 3.大数(高精度)加减乘除 4.二分查找. (代码可在五行以内) 5.叉乘.判线段相交.然后写个凸包. 6.BFS.DFS,同一时候熟练hash 表(要熟,要灵活,代码要

周总结(2017.2.16):第一周算法学习。

周总结:算法学习总结之DFS和BFS 一:DFS算法 目的:达到被搜索结构的叶节点. 定义:假定给定图G的初态是所有的定点都没有访问过,在G中任选一定点V为初始出发点,首先访问出发点并标记,然后依次从V出发搜索V的每个相邻点W,若W未曾出现过,则对W进行深度优先遍历(DFS),知道所有和V有路径相通的定点被访问. 如果从V0开始寻找一条长度为4的路径的话: 思路步骤: 先寻找V0的所有相邻点:dis{v1,v2,v3},V1没有访问过,所以对V1进行深度遍历并将V1标记为访问过,此时路径长度为1

算法学习 - 01背包问题(动态规划C++)

动态规划 01背包 问题描述 求解思路 代码实现 放入哪些物品 代码 动态规划 我在上一篇博客里已经讲了一点动态规划了,传送门:算法学习 - 动态规划(DP问题)(C++) 这里说一下,遇到动态规划应该如何去想,才能找到解决办法. 最主要的其实是要找状态转移的方程,例如上一篇博客里面,找的就是当前两条生产线的第i个station的最短时间和上一时刻的时间关系. minTime(station[1][i]) = minTime(station[1][i-1] + time[i], station[

经典算法学习——非循环双向链表实现冒泡排序(不带头结点)

我在前面两篇博客<经典算法学习--单链表(不带头结点)实现冒泡排序><经典算法学习--单链表实现冒泡排序(带头结点)>中详细描述了分别使用带头结点和不带头结点的单链表实现了冒泡排序,让我们对单链表和冒泡排序有了理性的认识.今天我们将会来使用不带头结点的非循环双向链表来实现冒泡排序,在处理过程中,这种冒泡比前面两种更为简单高效.代码上传至 https://github.com/chenyufeng1991/DoubleLinkedList_BubbleSort . 核心代码如下: /

Peng Gong:我的算法学习之路

原文出处: Lucida (@peng_gong) 关于 严格来说,本文题目应该是我的数据结构和算法学习之路,但这个写法实在太绕口--况且CS中的算法往往暗指数据结构和算法(例如算法导论指的实际上是数据结构和算法导论),所以我认为本文题目是合理的. 这篇文章讲了什么? 我这些年学习数据结构和算法的总结. 一些不错的算法书籍和教程. 算法的重要性. 初学 第一次接触数据结构是在大二下学期的数据结构课程.然而这门课程并没有让我入门--当时自己正忙于倒卖各种MP3和耳机,对于这些课程根本就不屑一顾--