ICS2605: Abstract Data Types & Recursion Key Concepts

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/30

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

31 Terms

1
New cards

Abstract Data Type (ADT)

A data type defined by its data (components, properties, relationships) and operations, independent of implementation.

2
New cards

Data

Information used to represent knowledge about the world.

3
New cards

Operations

Actions that manipulate data to reason about or solve problems.

4
New cards

Stage: Specification

Defines what data and operations are needed, from the user's perspective.

5
New cards

Stage: Implementation

Describes how data and operations are realized in code.

6
New cards

Stage: Application

Use of ADTs to solve real problems.

7
New cards

Characteristics of ADTs

Encapsulation of data + operations, abstraction from implementation, well-defined interfaces.

8
New cards

Primitive Data Structures

Basic data types provided by a programming language (e.g., int, char, float).

9
New cards

Non-Primitive Data Structures

More complex structures built from primitives (e.g., arrays, lists, stacks).

10
New cards

Linear Data Structures

Data organized sequentially (e.g., arrays, linked lists, stacks, queues).

11
New cards

Non-Linear Data Structures

Data organized hierarchically or in networks (e.g., trees, graphs).

12
New cards

Static Data Structures

Fixed memory size, determined at compile time (e.g., arrays).

13
New cards

Dynamic Data Structures

Memory allocated at runtime, can grow or shrink (e.g., linked lists).

14
New cards

Stack

A linear data structure following LIFO (last-in, first-out) order.

15
New cards

Queue

A linear data structure following FIFO (first-in, first-out) order.

16
New cards

Deque

Double-ended queue where insertion/deletion allowed at both ends.

17
New cards

Priority Queue

A queue where each element has a priority, and removal is based on priority.

18
New cards

Linked List

A dynamic linear structure where elements (nodes) contain data and pointers to next nodes.

19
New cards

Tree

A non-linear hierarchical structure with nodes connected by edges; has a single root.

20
New cards

Binary Tree

A tree where each node has at most two children (left and right).

21
New cards

Graph

A non-linear structure of vertices and edges that may be directed or undirected.

22
New cards

ADT Operations: Creation

Build a new instance of a data structure.

23
New cards

ADT Operations: Insertion

Add an element to the structure.

24
New cards

ADT Operations: Deletion

Remove an element.

25
New cards

ADT Operations: Traversal

Access each element systematically.

26
New cards

ADT Operations: Searching

Locate an element.

27
New cards

ADT Operations: Sorting

Arrange elements in order.

28
New cards

Aspects of Good Algorithm

Has input, Has output, Definite, Effective, Finite, Correct, General, Efficient

29
New cards

Iteration

An execution of a loop’s body

30
New cards

Recursion

Solves problems in terms of smaller instances or parts.

31
New cards

Elements of Recursion

Basis: Direct Solution to smallest parts.; 0 is a natural number.

Recursive Step: Solves a big problem in terms of solutions to smaller parts.; n is a natural number if n-1 is a natural number.

Explore top flashcards