Data Structures and Algorithms – Vocabulary Flashcards

0.0(0)
studied byStudied by 0 people
0.0(0)
full-widthCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/71

flashcard set

Earn XP

Description and Tags

Vocabulary flashcards covering key concepts from Pages 1–4 of the lecture notes.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

72 Terms

1
New cards

Data Structure

A way of storing and organizing data in a computer, based on the ability of the computer to retrieve and store data in memory.

2
New cards

Primitive Data Structure

Basic data structures that are directly operated upon by machine instructions (e.g., integer, char).

3
New cards

Non-Primitive Data Structure

Derived from primitive data structures (e.g., array, stack).

4
New cards

Homogeneous

All elements are of the same type (e.g., an array).

5
New cards

Heterogeneous

Elements are of different types (e.g., a structure).

6
New cards

Linear

Maintains a linear relationship between its elements (e.g., array).

7
New cards

Non-Linear

Does not maintain a linear relationship among elements (e.g., trees).

8
New cards

Main Memory (RAM)

Volatile memory where instructions and data are stored; contents lost when power is turned off.

9
New cards

Cache Memory

Memory that stores frequently used instructions and data to speed up access.

10
New cards

Register (Cache Memory)

A small, fast storage location found in cache memory, used to temporarily hold instructions and data.

11
New cards

Persistent Memory (External Storage)

Non-volatile storage used to store instructions and data outside main memory; often used as virtual memory by the OS.

12
New cards

Reserving Memory

Process of allocating memory for a program and manipulating data with data structure techniques.

13
New cards

Abstract Data Type (ADT)

A keyword that specifies the amount of memory needed to store data and the kind of data that will be stored.

14
New cards

Static

This data structure size cannot be changed after initial allocation, e.g matrices

15
New cards

Byte ADT

8 bits; smallest in the integer group; used when sending/receiving data from a file or network.

16
New cards

Short ADT

16 bits; least used in the integer group; used on very old computers.

17
New cards

Int ADT

32-bit integer; most frequently used; used to control variables in loops and array indices.

18
New cards

Long ADT

64-bit integer; used when whole numbers exceed the range of int.

19
New cards

Dynamic

This data structure size can change dynamically, e.g. lists

20
New cards

Float ADT

32-bit floating point; single precision; about 7 decimal digits.

21
New cards

Double ADT

64-bit floating point; used for very large/small real numbers; more precision than float.

22
New cards

Char ADT

16-bit character type; represented as an integer value corresponding to a character set.

23
New cards

ASCII

American Standard Code for Information Interchange; 8-bit character set, up to 256 characters.

24
New cards

Unicode

Character set using 2 bytes per character; supports languages with more than 256 characters.

25
New cards

Boolean ADT

Stores a true/false value using 1 bit.

26
New cards

Memory Address

A unique identifier for a memory location; memory is organized in bytes (8-bit groups). Holds 0 or 1.

27
New cards

Algorithm

A step-by-step procedure that defines a set of instructions to produce the desired output.

28
New cards

Search (Algorithm Categories)

A category of algorithm that finds a specific item within a data structure.

29
New cards

Sort (Algorithm Categories)

A category of algorithm that arranges items in a particular order.

30
New cards

Insert (Algorithm Categories)

A category of algorithm that inserts an item into a data structure.

31
New cards

Update (Algorithm Categories)

A category of algorithm that updates an existing item.

32
New cards

Delete (Algorithm Categories)

A category of algorithm that removes an item from a data structure.

33
New cards

Unambiguous (Algorithm Characteristics)

Each step and input/output must lead to one clear meaning.

34
New cards

Input (Algorithm Characteristics)

Defined inputs; 0 or more well-defined inputs.

35
New cards

Output (Algorithm Characteristics)

Well-defined outputs; 1 or more, matching the desired outputs.

36
New cards

Finiteness (Algorithm Characteristics)

Algorithm must terminate after a finite number of steps.

37
New cards

Feasibility (Algorithm Characteristics)

Algorithm should be feasible with available resources.

38
New cards

Independent (Algorithm Characteristics)

Steps should be independent of any particular programming code.

39
New cards

Priori Analysis (Algorithm Analysis)

Theoretical analysis of algorithm efficiency assuming other factors are constant.

40
New cards

Posterior Analysis

Empirical analysis of an algorithm implemented and run on target hardware; measures actual time and space.

41
New cards

Time Factor

Measure of time by counting key operations (e.g., comparisons).

42
New cards

Space Factor

Measure of memory usage by counting maximum memory required.

43
New cards

Space Complexity

Amount of memory required by the algorithm.

44
New cards

Fixed Part (Space)

Space required that is independent of problem size.

45
New cards

Variable Part (Space)

Space required by variables that depends on problem size.

46
New cards

Time Complexity

Amount of time required to run to completion; often denoted as T(n).

47
New cards

T(n)

Notation representing the running time as a function of input size n.

48
New cards

Asymptotic Analysis

Analyzing running time performance for best, average, and worst cases as input size grows.

49
New cards

Best Case

Minimum time required for a program to run.

50
New cards

Average Case

Average time required for a program to run.

51
New cards

Worst Case

Maximum time required for a program to run.

52
New cards

O-Notation (O(n))

Formal notation expressing the upper bound (worst-case) of time complexity.

53
New cards

Omega (Ω(n))

Notation expressing a lower bound (best-case) of time complexity.

54
New cards

Theta (Θ(n))

Notation expressing both upper and lower bounds (average case) of time complexity.

55
New cards

Data Structure Types

Primitive and Non-Primitive

56
New cards

Data Structure Elements

Homogeneous and Heterogeneous

57
New cards

Data Structure Relationship

Linear and Non-Linear

58
New cards

Array

A collection of items of the same type stored in contiguous memory locations.

59
New cards

Array instantiation

int ages1[] = new int[100]; or ages = new int[100];

60
New cards

Array-index-out-of-bounds exception

Attempting to access an array element beyond its defined index range will result in this error

61
New cards

arrayName.length

returns the total number of elements.

62
New cards

Two-Dimensional Array

An array that can be seen as a table with 'x' rows and 'y' columns,

63
New cards

ArrayList

A part of the collection framework in the java.util package that provides a dynamic way of manipulating data.

64
New cards

Dynamic manipulation

The ability of an ArrayList to have its size increase if the collection grows or shrink if objects are removed.

65
New cards

Random access

The ability that ArrayList allows to directly access any element in the list.

66
New cards

Arraylist instantiation

new ArrayList<>(); or new ArrayList<>(Collection c); or new ArrayList<>(int capacity);

67
New cards

Stack

Abstract data type and data structure where elements are added and removed from the top.

68
New cards

LIFO

Last-In, First-Out; the fundamental ordering principle of a stack. The last element added is the first one removed.

69
New cards

push(element)

The operation that adds a new element to the top of the stack.

70
New cards

pop()

The operation that removes and returns the element from the top of the stack.

71
New cards

Infix Expression

An expression where the operator is between every pair of operands (e.g., A + B). It follows the <operand> <operator> <operand> scheme.

72
New cards

Postfix Expression

An expression where the operator follows both of its operands (e.g., A B +). It follows the <operand> <operand> <operator> scheme.