From 50b2ddcb0de8e05f38d4291b405c1b094c086494 Mon Sep 17 00:00:00 2001 From: dsanders12 Date: Fri, 12 Aug 2022 15:28:29 -0500 Subject: [PATCH] Adds index terms to back matter of PreTeXt book --- pretext/AlgorithmAnalysis/Glossary.ptx | 38 +++---- pretext/Graphs/Glossary.ptx | 46 ++++----- pretext/Introduction/Glossary.ptx | 134 ++++++++++++------------- pretext/LinearBasic/Glossary.ptx | 30 +++--- pretext/LinearLinked/Glossary.ptx | 20 ++-- pretext/Recursion/Glossary.ptx | 30 +++--- pretext/SearchHash/Glossary.ptx | 40 ++++---- pretext/Sort/Glossary.ptx | 28 +++--- pretext/Trees/Glossary.ptx | 56 +++++------ 9 files changed, 212 insertions(+), 210 deletions(-) diff --git a/pretext/AlgorithmAnalysis/Glossary.ptx b/pretext/AlgorithmAnalysis/Glossary.ptx index 8b056da5..81cf8be9 100755 --- a/pretext/AlgorithmAnalysis/Glossary.ptx +++ b/pretext/AlgorithmAnalysis/Glossary.ptx @@ -2,94 +2,96 @@ Glossary + algorithm -

a generic, step-by-step list of instructions for solving a problem

+

algorithma generic, step-by-step list of instructions for solving a problem

+ average case -

refers to when an algorithm performs between its worst and best case given a certain data set or circumstance

+

average caserefers to when an algorithm performs between its worst and best case given a certain data set or circumstance

best case -

refers to when an algorithm performs especially good given a certain data set or circumstance

+

best casebest caserefers to when an algorithm performs especially good given a certain data set or circumstance

Big-O notation -

another term for order of magnitude; written as O(f(n))

+

Big-O notationBig-O notationanother term for order of magnitude; written as O(f(n))

brute force -

technique that tries to exhaust all possibilities of a problem

+

brute forcebrute forcetechnique that tries to exhaust all possibilities of a problem

<c classes="code">contains</c> -

A hash operation used to check if a table contains a specific element.

+

containsA hash operation used to check if a table contains a specific element.

contiguous -

adjacent or next to

+

contiguousadjacent or next to

dynamic size -

able to change size automatically

+

dynamic sizeable to change size automatically

exponential -

function represented as a number being raised to a power that increases like f(n)= 2^{n}

+

exponentialfunction represented as a number being raised to a power that increases like f(n)= 2^{n}

<c classes="code">get_item</c> -

A hash operation used to retrieve the information associated with a hash key.

+

get_itemA hash operation used to retrieve the information associated with a hash key.

hash table -

a collection consisting of key-value pairs with an associated hash function that maps the key to the associated value.

+

hash tablea collection consisting of key-value pairs with an associated hash function that maps the key to the associated value.

linear -

function that grows in a one to one relationship with its input like f(n) = n

+

linearfunction that grows in a one to one relationship with its input like f(n) = n

logarithmic -

functions that are the inverse of exponential functions usually presented as f(n) = logn

+

logarithmicfunctions that are the inverse of exponential functions usually presented as f(n) = logn

order of magnitude -

function describing the part T(n) that increases the fastest as the value of n increases (a function describing an algorithm's steps as the size of the problem increases).

+

order of magnitudefunction describing the part T(n) that increases the fastest as the value of n increases (a function describing an algorithm's steps as the size of the problem increases).

quadratic -

function describing a relationship who's highest order is a number squared

+

quadraticfunction describing a relationship who's highest order is a number squared

simplified: f(n) = x^{2}

complex: ax^{2} + bx + c

@@ -99,19 +101,19 @@ <c classes="code">set_item</c> -

A hash operation used to add an item to your table.

+

set_itemA hash operation used to add an item to your table.

vector -

sequence container storing data of a single type that is stored in a dynamically allocated array which can change in size.

+

vectorsequence container storing data of a single type that is stored in a dynamically allocated array which can change in size.

worst case -

refers to when an algorithm performs especially poorly given a certain data set or circumstance

+

worst caserefers to when an algorithm performs especially poorly given a certain data set or circumstance

diff --git a/pretext/Graphs/Glossary.ptx b/pretext/Graphs/Glossary.ptx index 560e917c..a384c2f4 100755 --- a/pretext/Graphs/Glossary.ptx +++ b/pretext/Graphs/Glossary.ptx @@ -5,139 +5,139 @@ acyclic graph -

A graph with no cycles

+

acyclic graphA graph with no cycles

adjacency list -

A list implementation where we keep a master list of all the vertices in the Graph object and then each vertex object in the graph maintains a list of the other vertices that it is connected to

+

adjacency listA list implementation where we keep a master list of all the vertices in the Graph object and then each vertex object in the graph maintains a list of the other vertices that it is connected to

adjacency matrix -

A matrix implementation where each of the rows and columns represent a vertex in the graph, and where if two vertices are connected by an edge, they are considered adjacent.

+

adjacency matrixA matrix implementation where each of the rows and columns represent a vertex in the graph, and where if two vertices are connected by an edge, they are considered adjacent.

adjacent -

When two vertices are connected by an edge.

+

adjacentWhen two vertices are connected by an edge.

breadth first search (BFS) -

A search that proceeds to look through the edges in a graph to find all the vertices in that graph for which there is a path from the starting point.

+

breadth first searchA search that proceeds to look through the edges in a graph to find all the vertices in that graph for which there is a path from the starting point.

cycle -

A cycle in a directed graph is a path that starts and ends at the same vertex.

+

cycleA cycle in a directed graph is a path that starts and ends at the same vertex.

cyclic graph -

A graph with at least one cycle in it.

+

cyclic graphA graph with at least one cycle in it.

depth first forest -

The result of the groups of trees produced by a depth first search algorithm.

+

depth first forestThe result of the groups of trees produced by a depth first search algorithm.

depth first search (DFS) -

A search type where the goal is to create the deepest depth first tree, without any branches.

+

depth first searchA search type where the goal is to create the deepest depth first tree, without any branches.

digraph -

see directed graph

+

digraphsee directed graph

directed acyclic graph (DAG) -

A directed acyclic graph, which is a directed graph with no cycles.

+

directed acyclic graphA directed acyclic graph, which is a directed graph with no cycles.

directed graph -

A graph in which all the edges are one-way.

+

directed graphA graph in which all the edges are one-way.

edge cost -

The weight associated with an arc in a graph.

+

edge costThe weight associated with an arc in a graph.

edge -

An edge (also called an arc) connects two vertices to show that there is a relationship between them. Edges may be one-way or two-way.

+

edgeAn edge (also called an arc) connects two vertices to show that there is a relationship between them. Edges may be one-way or two-way.

parenthesis property -

All the children of a particular node in the depth first tree have a later discovery time and an earlier finish time than their parent.

+

parenthesis propertyAll the children of a particular node in the depth first tree have a later discovery time and an earlier finish time than their parent.

path -

A path in a graph is a sequence of vertices that are connected by edges.

+

pathA path in a graph is a sequence of vertices that are connected by edges.

shortest path -

The most succinct passage from one edge to another.

+

shortest pathThe most succinct passage from one edge to another.

spanning tree -

An acyclic subset of edges that connects all the vertices.

+

spanning treeAn acyclic subset of edges that connects all the vertices.

strongly connected components (SCC) -

The largest subset of vertices C⊂V such that for every pair of vertices v,w∈C we have a path from v to w and a path from w to v.

+

strongly connected componentsThe largest subset of vertices C⊂V such that for every pair of vertices v,w∈C we have a path from v to w and a path from w to v.

topological sorting -

A topological sort takes a directed acyclic graph and produces a linear ordering of all its vertices such that if the graph G contains an edge (v,w) then the vertex v comes before the vertex w in the ordering.

+

topological sortingA topological sort takes a directed acyclic graph and produces a linear ordering of all its vertices such that if the graph G contains an edge (v,w) then the vertex v comes before the vertex w in the ordering.

uncontrolled flooding -

Each message starts with a time to live (ttl) value set to some number greater than or equal to the number of edges between the broadcast host and its most distant listener. Each router gets a copy of the message and passes the message on to all of its neighboring routers. When the message is passed on the ttl is decreased. Each router continues to send copies of the message to all its neighbors until the ttl value reaches 0.

+

controlled floodingEach message starts with a time to live (ttl) value set to some number greater than or equal to the number of edges between the broadcast host and its most distant listener. Each router gets a copy of the message and passes the message on to all of its neighboring routers. When the message is passed on the ttl is decreased. Each router continues to send copies of the message to all its neighbors until the ttl value reaches 0.

vertex -

A vertex (also called a node) is a fundamental part of a graph. It can have a name (also called a Key). A vertex may also have additional information also called a (payload).

+

vertexA vertex (also called a node) is a fundamental part of a graph. It can have a name (also called a Key). A vertex may also have additional information also called a (payload).

weight -

Shows that there is a cost to go from one vertex to another

+

weightShows that there is a cost to go from one vertex to another

diff --git a/pretext/Introduction/Glossary.ptx b/pretext/Introduction/Glossary.ptx index ad2d74bf..11460a8b 100644 --- a/pretext/Introduction/Glossary.ptx +++ b/pretext/Introduction/Glossary.ptx @@ -5,404 +5,404 @@ abstract data type/ADT -

A mathematical model for data.

+

abstract data type/ADTA mathematical model for data.

abstraction -

Focusing on desired behaviors and properties while disregarding what is irrelevant/unimportant

+

abstractionFocusing on desired behaviors and properties while disregarding what is irrelevant/unimportant

access keywords -

Keywords such as ‘'public'', private'', and ‘'protected'' that indicates what class properties/behaviors a user can change

+

access keywordsKeywords such as ‘'public'', private'', and ‘'protected'' that indicates what class properties/behaviors a user can change

address-of -

The address-of operator (&) is used to access the address of a C++ variable.

+

address-ofThe address-of operator (&) is used to access the address of a C++ variable.

algorithm -

A set of instructions or rules given to complete a task.

+

algorithmA set of instructions or rules given to complete a task.

<c>AND</c> -

A primitive logic gate. In this gate, both A AND B must be true in order to be true.

+

ANDA primitive logic gate. In this gate, both A AND B must be true in order to be true.

argument -

Data passed to a parameter.

+

argumentData passed to a parameter.

array -

A data structure consisting of an ordered collection of data elements of identical type in which each element can be identified by an array index.

+

arrayA data structure consisting of an ordered collection of data elements of identical type in which each element can be identified by an array index.

array parameters -

Used to pass an array of arguments.

+

array parametersUsed to pass an array of arguments.

atomic data type -

Basic data type that cannot be broken down into any simpler data elements.

+

atomic data typeBasic data type that cannot be broken down into any simpler data elements.

base class -

A class from which other classes are derived.

+

base classA class from which other classes are derived.

<c>bool</c> -

Keyword for Boolean data type.

+

boolKeyword for Boolean data type.

<c>char</c> -

Keyword for character data type that stores a single character.

+

charKeyword for character data type that stores a single character.

class -

A template for creating (instantiating) objects, for providing initial values for state via member variables, and for implementations of behavior via member functions or methods

+

classA template for creating (instantiating) objects, for providing initial values for state via member variables, and for implementations of behavior via member functions or methods

class methods -

The functions and methods that belong to a class that describe what the class can do.

+

methodsThe functions and methods that belong to a class that describe what the class can do.

collection -

A grouping of a number of data items (possibly only zero or one) that have some shared significance or need to be operated upon together.

+

collectionA grouping of a number of data items (possibly only zero or one) that have some shared significance or need to be operated upon together.

compiler -

A program that converts high-level language into machine language.

+

compilerA program that converts high-level language into machine language.

computable -

The capability of being copmuted or solved.

+

computableThe capability of being copmuted or solved.

<c>const</c> -

Keyword that makes a variable or value immutable. i.e. constant and unchanging.

+

constKeyword that makes a variable or value immutable. i.e. constant and unchanging.

constructor -

A class' special function that initializes an object of that class.

+

constructorA class' special function that initializes an object of that class.

data abstraction -

The act of only providing essential information within your work. Representing your data without reavling the details.

+

data abstractionThe act of only providing essential information within your work. Representing your data without reavling the details.

data structure -

The organization of data that allows for improved search, storage, and sorting capability.

+

data structuresThe organization of data that allows for improved search, storage, and sorting capability.

data types -

A classification of various types of data, such as floating-point, integer, or Boolean, the possible values for that type, operations that can be done on that type, +

data typesA classification of various types of data, such as floating-point, integer, or Boolean, the possible values for that type, operations that can be done on that type, and how the values of that type are stored.

dereference -

Follow a pointer to its referenced memory location and read the data there.

+

dereferenceFollow a pointer to its referenced memory location and read the data there.

derived class -

A derived class is a class created or derived from another existing class.

+

derived classA derived class is a class created or derived from another existing class.

<c>double</c> -

Keyword for double-precision floating point data type.

+

doubleKeyword for double-precision floating point data type.

encapsulation -

Hiding the contents of a class except when absolutely necessary

+

encapsulationHiding the contents of a class except when absolutely necessary

<c>float</c> -

Keyword for floating point data type.

+

floatKeyword for floating point data type.

friend -

An operator or function that can access the private data members of a class of which it is designated as a friend.

+

friendAn operator or function that can access the private data members of a class of which it is designated as a friend.

friend function -

A function defined outside that class' scope but has access to private and protected members of the class

+

friend functionA function defined outside that class' scope but has access to private and protected members of the class

function -

A section of code that performs a procedure and is usually named.

+

functionA section of code that performs a procedure and is usually named.

function overloading -

Function overloading is the ability to create multiple functions of the same name with different implementations.

+

function overloadingFunction overloading is the ability to create multiple functions of the same name with different implementations.

HAS-A Relationship -

A relationship where one object belongs to another object, and behaves according to rules of ownership.

+

HAS-A RelationshipA relationship where one object belongs to another object, and behaves according to rules of ownership.

hash table -

A collection consisting of key-value pairs with an associated hash function that maps the key to the associated value.

+

hash tableA collection consisting of key-value pairs with an associated hash function that maps the key to the associated value.

immutable -

Unable to be modified.

+

immutableUnable to be modified.

information hiding -

Hiding information so that it is invisible from the outside of an object.

+

information hidingHiding information so that it is invisible from the outside of an object.

inheritance -

Sharing/gaining the same behavior as another class

+

inheritanceSharing/gaining the same behavior as another class

inheritance hierarchy -

A singly rooted tree structure.

+

inheritance hierarchyA singly rooted tree structure.

instance -

An occurrence of an object

+

instanceAn occurrence of an object

<c>int</c> -

Keyword for integer data type.

+

intKeyword for integer data type.

<c>int main()</c> -

The main function used to call all other functions.

+

int mainThe main function used to call all other functions.

interface -

A shared boundary in which two or more components of a computer system exchange information.

+

interfaceA shared boundary in which two or more components of a computer system exchange information.

machine code -

Instructions and data understandable by a computer's CPU.

+

machine codeInstructions and data understandable by a computer's CPU.

mutability -

Able to be modified.

+

mutabilityAble to be modified.

<c>NOT</c> -

An inverter, used to negate input.

+

NOTAn inverter, used to negate input.

object -

A variable, data structure, function, or a method, that can be referenced by an identifier.

+

objectA variable, data structure, function, or a method, that can be referenced by an identifier.

object attribute -

A property of an object that describes what it looks like

+

object attributeA property of an object that describes what it looks like

object-oriented programming language -

Programming language that uses objects to represent data and methods such as C++ and Java

+

object-oriented programmingProgramming language that uses objects to represent data and methods such as C++ and Java

operator overloading -

Same as function overloading.

+

operator overloadingSame as function overloading.

<c>OR</c> -

A basic gate. If either input is true, the output is also. If inputs are false, so is the output.

+

ORA basic gate. If either input is true, the output is also. If inputs are false, so is the output.

overloading -

Specifying more than one definition for the same function name or the same operator within the same scope.

+

overloadingSpecifying more than one definition for the same function name or the same operator within the same scope.

parameter -

A variable in a function or method definition that accepts data passed from an argument.

+

parameterA variable in a function or method definition that accepts data passed from an argument.

pass by reference -

To pass an object to a function by referencing its location in memory.

+

pass by referenceTo pass an object to a function by referencing its location in memory.

pass by value -

To pass an object to a function by copying its value.

+

pass by valueTo pass an object to a function by copying its value.

programming -

The use of logic to create specified computing operations.

+

programmingThe use of logic to create specified computing operations.

pointer -

A variable that stores and manipulates memory addresses.

+

pointerA variable that stores and manipulates memory addresses.

polymorphism -

The ability to process objects or methods differently depending on their data type, class, number of arguments, etc.

+

polymorphismThe ability to process objects or methods differently depending on their data type, class, number of arguments, etc.

reference -

A value that indicates a place in a computer's memory.

+

referenceA value that indicates a place in a computer's memory.

set -

An unordered data structure consisting of unique, immutable data values.

+

setAn unordered data structure consisting of unique, immutable data values.

string -

A sequential data structure consisting of zero or more characters.

+

stringA sequential data structure consisting of zero or more characters.

subclasses -

A division of an existing class.

+

subclassesA division of an existing class.

superclass -

A class that has been extended by another existing class.

+

superclassA class that has been extended by another existing class.

truth table -

A mathematical table used to visually represent boolean logic and functions.

+

truth tableA mathematical table used to visually represent boolean logic and functions.

unordered set -

A container that is not sorted or ordered in any secific way.

+

unordered setA container that is not sorted or ordered in any secific way.

vector -

Sequence container storing data of a single type that is stored in a dynamically allocated array which can change in size.

+

vectorSequence container storing data of a single type that is stored in a dynamically allocated array which can change in size.

<c>void</c> -

Keyword indicating a function has no return value.

+

voidKeyword indicating a function has no return value.

word -

Unit of data used by a particular processor design.

+

wordUnit of data used by a particular processor design.

diff --git a/pretext/LinearBasic/Glossary.ptx b/pretext/LinearBasic/Glossary.ptx index 8f5b0b03..b93c68af 100755 --- a/pretext/LinearBasic/Glossary.ptx +++ b/pretext/LinearBasic/Glossary.ptx @@ -5,91 +5,91 @@ algorithm -

a generic, step-by-step list of instructions for solving a problem

+

algorithma generic, step-by-step list of instructions for solving a problem

balanced parentheses -

each opening symbol has a corresponding closing symbol and the pairs of parentheses are properly nested

+

balanced parentheseseach opening symbol has a corresponding closing symbol and the pairs of parentheses are properly nested

deque -

an ordered collection of items with two ends and the items remain positioned in the collection. New items can be added at either the front or the rear

+

dequean ordered collection of items with two ends and the items remain positioned in the collection. New items can be added at either the front or the rear

first-in first-out (FIFO) -

ordering principle in which the first item added is also the first removed

+

first-in first-outordering principle in which the first item added is also the first removed

fully parenthesized -

the usage of one pair of parentheses for each operator

+

fully parenthesizedthe usage of one pair of parentheses for each operator

infix -

expression notation in which the operator is in between the two operands that it is working on

+

infixexpression notation in which the operator is in between the two operands that it is working on

last-in first-out (LIFO) -

ordering principle in which the last item added is also the first removed

+

last-in first-outordering principle in which the last item added is also the first removed

linear data structure -

a data structure with elements that have positions relative to each other

+

linear datasa data structure with elements that have positions relative to each other

palindrome -

a string that reads the same forward and backward

+

palindromea string that reads the same forward and backward

postfix -

expression notation in which all operators come after the two operands that they work on

+

postfixexpression notation in which all operators come after the two operands that they work on

precedence -

hierarchy on the order things occur

+

precedencehierarchy on the order things occur

prefix -

expression notation in which all operators precede the two operands that they work on

+

prefixexpression notation in which all operators precede the two operands that they work on

queue -

an ordered collection of items where the addition of new items happens at one end and the removal of existing items occurs at the other end

+

queuean ordered collection of items where the addition of new items happens at one end and the removal of existing items occurs at the other end

simulation -

an imitation of a process or operations

+

simulationan imitation of a process or operations

stack -

an ordered collection of items where the addition of new items and the removal of existing items always takes place at the same end

+

stackan ordered collection of items where the addition of new items and the removal of existing items always takes place at the same end

diff --git a/pretext/LinearLinked/Glossary.ptx b/pretext/LinearLinked/Glossary.ptx index d7ce4542..baefb7b8 100755 --- a/pretext/LinearLinked/Glossary.ptx +++ b/pretext/LinearLinked/Glossary.ptx @@ -5,62 +5,62 @@ forward list -

a list that is a singly-linked (only links to one other element) sequence container

+

forward lista list that is a singly-linked (only links to one other element) sequence container

head -

the first item in a linked list

+

headthe first item in a linked list

linked data structure -

a data structure which consists of a set of data structures called nodes +

linked data structurea data structure which consists of a set of data structures called nodes which are linked together and organized by links created via references or pointers

linked list -

a linear collection of data elements whose order is not determined by the placement in memory

+

linked lista linear collection of data elements whose order is not determined by the placement in memory

linked list traversal -

the process of systematically visiting each node in a linked list

+

linked list traversalthe process of systematically visiting each node in a linked list

list -

a doubly-linked (links to 2 other elements) container

+

lista doubly-linked (links to 2 other elements) container

node -

the element of a linked list.

+

nodethe element of a linked list.

ordered linked list -

a linked list whose elements are in an order

+

ordered linked lista linked list whose elements are in an order

ordered list -

a list whose elements are ordered

+

ordered lista list whose elements are ordered

unordered linked list -

a linked list whose elements are not in an order

+

unordered linked lista linked list whose elements are not in an order

diff --git a/pretext/Recursion/Glossary.ptx b/pretext/Recursion/Glossary.ptx index 20075a2f..55425c15 100755 --- a/pretext/Recursion/Glossary.ptx +++ b/pretext/Recursion/Glossary.ptx @@ -5,54 +5,54 @@ base case -

A branch of the conditional statement in a recursive function that does +

base caseA branch of the conditional statement in a recursive function that does not give rise to further recursive calls.

data structure -

An organization of data for the purpose of making it easier to use.

+

data structureAn organization of data for the purpose of making it easier to use.

dynamic programming -

a way to solve complex problems by breaking it up, solving the smaller +

dynamic programminga way to solve complex problems by breaking it up, solving the smaller portions, and storing the results to avoid re-calculating them.

exception -

An error that occurs at runtime.

+

exceptionAn error that occurs at runtime.

handle an exception -

To prevent an exception from terminating a program by wrapping +

handle an exceptionTo prevent an exception from terminating a program by wrapping the block of code in a try / except construct.

immutable data type -

A data type which cannot be modified. Assignments to elements or +

immutable data typeA data type which cannot be modified. Assignments to elements or slices of immutable types cause a runtime error.

infinite recursion -

A function that calls itself recursively without ever reaching the base +

infinite recursionA function that calls itself recursively without ever reaching the base case. Eventually, an infinite recursion causes a runtime error.

mutable data type -

A data type which can be modified. All mutable types are compound +

mutable data typeA data type which can be modified. All mutable types are compound types. Lists and dictionaries (see next chapter) are mutable data types; strings and tuples are not.

@@ -60,19 +60,19 @@ raise -

To cause an exception by using the raise statement.

+

raiseTo cause an exception by using the raise statement.

recursion -

The process of calling the function that is already executing.

+

recursionThe process of calling the function that is already executing.

recursive call -

The statement that calls an already executing function. Recursion can +

recursive callThe statement that calls an already executing function. Recursion can even be indirect — function f can call g which calls h, and h could make a call back to f.

@@ -80,7 +80,7 @@ recursive definition -

A definition which defines something in terms of itself. To be useful +

recursive definitionA definition which defines something in terms of itself. To be useful it must include base cases which are not recursive. In this way it differs from a circular definition. Recursive definitions often provide an elegant way to express complex data structures.

@@ -89,14 +89,14 @@ stack frame -

a stack that contains a frame or group of data. For a call stack, this +

stack framea stack that contains a frame or group of data. For a call stack, this would be a function and its arguments.

tuple -

A data type that contains a sequence of elements of any type, like a +

tupleA data type that contains a sequence of elements of any type, like a list, but is immutable. Tuples can be used wherever an immutable type is required, such as a key in a dictionary (see next chapter).

@@ -104,7 +104,7 @@ tuple assignment -

An assignment to all of the elements in a tuple using a single +

tuple assignmentAn assignment to all of the elements in a tuple using a single assignment statement. Tuple assignment occurs in parallel rather than in sequence, making it useful for swapping values.

diff --git a/pretext/SearchHash/Glossary.ptx b/pretext/SearchHash/Glossary.ptx index 1ef1e310..14c949b0 100755 --- a/pretext/SearchHash/Glossary.ptx +++ b/pretext/SearchHash/Glossary.ptx @@ -5,7 +5,7 @@ binary search -

search method in which one repeatedly divides a sorted data structure in +

binary searchsearch method in which one repeatedly divides a sorted data structure in half and determines if the item is in one half of it until the item is found or deemed not in the data.

@@ -13,34 +13,34 @@ chaining -

a method of collision resolution in which each slot in a hash table holds +

chaininga method of collision resolution in which each slot in a hash table holds a reference to a collection of items

collision -

a conflict of having two or more items sharing the same slot in a hash +

collisiona conflict of having two or more items sharing the same slot in a hash table

collision resolution -

a systematic method for resolving hash table collisions

+

collision resolutiona systematic method for resolving hash table collisions

clustering -

items being mapped in a hash table near each other because of collisions +

clusteringitems being mapped in a hash table near each other because of collisions and linear probing resulting in items with collisions being put together

folding method -

a method for constructing a hash function by dividing the item into +

folding methoda method for constructing a hash function by dividing the item into equally sized pieces and then adding the pieces together to get a hash value. The value is then divided by the size of the hash table and the remainder becomes the slot for that item.

@@ -49,94 +49,94 @@ hashing -

generating a value given an input that can be used to find the input +

hashingenerating a value given an input that can be used to find the input by searching for the value.

hash function -

the mapping between an item and its slot in a hash table

+

hash functionthe mapping between an item and its slot in a hash table

hash table -

a collection of items which are stored in such a away as to make it easy +

hash tablea collection of items which are stored in such a away as to make it easy to find them

linear probing -

an open addressing technique in which each slot is visited one at a time +

linear probingan open addressing technique in which each slot is visited one at a time systematically

load factor -

Represents how full a hash table is. Its the number of items in a hash +

load factorRepresents how full a hash table is. Its the number of items in a hash table divided by the size of the table.

map -

an associate data type that stores key-data pairs

+

mapan associate data type that stores key-data pairs

mid-square method -

a method for constructing a hash function by squaring the item and +

mid-square methoda method for constructing a hash function by squaring the item and then using some portion of the result.

open addressing -

a collision resolution that tries to find the next open slot/address in +

open addressinga collision resolution that tries to find the next open slot/address in the hash table

perfect hash function -

a hash function that maps each item to a unique hash slot

+

perfect hash functiona hash function that maps each item to a unique hash slot

quadratic probing -

a variation of linear probing in which rehashing is done using successive +

quadratic probinga variation of linear probing in which rehashing is done using successive squared values

rehashing -

putting an item into a hash table after a collision

+

rehashingputting an item into a hash table after a collision

searching -

the algorithmic process of finding a particular item in a +

searchingthe algorithmic process of finding a particular item in a collection of items

sequential search -

search method in which one follows the underlying ordering of items in a +

sequential searchsearch method in which one follows the underlying ordering of items in a collection of data to find a specific item

slot -

a position in a hash table

+

slota position in a hash table

diff --git a/pretext/Sort/Glossary.ptx b/pretext/Sort/Glossary.ptx index aa4ce50e..6ed08ba4 100755 --- a/pretext/Sort/Glossary.ptx +++ b/pretext/Sort/Glossary.ptx @@ -5,21 +5,21 @@ bubble sort -

sorting method that makes multiple passes through a collection, comparing +

bubble sortsorting method that makes multiple passes through a collection, comparing adjacent items, and swaps items that are out of order

gap -

an increment used to divide a collection into subsets without breaking +

gapan increment used to divide a collection into subsets without breaking apart the collection during a shell sort

insertion sort -

sorting method that maintains a sorted and unsorted subset of a +

insertion sortsorting method that maintains a sorted and unsorted subset of a collection and inserts elements from the unsorted subset into the sorted subset

@@ -27,21 +27,21 @@ median of three -

method of choosing the pivot value for a quick sort by taking the median +

median of threemethod of choosing the pivot value for a quick sort by taking the median of the first, middle, and last element of a collection

merge -

part of merge sort that takes two smaller sorted subsets and combines +

mergepart of merge sort that takes two smaller sorted subsets and combines them

merge sort -

sorting method that uses recursion to split a collection in half until +

merge sortsorting method that uses recursion to split a collection in half until there is one item and then combines the smaller subsets back into larger sorted subsets

@@ -49,7 +49,7 @@ partition -

process of quick sort that that finds the split point and moves items to +

partitionprocess of quick sort that that finds the split point and moves items to the appropriate side of the collection, either less than or greater than the pivot value

@@ -57,14 +57,14 @@ pivot value -

value selected in a collection during quick sort in order to split a +

pivot valuevalue selected in a collection during quick sort in order to split a collection

selection sort -

sorting method that makes multiple passes through a collection, taking +

selection sortsorting method that makes multiple passes through a collection, taking the largest (ascending) or smallest (descending) unsorted element and places it into its correct place by swapping places with the next largest or lowest element

@@ -73,7 +73,7 @@ shell sort -

sorting method that divides the collection into subsets, sorts the subsets +

shell sortsorting method that divides the collection into subsets, sorts the subsets individually using insertion sort, then also sorts the combination of the sorted subsets using insertion sort

@@ -81,26 +81,26 @@ short bubble -

a modified bubble sort that stops if there are no exchanges to do

+

bubble sorta modified bubble sort that stops if there are no exchanges to do

sorting -

the process of placing elements from a collection in some kind of order

+

sortingthe process of placing elements from a collection in some kind of order

split point -

the position of the pivot value in the sorted collection; used to divide +

split pointthe position of the pivot value in the sorted collection; used to divide the collection for subsequent calls to quick sort

quick sort -

sorting method that uses recursion to split a collection in half (without +

quick sortsorting method that uses recursion to split a collection in half (without using extra space) and places elements on the proper side of the split point

diff --git a/pretext/Trees/Glossary.ptx b/pretext/Trees/Glossary.ptx index 32be0541..83e84fee 100755 --- a/pretext/Trees/Glossary.ptx +++ b/pretext/Trees/Glossary.ptx @@ -5,27 +5,27 @@ AVL tree -

a binary search tree that automatically makes sure the tree remains +

AVL treea binary search tree that automatically makes sure the tree remains balanced at all times

balance factor -

the difference between the height of the left and right subtrees of +

balance factorthe difference between the height of the left and right subtrees of a node

binary heap -

a complete binary tree that follows heap ordering rules

+

binary heapa complete binary tree that follows heap ordering rules

binary search tree -

a binary tree in which each node has no more than 2 children; node values +

binary searcha binary tree in which each node has no more than 2 children; node values in the left sub-tree are less than the parent while node values in the right sub-tree are

@@ -33,13 +33,13 @@ binary tree -

a tree with a maximum of two children for each node

+

binary treea tree with a maximum of two children for each node

bst propery -

property of a binary search key in which the keys that are less than +

bst propertyproperty of a binary search key in which the keys that are less than the parent are found in the left subtree and keys that are greater than the parent are found in the right subtree

@@ -47,26 +47,26 @@ children -

the nodes that one node leads to

+

childrenthe nodes that one node leads to

complete binary tree -

a tree in which each level has all of its nodes, with the exception of +

complete binary treea tree in which each level has all of its nodes, with the exception of the bottom level

edge -

connects two nodes in a tree; has only one incoming edge

+

edgeconnects two nodes in a tree; has only one incoming edge

heap order property -

property of the heap based on min heap or max heap (i.e. in a min heap, +

heap order propertyproperty of the heap based on min heap or max heap (i.e. in a min heap, every node x with a parent p, the key in p is smaller than or equal to the key in x)

@@ -74,114 +74,114 @@ height -

the maximum level of any node in the tree

+

heightthe maximum level of any node in the tree

inorder -

recursive tree traversal in which the left subtree is visited, then the +

inorderrecursive tree traversal in which the left subtree is visited, then the root node, followed by the right subtree

leaf node -

a node that has no children

+

leaf nodea node that has no children

level -

the number of edges on the path from the root to the current node

+

levelthe number of edges on the path from the root to the current node

max heap -

a binary heap in which the largest key is always at the front

+

max heapa binary heap in which the largest key is always at the front

min heap -

a binary heap in which the smallest key is always at the front

+

min heapa binary heap in which the smallest key is always at the front

node -

part of the tree that holds information

+

nodepart of the tree that holds information

parent -

a node that leads to other nodes

+

parenta node that leads to other nodes

path -

an ordered list of nodes connected by edges

+

pathan ordered list of nodes connected by edges

postorder -

recursive tree traversal in which the left subtree is visited, then the +

postorderrecursive tree traversal in which the left subtree is visited, then the right, followed by the root node

preorder -

recursive tree traversal in which the root node is visited, then the +

preorderrecursive tree traversal in which the root node is visited, then the left, followed by the right subtree

priority queue -

a queue whose elements have a priority that determines their order

+

priority queuea queue whose elements have a priority that determines their order

root -

the starting point of the tree; has no incoming edges

+

rootthe starting point of the tree; has no incoming edges

rotation -

rotating the parent and children nodes in a subtree to reorganize +

rotationrotating the parent and children nodes in a subtree to reorganize their hierarchy

sibling -

children of the same parent node

+

siblingchildren of the same parent node

subtree -

a section of a tree

+

subtreea section of a tree

successor -

a node that can replace another node while preserving the binary search +

successora node that can replace another node while preserving the binary search tree relationships; the next-largest key in the tree

tree -

a hierarchal data structure with a root, branches, and leaves.

+

treea hierarchal data structure with a root, branches, and leaves.