CPE 212 Homework 3 Review: Data Structures and Software Design

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/39

flashcard set

Earn XP

Description and Tags

Vocabulary flashcards covering object-oriented design concepts, queues, stacks, recursion, and binary search trees from CPE 212 Homework 3.

40 Terms

1
New cards

Object-Oriented Analysis and Design (OOAD)

A software design approach that focuses on objects which combine data and behavior/processes into a single unit.

2
New cards

Traditional Design

A software design approach that keeps the focus on functions and processes, separating the data from procedures.

3
New cards

Use Case Diagrams

Diagrams used in OOAD to outline the system's functionality and the interactions between the users and the system itself.

4
New cards

Gold-Plating

Adding extra, non-requested features to a project; prevented by comparing the completed project against requested requirements and removing extras, or cross-checking feature requirements prior to implementation.

5
New cards

Overloaded Function Identification

The mechanism by which the compiler identifies overloaded functions by examining their number, type, and order of parameters.

6
New cards

Generic Programming

A programming paradigm that keeps code generic, allowing it to be reused elsewhere and facilitating easier code maintenance.

7
New cards

Sequential (Array) List

A list implementation stored in contiguous memory that has fast and efficient random access and a fixed size, but is more difficult to delete or insert items within.

8
New cards

Linked List

A list implementation stored in nodes connected by pointers that has dynamic size and is efficient at inserting new items.

9
New cards

Shallow Copy

A copy operation that copies pointer addresses and shares the same data between variables.

10
New cards

Deep Copy

A copy operation that creates new memory and copies the data into that memory, rendering it completely separate from the original.

11
New cards

Push and Pop

Stack operations governed by LIFO where Push adds items to the top and Pop removes items from the top.

12
New cards

Defensive Code

Programming techniques designed to keep execution within expected bounds, primarily incorporated via exception handling and input validation.

13
New cards

Activation Record (Stack Frame)

A structure that stores parameters, return addresses, saved registers, and function call information.

14
New cards

Infinite Recursion

An unbounded recursive execution that occurs due to: 1. No base case, 2. Skipping past the base case, or 3. Making no progress towards the base case.

15
New cards

Enqueue and Dequeue

Simple queue operations where Enqueue adds elements to the rear and Dequeue removes elements from the front.

16
New cards

Fixed Front Queue

A queue implementation where the front remains at index 00, requiring all other items/elements to shift when an element is removed.

17
New cards

Floating Front Queue

A queue implementation where the front pointer moves forward as elements are removed.

18
New cards

Circular Queue

A reusable queue structure that wraps around, allowing items to be removed from the front and added to the rear within a allocated space as long as it is not full.

19
New cards

Priority Queue Implementations

Two distinct design approaches: faster deletion by sorting during insertion, or faster insertion by sorting during deletion.

20
New cards

Non-linear Data Structure (Tree)

A data structure organized hierarchically rather than sequentially, where a single node can have multiple child nodes.

21
New cards

Root

The top node of a tree.

22
New cards

Parent Node

A node in a tree that has one or more child nodes below it.

23
New cards

Child Node

A node in a tree stemming from a parent node above it.

24
New cards

Subtree

A tree formed by a node and all of its descendants, where that node functions as the root of the subtree.

25
New cards

Leaf Node

A tree node without any children.

26
New cards

Siblings

Nodes in a tree structure that share the same parent node.

27
New cards

Level Node Capacity Calculation

The maximum number of nodes at level NN given by XNX^N, where XX is the number of children per parent (e.g., 2N2^N for binary trees, and 43=644^3 = 64 at level 33 with 44 children per parent).

28
New cards

Minimum Tree Height

A tree calculation expressed as log⁡2(N)=log⁡(N)\log_2(N) = \log(N).

29
New cards

Full Binary Tree

A binary tree in which every node has either 22 children or 00 children.

30
New cards

Complete Binary Tree

A binary tree in which every level is filled except for the last, which fills from left to right.

31
New cards

Degenerate Binary Tree

A binary tree in which every node has only 11 child.

32
New cards

Balanced Binary Tree

An asymmetrical binary tree where the heights of the left and right subtrees differ by at most 11 at each node.

33
New cards

Skewed Binary Tree

A binary tree in which all nodes lean to one side.

34
New cards

Perfect Binary Tree

A binary tree where all nodes have exactly 22 children and all leaves are situated at the same level.

35
New cards

Binary Search Tree (BST)

A tree where the left subtree contains only nodes with keys less than the root's key, the right subtree contains only nodes with keys greater than the root's key, and all subtrees are themselves binary search trees.

36
New cards

Pre-order Traversal

A binary search tree traversal that visits nodes in the order: Root→Left→Right\text{Root} \rightarrow \text{Left} \rightarrow \text{Right}.

37
New cards

In-order Traversal

A binary search tree traversal that visits nodes in the order: Left→Root→Right\text{Left} \rightarrow \text{Root} \rightarrow \text{Right}.

38
New cards

Post-order Traversal

A binary search tree traversal that visits nodes in the order: Left→Right→Root\text{Left} \rightarrow \text{Right} \rightarrow \text{Root}.

39
New cards

BST Search Operation

A procedure starting at the root to check if a node matches the target key; if not, traverses left if smaller or right if larger, repeating until found or searched entirely.

40
New cards

BST Delete Operation

A node deletion procedure: delete directly if a leaf; replace with its child if it has 11 child; or replace with its in-order successor and delete the successor if it has 22 children.