Introduction to Data Structures and Algorithms

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

1/51

flashcard set

Earn XP

Description and Tags

Comprehensive flashcards covering introductory data structures, primitive and non-primitive classifications, array representations and operations, algorithm design approaches, control structures, complexity analysis, and recursion types.

Last updated 2:06 PM on 5/29/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

52 Terms

1
New cards

Data

Information that can be interpreted and used by computers, consisting of a collection of facts such as numbers, words, measurements, observations, or descriptions of things.

2
New cards

Data Structures

The well organized collection of data to perform the required operations to generate the desired results, or a storage used to organize data on a computer for efficient access and updating.

3
New cards

Primitive Data Structure

A type of data structure that allows you to store only single data type values and does not allow for NULL values.

4
New cards

Integer

A primitive data type containing numeric whole numbers that can be either negative or positive.

5
New cards

Float

A primitive data type used to hold decimal values; when higher precision is needed, the Double data type is utilized.

6
New cards

Boolean

A data type that can hold either a True or a False value, mainly used for checking conditions.

7
New cards

Character

A primitive data type that holds a single character value, which can be either uppercase or lowercase.

8
New cards

Pointers

Variables used to store the memory address of another variable rather than holding a value itself.

9
New cards

Non-Primitive Data Structure

A data structure defined by the programmer that allows the storage of multiple data type values (homogeneous or heterogeneous) and can store NULL values.

10
New cards

Linear Data Structures

Data structures where data is stored in a sequence (one after another) and preserves a linear connection among its data elements.

11
New cards

Static Data Structures

Data structures with a fixed size where memory is allocated at compiler time and cannot be changed by the user after compilation.

12
New cards

Array

A non-primitive linear data structure which is a collection of data elements of similar data types stored at contiguous memory locations.

13
New cards

Dynamic Data Structures

Data structures where memory is allocated at run time, allowing the size to vary during the execution of the code.

14
New cards

Stack

A non-primitive linear data structure that follows the LIFO (Last In First Out) principle.

15
New cards

LIFO

An acronym for 'Last In First Out', meaning the last element added to the stack is the first one to be removed.

16
New cards

Push Operation

The process of inserting an element into a stack.

17
New cards

Pop Operation

The process of removing an element from a stack.

18
New cards

Queue

A non-primitive linear data structure that follows the 'First in, First out' (FIFO) principle.

19
New cards

FIFO

An acronym for 'First in, First out', where the first element added to the data structure is the first one to be removed.

20
New cards

Linked List

A non-primitive linear data structure where each element, known as a node, is connected to the next using pointers.

21
New cards

Singly Linked List

A linked list where each node contains data and one pointer field containing the address of the next node.

22
New cards

Doubly Linked List

A linked list where each node contains an information field and two pointer fields: one for the address of the previous node and one for the next node.

23
New cards

Circular Linked List

A variation of a linked list where the last node contains the address of the first node, forming a circular loop.

24
New cards

Non-Linear Data Structures

Data structures where data elements are not arranged sequentially and cannot be traversed in a single run.

25
New cards

Trees

A hierarchical non-linear data structure consisting of nodes linked together to form parent-child relationships.

26
New cards

Graph

A non-linear data structure consisting of a definite quantity of vertices (nodes) and edges that show their relationships, without specific rules for connection.

27
New cards

Traversal

The basic operation of accessing each data element in a data structure exactly once so it can be administered.

28
New cards

Sorting

The operation of arranging data elements in either Ascending or Descending order.

29
New cards

Merge

The operation of combining data elements of two sorted lists to form a single list of sorted data elements.

30
New cards

Abstract Data Type (ADT)

A conceptual model that defines a set of operations and behaviors for a data structure without specifying implementation details or memory organization.

31
New cards

Brute Force Approach

A fundamental algorithm design approach that involves trying all possible solutions until the correct one is found.

32
New cards

Divide and Conquer

A design approach that divides a problem into smaller subproblems, solves each subproblem recursively, and combines the results.

33
New cards

Greedy Algorithms

Algorithms that make a series of choices by selecting the best available option at each step to find a global optimum.

34
New cards

Dynamic Programming

A technique that solves problems by breaking them into overlapping subproblems and storing subproblem solutions to avoid redundant calculations.

35
New cards

Backtracking

An algorithmic technique for solving problems incrementally by exploring possibilities and eliminating those that are not viable when a dead end is reached.

36
New cards

Sequential Control Structure

The simplest form of control flow where instructions are executed in a linear sequence one after another.

37
New cards

Selection Control Structure

Structures that make decisions based on conditions; if a condition is true, one set of operations is performed, otherwise another is executed (e.g., If-Else).

38
New cards

Repetition Control Structure

Also known as looping, it allow operations to be repeated multiple times based on a condition (e.g., For Loop, While Loop).

39
New cards

Jump Structures

Structures used to alter the flow of execution, such as Break (exits a loop), Continue (skips an iteration), or Return (exits a function).

40
New cards

Space Complexity

The amount of memory required by an algorithm to solve a given problem as a function of the length of the input.

41
New cards

Time Complexity

The amount of time taken by an algorithm to run as a function of the length of the input.

42
New cards

Address of 1D Array Element (Page 19)

ADDRESS(ARRAY[K])=BASEADDRESS(ARRAY)+WORDLENGTH×(LOWERBOUNDK)\text{ADDRESS}(\text{ARRAY}[K]) = \text{BASEADDRESS}(\text{ARRAY}) + \text{WORDLENGTH} \times (\text{LOWERBOUND} - K)

43
New cards

Address of 1D Array Element (Linear Representation)

LOC(LA[K])=Base(LA)+w×(KLB)\text{LOC}(\text{LA}[K]) = \text{Base}(\text{LA}) + w \times (K - \text{LB})

44
New cards

Row Major Representation Address

ADDRESS(ARRAY[I,J])=BASEADDRESS(ARRAY)+WORDLENGTH×(N×(I1)+(J1))\text{ADDRESS}(\text{ARRAY}[I, J]) = \text{BASEADDRESS}(\text{ARRAY}) + \text{WORDLENGTH} \times (N \times (I - 1) + (J - 1))

45
New cards

Column Major Representation Address

ADDRESS(ARRAY[K])=BASEADDRESS(ARRAY)+WORDLENGTH×(M×(J1)+(I1))\text{ADDRESS}(\text{ARRAY}[K]) = \text{BASEADDRESS}(\text{ARRAY}) + \text{WORDLENGTH} \times (M \times (J - 1) + (I - 1))

46
New cards

Recursion

The process in which a function calls itself directly or indirectly up to n-number of times.

47
New cards

Direct Recursion

A type of recursion where a function calls itself within the same function repeatedly.

48
New cards

Indirect Recursion

When a function is mutually called by another function in a circular manner (e.g., Fun1 calls Fun2 which calls Fun3 which calls Fun1).

49
New cards

Tail Recursion

A recursive function in which the recursive call is the last statement executed by the function.

50
New cards

Non-Tail / Head Recursion

A recursive function where the recursive call is the first statement in the function, and operations are performed during the return time.

51
New cards

Linear Recursion

A recursive function that makes exactly one call to itself each time it runs, growing linearly in proportion to problem size.

52
New cards

Tree Recursion

A recursive function that makes more than one call to itself within the same function.