Invitation to Computer Science Ch.1,2,3

Réussis tes devoirs et examens dès maintenant avec Quizwiz!

intractable

a description of a problem or algorithm where the best known performance is ϴ(2ᵑ)

bin-packing problem

a difficult, probably intractable problem: given a list of objects and some bins, the task is to find the minimum number of bins required to contain the objects

Hamiltonian circuit

a graph problem that is probably intractable: the task is to find a path through the graph that visits each node in the graph once and returns to the start node

natural language

a language that is spoken and/or written by people in everyday life; e.g., English

pretest loop

a loop in which the continuation condition is tested at the beginning of each pass through the loop (ex. while...)

post-test loop

a loop in which the continuation condition is tested at the end of each pass through the loop (ex. repeat...until or do...while)

infinite loop

a loop that does not terminate

infinite loop

a loop where the continuation condition never becomes false

variable

a named location for storing data values

pseudocode

a notation for describing algorithms that lies between a formal program and plain natural language; typically, is highly structured and uses well-understood and computable statements

polynomially bounded

a problem that has a known polynomial time algorithm

formal programming language

a restrictive language used to describe an algorithm in terms that a computer can execute

output

a sequential operation for presenting results to the outside world

input

a sequential operation for receiving data from the outside world

computation

a sequential operation that calculates some value and saves the result

algorithm

a set of steps that describe how to perform a task

approximation algorithm

a solution to a possibly intractable problem that is not guaranteed to give the best answer, but gives a good approximation to the best answer, in a tractable amount of time

selection sort algorithm

an algorithm for sorting a collection of values that repeatedly finds the largest values in the unsorted section of the list and moves them into the correct position

sequential algorithm

an algorithm that contains only sequential operations so that it is executed from top to bottom without any choice points or loops (a.k.a. straight-line algorithm)

exponential algorithm

an algorithm that runs in ϴ(2ᵑ) or worse

binary search algorithm

an algorithm that searches for a particular value in a sorted list of values, running in ϴ(lg n) time in the worst case

brute force algorithm

an algorithm that tries all possible solutions in order to find the optimal solution

elegance

an attribute of an algorithm that captures the cleverness and sophistication of the algorithm

efficiency

an attribute of an algorithm that captures the time and space requirements of the algorithm

ease of understanding

an attribute of an algorithm that describes how easy it is to understand and modify the algorithm

correctness

an attribute of an algorithm that says that it solves the correct problem in the correct way

primitive operation

an operation that a given computing agent can perform

effectively computable operation

an operation that a given computing agent can perform, often called a primitive operation

conditional operation

an operation that chooses between multiple actions based on some specified criteria

unambiguous operation

an operation that has only one meaning, and therefore is well-understood

sequential operation

an operation that performs some calculation and exists in a sequence with other operations in describing an algorithm

iterative operation

an operation that specifies that a particular set of operations can be repeated multiple times

algorithm discovery

creating an algorithmic solution to a given problem

best case

for a particular size of input, the least work an algorithm could do, based on the configuration of the input values

worst case

for a particular size of input, the most work an algorithm might have to do, based on the configuration of the input values

control operations

operations used in an algorithm that alter the top-to-bottom flow of control; usually, conditional and iterative operations

abstraction

the ability to separate the high-level view of an entity from the low-level details; a central intellectual tool in computer science

sequential search

the algorithm for searching an unordered collection of data for a particular value

order of magnitude

the general form of the curve that a particular function exhibits, for instance, linear, quadratic, polynomial, or exponential

primitive operation

the instructions we assume the computing agent for an algorithm understands and can execute

computing agent

the machine, the robot, the person, or thing carrying out the steps of an algorithm

searching

the problem of finding a particular value in a list of values

pattern matching

the problem of finding one pattern within a larger string

sorting

the problem of ordering a collection of values into some specified order: alphabetic, numeric, etc

analysis of algorithms

the process of determining the time and space efficiency of an algorithm, resulting in a function described with ϴ notation

benchmarking

the process of timing an algorithm on a particular machine and system in order to determine how it performs; this process is usually used to evaluate a machine and system, rather than a particular algorithm

top-down design

the process of viewing an operation at a high level of abstraction, then later filing in the details required to implement the high-level operation

loop

the repetition of a block of instructions

computer science

the study of algorithms, including their formal and mathematical properties, their hardware and linguistic realizations, and their applications

program maintenance

the task of maintaining and updating a piece of software once it has been created and released for public use

the formal criteria for a true algorithm

well-ordered, unambiguous, effectively computable, produces a result when executed, halts in a finite amount of time


Ensembles d'études connexes

NSG 321 NCLEX Practice Questions (CH. 18, 21, 22, 24-26, 30, 33, 38-50, 55, 60-64)

View Set

AMH 2020 Ch.22,23,24 Study Guide

View Set

VISUAL AIDS (Chapter 13 Comm Quiz)

View Set

FoF Attempt #1 Wrong answers and helpful information

View Set

Microeconomics Chapter 5: Elascity

View Set