| Class | Description |
|---|---|
| AlbersSquares | |
| ArrayStackOfStrings | |
| Average |
Compilation: javac Average.java
Execution: java Average < data.txt
Dependencies: StdIn.java StdOut.java
Reads in a sequence of real numbers, and computes their average.
|
| Beckett |
Compilation: javac Beckett.java
Execution: java Beckett N
Prints instructions for a Beckett play with N actors.
|
| Bernoulli |
Compilation: javac Bernoulli.java
Execution: java Bernoulli N T
Dependencies: StdDraw.java
Each experiment consists of flipping N fair coins T times.
|
| Binary |
Compilation: javac Binary.java
Execution: java Binary n
Prints out n in binary.
|
| BinarySearch | |
| Body |
Compilation: javac Body.java
Execution: java Body
Dependencies: Vector.java StdDraw.java
Implementation of a 2D Body with a position, velocity and mass.
|
| BouncingBall |
Compilation: javac BouncingBall.java
Execution: java BouncingBall
Dependencies: StdDraw.java
Implementation of a 2-d bouncing ball in the box from (-1, -1) to (1, 1).
|
| Brownian |
Compilation: javac Brownian.java
Execution: java Brownian var
Dependencies: StdDraw.java
Plots Brownian motion trajectory using the midpoint displacement
method.
|
| BST<Key extends Comparable<Key>,Val> | |
| Cat |
Compilation: javac Cat.java
Execution: java Cat file1.txt file2.txt file3.txt output.txt
Dependencies: In.java
Reads in text files specified as the first command-line
parameters, concatenates them, and writes the result to
filename specified as the last command line parameter.
|
| Charge |
Compilation: javac Charge.java
Execution: java Charge x y
|
| ChargeClient |
Compilation: javac ChargeClient.java
Execution: java ChargeClient x y
|
| CompareAll |
Compilation: javac CompareAll.java
Execution: java CompareAll 5 10000 < docs.txt
|
| Complex |
Compilation: javac Complex.java
Execution: java Complex
ADT for complex numbers using polar representation.
|
| Counter |
Compilation: javac Counter.java
Execution: java Counter
Dependencies: StdRandom.java StdOut.java
% java Counter 6 600000
0: 99870
1: 99948
2: 99738
3: 100283
4: 100185
5: 99976
|
| Coupon |
Compilation: javac Coupon.java
Execution: java Coupon N
% java Coupon 1000
6522
% java Coupon 1000
6481
% java Coupon 1000000
12783771
|
| CouponCollector |
Compilation: javac CouponCollector.java
Execution: java CouponCollector N
Given N distinct card types, how many random cards do you need
do collect before you have (at least) one of each type?
This program simulates this random process.
|
| DeDup |
Compilation: javac DeDup.java
Execution: java DeDup < words.txt
Dependencies: SET.java StdIn.java
Read in a list of words from standard input and print out
each word, removing any duplicates.
|
| DivisorPattern |
Compilation: javac DivisorPattern.java
Execution: java DivisorPattern N
Prints a table where entry (i, j) is a '* ' if i divides j
or j divides i and '.
|
| Document |
Compilation: javac Document.java
Execution: java Document < docs.txt
% java Document genomeA.txt 2 16
|
| DoublingStackOfStrings | |
| DoublingTest |
Compilation: javac DoublingTest.java
Execution: java DoublingTest
% java DoublingTest
512 6.48
1024 8.30
2048 7.75
4096 8.00
8192 8.05
...
|
| Estimate |
Compilation: javac Estimate.java
Execution: java Estiamte N p trials
Dependencies: Percolation.java StdOut.java
Repeatedly generated N-by-N boolean matrices, where each site
is true with probability p, and compute the probability that
the system percolates.
|
| Euclid |
Compilation: javac Euclid.java
Execution: java Euclid p q
Reads two command-line arguments p and q and computes the greatest
common divisor of p and q using Euclid's algorithm.
|
| Evaluate |
Compilation: javac Evaluate.java
Execution: java Evaluate
Dependencies: Stack.java
Evaluates (fully parenthesized) arithmetic expressions using
Dijkstra's two-stack algorithm.
|
| Factors |
Compilation: javac Factors.java
Execution: java Factors N
Computes the prime factorization of N using brute force.
|
| Fade | |
| Flip |
Compilation: javac Flip.java
Execution: java Flip
Simulate a fair coin flip and print out "Heads" or "Tails" accordingly.
|
| FrequencyCount |
Compilation: javac FrequencyCount.java
Execution: java FrequencyCount < file.txt
Dependencies: StdIn.java Counter.java
Read in a sequence of words, separated by whitespace.
|
| Gambler |
Compilation: javac Gambler.java
Execution: java Gambler stake goal N
Simulates a gambler who start with $stake and place fair $1 bets
until she goes broke or reach $goal.
|
| Gaussian |
Compilation: javac Gaussian.java
Execution: java Gaussian x mu sigma
Function to compute the Gaussian pdf (probability density function)
and the Gaussian cdf (cumulative density function)
% java Gaussian 820 1019 209
0.17050966869132111
% java Gaussian 1500 1019 209
0.9893164837383883
% java Gaussian 1500 1025 231
0.9801220907365489
The approximation is accurate to absolute error less than 8 * 10^(-16).
|
| GeneFind |
Compilation: javac GeneFind.java
Execution: java GeneFind start stop < input.txt
To find a gene in a genome, we scan for the start codon,
remember its index, then scan from the next stop codon.
|
| Graph |
The Graph class represents an undirected graph of vertices
with string names.
|
| GraphGenerator |
Compilation: javac GraphGenerator.java
Dependencies: Graph.java
|
| Grayscale | |
| Harmonic |
Compilation: javac Harmonic.java
Execution: java Harmonic N
Prints the Nth harmonic number: 1/1 + 1/2 + ...
|
| HelloWorld |
Compilation: javac HelloWorld.java
Execution: java HelloWorld
Prints "Hello, World".
|
| Histogram |
Compilation: javac Histogram.java
This data type supports simple client code to create dynamic
histograms of the frequency of occurrence of values in [0, N).
|
| Htree |
Compilation: javac Htree.java
Execution: java Htree N
Dependencies: StdDraw.java
Plot an order N Htree.
|
| IFS |
Compilation: javac IFS.java
Execution: java IFS N < input.txt
Dependencies: StdDraw.java
Here are some sample data files:
http://www.cs.princeton.edu/introcs/22library/barnsley.txt
http://www.cs.princeton.edu/introcs/22library/binary.txt
http://www.cs.princeton.edu/introcs/22library/culcita.txt
http://www.cs.princeton.edu/introcs/22library/cyclosorus.txt
http://www.cs.princeton.edu/introcs/22library/dragon.txt
http://www.cs.princeton.edu/introcs/22library/fern-sedgewick.txt
http://www.cs.princeton.edu/introcs/22library/fishbone.txt
http://www.cs.princeton.edu/introcs/22library/floor.txt
http://www.cs.princeton.edu/introcs/22library/koch.txt
http://www.cs.princeton.edu/introcs/22library/sierpinski.txt
http://www.cs.princeton.edu/introcs/22library/spiral.txt
http://www.cs.princeton.edu/introcs/22library/swirl.txt
http://www.cs.princeton.edu/introcs/22library/tree.txt
http://www.cs.princeton.edu/introcs/22library/zigzag.txt
|
| Index |
Compilation: javac Index.java
Execution: java Index i j < input.txt
Dependencies: BST.java Queue.java StdIn.java StdOut.java
Data files: http://www.cs.princeton.edu/introcs/44st/TaleOfTwoCities.java
Create an index of all words in the given input file such that
the word has length >= i and occurs >= j times.
|
| IndexGraph |
Compilation: javac IndexGraph.java
Dependencies: Graph.java In.java
Execution: java IndexGraph movies.txt "/"
Builds a graph, then accepts vertex names from standard input
and prints its neighbors.
|
| Insertion |
Compilation: javac Insertion.java
Execution: java Insertion < input.txt
Reads in strings from standard input and prints them in sorted order.
|
| InsertionTest |
Compilation: javac InsertionTest.java
Execution: java InsertionTest 10
The method timeTrials() runs InsertionSort.sort() for arrays of random
double values.
|
| IntOps |
Compilation: javac IntOps.java
Execution: java IntOps a b
Illustrates the integer operations a * b, a / b, and a % b.
|
| LeapYear |
Compilation: javac LeapYear.java
Execution: java LeapYear N
Prints true if N corresponds to a leap year, and false otherwise.
|
| LinkedStackOfStrings |
Compilation: javac LinkedStackOfStrings.java
Execution: java LinkedStackOfStrings
A stack of strings, implemented using a linked list.
|
| Lookup |
Compilation: javac Lookup.java
Execution: java Lookup file.csv keyField valField
Dependencies: BST.java In.java StdIn.java
Data files: http://www.cs.princeton.edu/introcs/44st/amino.csv
http://www.cs.princeton.edu/introcs/44st/ip.csv
http://www.cs.princeton.edu/introcs/44st/DJIA.csv
Reads in a set of key-value pairs from a two-column CSV file
specified on the command line; then, reads in keys from standard
input and prints out corresponding values.
|
| LRS | |
| Luminance | |
| Mandelbrot | |
| Markov |
Compilation: javac Markov.java
Execution: java Markov T
Data files: http://introcs.cs.princeton.edu/16pagerank/tiny.txt
http://introcs.cs.princeton.edu/16pagerank/medium.txt
This program reads a transition matrix from standard input and
computes the probabilities that a random surfer lands on each page
(page ranks) after T matrix-vector multiplies.
|
| MD1Queue |
Compilation: javac MD1Queue.java
Execution: java MD1Queue lambda mu
Dependencies: Queue.java
Simulate an M/D/1 queue where arrivals obey a Poisson
process with arrival rate lambda, and service times
are deterministic with rate mu.
|
| Merge |
Compilation: javac Merge.java
Execution: java Merge N
A bare-bones N log N implementation of mergesort.
|
| Newton |
Compilation: javac Newton.java
Execution: java Newton x0 x1 x2 x3
Compute the square root using Newton's method.
|
| PathFinder |
Compilation: javac PathFinder.java
Execution: java Pathfinder input.txt delimiter source
Dependencies: Queue.java Stack.java Graph.java
Runs breadth first search algorithm from source s on a graph G.
|
| Percolation |
Compilation: javac Percolation.java
Execution: java Percolation < input.txt
Dependencies: StdArrayIO.java StdDraw.java StdOut.java
Data files: http://www.cs.princeton.edu/introcs/24percolation/testEZ.txt
http://www.cs.princeton.edu/introcs/24percolation/testD.txt
% more testD.txt
8 8
0 0 0 1 1 1 0 1
1 1 1 0 0 1 1 1
1 0 1 0 0 1 0 0
1 0 1 1 1 1 0 1
1 0 0 1 0 1 0 0
1 1 0 1 0 0 1 0
0 1 1 0 0 1 1 1
0 0 1 0 0 0 0 0
% java Percolation < testD.txt
8 8
0 0 0 1 1 1 0 1
1 1 1 0 0 1 1 1
1 0 1 0 0 1 0 0
1 0 1 1 1 1 0 0
1 0 0 1 0 1 0 0
1 1 0 1 0 0 0 0
0 1 1 0 0 0 0 0
0 0 1 0 0 0 0 0
true
|
| PercPlot |
Compilation: javac PercPlot.java
Execution: java PercPlot N
This recursive program draws a plot of the percolation probability
(experimental observation) against the site vacancy probability
(control variable).
|
| PlayThatTune |
Compilation: javac PlayThatTune.java
Execution: java PlayThatTune < input.txt
Dependencies: StdAudio.java StdAudio.java
This is a data-driven program that plays pure tones from
the notes on the chromatic scale, specified on standard input
by their distance from concert A.
|
| PlayThatTuneDeluxe |
Compilation: javac PlayThatTuneDeluxe.java
Execution: java PlayThatTuneDeluxe < data.txt
% java PlayThatTuneDeluxe 0.5 < elise.txt
Data files
----------
http://www.cs.princeton.edu/introcs/21function/elise.txt
http://www.cs.princeton.edu/introcs/21function/99luftballons.txt
http://www.cs.princeton.edu/introcs/21function/freebird.txt
http://www.cs.princeton.edu/introcs/21function/Ascale.txt
http://www.cs.princeton.edu/introcs/21function/National_Anthem.txt
http://www.cs.princeton.edu/introcs/21function/looney.txt
http://www.cs.princeton.edu/introcs/21function/StairwayToHeaven.txt
http://www.cs.princeton.edu/introcs/21function/entertainer.txt
http://www.cs.princeton.edu/introcs/21function/old-nassau.txt
http://www.cs.princeton.edu/introcs/21function/arabesque.txt
http://www.cs.princeton.edu/introcs/21function/firstcut.txt
http://www.cs.princeton.edu/introcs/21function/tomsdiner.txt
http://www.cs.princeton.edu/introcs/21function/portal.txt
|
| PlotFilter |
Compilation: javac PlotFilter.java
Execution: java PlotFilter < input.txt
Dependencies: StdDraw.java StdIn.java
% java PlotFilter < USA.txt
Datafiles: http://www.cs.princeton.edu/IntroProgramming/15inout/USA.txt
|
| Potential | |
| PowersOfTwo |
Compilation: javac PowersOfTwo.java
Execution: java PowersOfTwo N
This program takes a command-line argument N and prnts a table of
the powers of 2 that are less than or equal to 2^N.
|
| PrimeSieve |
Compilation: javac PrimeSieve.java
Execution: java -Xmx1100m PrimeSieve N
Computes the number of primes less than or equal to N using
the Sieve of Eratosthenes.
|
| Quadratic |
Compilation: javac Quadratic.java
Execution: java Quadatic b c
Given b and c, solves for the roots of x*x + b*x + c.
|
| Queue<Item> |
The Queue class represents a first-in-first-out (FIFO)
queue of generic items.
|
| RandomInt |
Compilation: javac RandomInt.java
Execution: java RandomInt N
Prints a pseudo-random integer between 0 and N-1.
|
| RandomSeq |
Compilation: javac RandomSeq.java
Execution: java RandomSeq N
Prints N numbers between 0 and 1.
|
| RandomSurfer |
Compilation: javac RandomSurfer.java
Execution: java RandomSurfer T
Data files: http://introcs.cs.princeton.edu/16pagerank/tiny.txt
http://introcs.cs.princeton.edu/16pagerank/medium.txt
% java Transition < tiny.txt | java RandomSurfer 1000000
0.27297 0.26583 0.14598 0.24729 0.06793
|
| RangeFilter |
Compilation: javac RangeFilter.java
Execution: java RangeFilter lo hi < input.txt
Dependencies: StdIn.java
Read in a sequence of integers from standard input and print
out those values between lo and hi.
|
| Ruler |
Compilation: javac Ruler.java
Execution: java Ruler
Prints the relative lengths of the subdivisions on a ruler.
|
| Sample |
Compilation: javac Sample.java
Execution: java Sample M N
This program takes two command-line arguments M and N and produces
a random sample of M of the integers from 0 to N-1.
|
| Scale | |
| SelfAvoidingWalk |
Compilation: javac SelfAvoidingWalk.java
Execution: java SelfAvoidingWalk N T
Generate T self-avoiding walks of length N.
|
| SET<Key extends Comparable<Key>> |
The SET class represents an ordered set of comparable keys.
|
| SmallWorld |
Compilation: javac SmallWorld.java
Dependencies: Graph.java PathFinder.java
|
| Spiral |
Compilation: javac LogSpiral.java
Execution: java LogSpiral
Dependencies: Turtle.java
Plots a log-spiral.
|
| Split |
Compilation: javac Cat.java
Execution: java Split DJIA N delimiter
Dependencies: In.java Out.java
This program uses multiple output streams to split a CSV file
into separate files, one for each comma-delimited field.
|
| Sqrt |
Compilation: javac Sqrt.java
Execution: java Sqrt c
Computes the square root of a nonnegative number c using
Newton's method:
- initialize t = c
- replace t with the average of c/t and t
- repeat until desired accuracy reached
% java Sqrt 2
1.414213562373095
% java Sqrt 1000000
1000.0
% java Sqrt 0.4
0.6324555320336759
% java Sqrt 1048575
1023.9995117186336
% java Sqrt 16664444
4082.2106756021303
% java Sqrt 0
0.0
% java Sqrt 1e-50
9.999999999999999E-26
Remarks
----------
- using Math.abs() is required if c < 1
Known bugs
----------
- goes into an infinite loop if the input is negative
|
| ST<Key extends Comparable<Key>,Value> |
The ST class represents an ordered symbol table of generic
key-value pairs.
|
| Stack<Item> |
The Stack class represents a last-in-first-out (LIFO) stack of generic items.
|
| StdArrayIO |
Standard array IO.
|
| StdRandom |
Standard random.
|
| StdStats |
Standard statistics.
|
| StockAccount |
Compilation: javac StockAccount.java
Execution: java StockAccount < input.txt
Dependencies: In.java StdOut.java StockQuote.java
% more Turing.txt
Turing, Alan
10.24
5
100 ADBE
25 GOOG
97 IBM
250 MSFT
200 YHOO
% java StockAccount Turing.txt
Turing, Alan
Cash: $ 10.24
100 ADBE $ 40.62 $ 4062.00
25 GOOG $500.03 $ 12500.75
97 IBM $117.35 $ 11382.95
250 MSFT $ 29.71 $ 7427.50
200 YHOO $ 23.80 $ 4760.00
Total: $ 40143.44
|
| StockQuote |
Compilation: javac StockQuote.java
Execution: java StockQuote symbol
Dependencies: In.java, StdOut.java
Print the stock price of the stock with the given symbol.
|
| Stopwatch |
Compilation: javac Stopwatch.java
|
| TenHellos |
Compilation: javac TenHellos.java
Execution: java TenHellos
Prints ith Hello for i = 1 to 10.
|
| ThreeSum |
Compilation: javac ThreeSum.java
Execution: java ThreeSum < input.txt
java N Generator | java ThreeSum
A program with cubic running time.
|
| TowersOfHanoi |
Compilation: javac TowersOfHanoi.java
Execution: java TowersOfHanoi N
Solves the Towers of Hanoi problem on N discs.
|
| Transition |
Compilation: javac Transition.java
Execution: java Transition < input.txt
Data files: http://introcs.cs.princeton.edu/16pagerank/tiny.txt
http://introcs.cs.princeton.edu/16pagerank/medium.txt
This program is a filter that reads links from standard input and
produces the corresponding transition matrix on standard output.
|
| Turtle | |
| TwentyQuestions |
Compilation: javac TwentyQuestions.java
Execution: java TwentyQuestions n
Dependencies StdIn.java
This code uses binary search to play the game of twenty questions.
|
| Universe |
Compilation: javac Universe.java
Execution: java Universe dt < input.txt
Dependencies: Body.java Vector.java StdIn.java StdDraw.java
Datafiles: http://www.cs.princeton.edu/introcs/34nbody/2body.txt
http://www.cs.princeton.edu/introcs/34nbody/3body.txt
http://www.cs.princeton.edu/introcs/34nbody/4body.txt
http://www.cs.princeton.edu/introcs/34nbody/2bodyTiny.txt
This data-driven program simulates motion in the universe defined
by the standard input stream, increasing time at the rate on the
command line.
|
| UseArgument |
Compilation: javac UseArgument.java
Execution: java UseArgument yourname
Prints "Hi, Bob.
|
| Vector |
Compilation: javac Vector.java
Execution: java Vector
Implementation of a vector of real numbers.
|
| VerticalPercolation |
Compilation: javac VerticalPercolation.java
Execution: java VerticalPercolation < input.txt
Dependencies: StdArrayIO.java StdOut.java
% java VerticalPercolation < testD.txt
8 8
0 0 0 1 1 1 0 1
1 1 1 0 0 1 1 1
1 0 1 0 0 1 0 0
1 0 1 1 1 1 0 0
1 0 0 1 0 1 0 0
1 1 0 1 0 0 0 0
0 1 1 0 0 0 0 0
0 0 1 0 0 0 0 0
false
% java VerticalPercolation < testV.txt
8 8
0 0 0 1 1 1 0 1
0 0 0 0 0 1 0 1
0 0 0 0 0 1 0 0
0 0 0 0 0 1 0 0
0 0 0 0 0 1 0 0
0 0 0 0 0 1 0 0
0 0 0 0 0 1 0 0
0 0 0 0 0 1 0 0
true
|
| Visualize |
Compilation: javac Visualize.java
Execution: java Visualize N p trials
Dependencies: Percolation.java StdDraw.java
Repeatedly generated N-by-N boolean matrices, where each site
is true with probability p.
|
Copyright © 2014. All Rights Reserved.