# CS 314 Mid Term Review

### 105 terms by tim_carroll3

#### Study  only

Flashcards Flashcards

Scatter Scatter

Scatter Scatter

## Create a new folder

CS 314 The University of Texas

3

9

19

### A long is how many bits?

64 bits, or about 19 decimal digits.

32

### Describe how log(n) grows.

Slowly. log(1000) = 10, log(1,000,000) = 20, log(1,000,000,000) = 30.

O(n²)

### For reference types, what do == and != test?

The equality of pointer values (i.e. do they have the exact same data address in memory?)

### How big is a pointer?

64 bits on modern machines.

### How can you find the Big O of a loop?

The loop count times the Big O of the contents

### How can you find the Big O of an if statement?

The max of the Big O of the test, then statement, and else statement

### How does the constructing of a linked list work?

A linked list links new elements onto the front of the list.

Any number

Exactly one

### In a Cons list, first and rest have different types. What are they?

First can be any Object type, while rest is a Cons or null

### O(log(n)) is better than which function?

O(N). Much, much better.

1

### state

a description of a state of a process, such as a board game; a set of variable values.

== or !=

### To make an Integer out of an int, what should be used?

Integer myInteger = Integer.valueOf(myInt);
Integer myInteger = myInt; // autoboxing

### What are base cases?

Simple inputs for which the answer is obvious and can be determined immediately.

### What are contents of a linked list?

Something as simple as a number, or a pointer to another linked list

### What are the advantages to ArrayList?

get and set are O(1), and add and remove at the end are O(1) so it makes a good stack

### What are the different representations of trees that we are concerned with for Novak's class?

Binary trees, First-Child/Next-sibling, Linked lists, Implicit

### What are the disadvantages of ArrayList?

add and remove are O(N) for random positions, contains is O(N)

get, set, and remove are O(N)

### What are the two fields of a cons cell called?

car and cdr (original names), or first and rest.

### What does a recursive program do?

It calls itself as a subroutine.

### What does a sentinel node hold or reference?

nothing; a sentinel is an extra node, usually at the front or end, that simplifies coding.

### What does depth-first search do?

It searches children of a node before siblings are considered (through recursion)

### What does it mean for a function to be intractable?

It can only be computed when n is relatively small (for example, if the function is exponential)

### What does it mean for functions to share structure?

The same list structure is part of more than one list.

### What does it mean for something to be random access?

Access to any element has the same cost, O(1); (for example, arrays)

### What does it mean to divide and conquer?

To break down a large problem into two smaller problems, until the problem becomes easy

(a b c)

null

### What does the function append() do to a linked list?

It concatenates two lists to form a single list.
(append '(a b c) '(d e)) = (a b c d e)

### What does the function assoc do?

It provides a simple lookup tool to find information in a linked list. (assoc 'b '((a 1) (b 2) (c 3))) = (b 2)

### What does the function (cons item list) do?

It makes a new list element containing item, and adds it to the front of list

### What does the function Intersection do?

It returns a set of elements that are members of both sets. (intersection '(i c e) '(c r e a m)) = (e c)

### What does the function member do?

It tests whether a given item is an element of a list. It returns the remainder of the list beginning with the desired element

### What does the function merge do?

It combines two sorted lists into one sorted list. Duplicated elements are retained.

### What does the function nconc do?

It concatenates two lists to form a single list; it does so by modifying the end of the first list to point to the second list

### What does the function nreverse do?

It reverses a list in place by turning the pointers around.

### What does the function reverse() do to a linked list?

It makes a new linked list whose elements are in reverse order of the original list

### What does the function Union do?

It returns the set of elements that are members of either set (basically all elements with no duplicates).
(union '(i c e) '(c r e a m)) = (i c r e a m)

### What is a binary tree?

A tree in which each node has at most two children

### What is a circularly linked list?

The last link points back to the front of the list rather than to null or nil

### What is a Cons?

The function that constructs a pair containing two pointers

### What is a constructive function?

A function that creates a new list, but does not modify the original list's arguments

### What is a destructive function?

A function that modifies the original list's arguments

### What is a doubly linked list?

It has pointers that point both forward and backward

### What is a fair data structure?

An entry in a queue will eventually get serviced and removed so a queue is fair

### What is a First-Child / Next-Sibling Tree?

Down arrows represent the first child, while side arrows represent the next sibling

A pointer to the next element

A directed pointer from one node to another

### What is a linked list?

A data structure where each element has two fields: a link and contents

### What is an abstract data type?

a description of operations on a data type that could have multiple possible implementations.

### What is an association list?

It is a list of pairs, where each pair has a key, and a value associated with the key. ((one 1) (two 2) (three 3))

### What is an object?

a data structure that can be identified at runtime as a member of a class

a leaf

### What is a parent?

In a tree, it is a node that points to a given node

### What is a pointer (aka reference)?

The memory address of the beginning of a record, or block of storage

### What is a reference?

A pointer to data

### What is a root?

The uppermost tree node that has no incoming links

### What is a runtime stack?

a stack that keeps a fresh set of values for each variable in a stack frame

### What is a "thing" concerning linked lists?

A simple item such as a number or string or a balanced pair of parentheses and everything inside of them.

### What is a tree?

A kind of graph composed of nodes and links. It has one root node. Each node except the root has exactly one parent. All nodes are reachable from the root.

### What is design pattern?

a pattern that describes a set of similar programs

### What is garbage?

it can be data that is incorrect, meaningless, or random, or storage that is no longer pointed to

### What is inorder?

an order of processing a tree in which the parent node is processed in between its children

### What is preorder?

a way of processing a tree where the parent node is processed before the children

### What is random access?

describes a data structure in which all accesses have the same costs, O(1). e.g. an array.

A queue

### What is sometimes called a boxed integer?

Integer in Java, a record that has a class, has methods, can be pointed to and used in other structures.

### What is the best way to remember how to draw a FC/NS Tree?

It looks like an ordinary tree, but the right hand links all fall down and become horizontal.

O(N)

O(1)

O(n³)

O(log(N))

O(1)

O(N)

O(N)

O(N)

### What is the Big O of quicksort?

O(n*log(N)), but could be O(n²) in the worst case.

O(n²)

### What is the goal?

The item being sought in a search

(c a)

(dick harry)

enqueued

dequeued

### What is well-founded ordering?

ordering that can guarantee to terminate (go down to zero)

### What is XML?

Extensible Markup Language, it allows users to put tags around their data to describe what the pieces of data mean. <city> Austin </city>

.equals()

### What will a filter function do?

Filter removes items from a Collection if they meet a certain condition

O(n)

O(n²)

O(n³)

O( n*log(n) )

### When there is a straight line on a log-log graph, what does the slope represent?

The exponent of the polynomial, e.g. slope of 2 is O(n²).

Polynomial

Exponential

### With respect to linked lists, what does .set(idx, element) do?

Replaces the element at the specified position in this list with the specified element.

### With respect to linked lists, what does the function length() produce?

The number of "things" in the linked list

Example: