Data Structures and Algorithms Lecture Practice Flashcards

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

1/44

flashcard set

Earn XP

Description and Tags

Comprehensive practice flashcards covering basic data structures, search and sort algorithms, complexity analysis, and advanced tree and graph concepts as outlined in the SIMATS School of Engineering curriculum.

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

No analytics yet

Send a link to your students to track their progress

45 Terms

1
New cards

Data

Raw facts, figures, or information typically in the form of numbers, text, or multimedia.

2
New cards
3
New cards

Data Object

In computer science and programming, an instance of a data structure used for organizing and storing data efficiently.

4
New cards

Abstract Data Type [ADT]

A type for objects with a well-defined interface that consists of a set of values and operations while hiding implementation details.

5
New cards

Data Structure

A way of organizing and storing data in a computer that defines the relationship between the data and the operations performed on it.

6
New cards

Linear Data Structure

A structure where data elements are arranged sequentially or linearly, such as stacks, arrays, queues, and linked lists.

7
New cards

Non-linear Data Structure

A structure where data elements are not arranged sequentially or linearly, such as trees and graphs, utilizing computer memory efficiently.

8
New cards

Algorithm

A set of steps used to process an input to obtain an expected output.

9
New cards

Time Complexity

A measure of the amount of time an algorithm takes to complete as a function of the input size, commonly expressed using Big O notation, such as O(f(n))O(f(n)).

10
New cards

Space Complexity

A measure of the amount of memory an algorithm uses relative to the input size, including program space and data space.

11
New cards

Primitive Data Structures

Basic data types that classify how data is stored, such as Integer, Float, Character, and Boolean.

12
New cards

Non-Primitive Data Structures

Complex data structures constructed using primitive data types, including arrays, stacks, and linked lists.

13
New cards

Recursion

A programming concept where a function calls itself in its own definition to solve a problem.

14
New cards

Linear Search

A sequential search algorithm that traverses an array from the start until the target element is found; applicable to unsorted lists.

15
New cards

Binary Search

An efficient search algorithm for sorted arrays that uses the Divide and Conquer method by comparing the target to the middle element (mid=low+high2mid = \frac{low + high}{2}).

16
New cards

Singly Linked List (SLL)

A linear data structure consisting of a collection of nodes where each node contains a data field and a single address field pointing to the next node.

17
New cards

Doubly Linked List (DLL)

A collection of nodes connected in two directions where each node contains a data field and two addresses (previous and next node).

18
New cards

Stack

A linear Abstract Data Type (ADT) that follows the Last In First Out (LIFOLIFO) principle, where all insertions and deletions occur at the 'Top' end.

19
New cards

Infix Notation

An arithmetic notation where the operator appears between two operands, such as (op1 operator op2)(op1 \text{ operator } op2) or a+ba + b.

20
New cards

Prefix Notation

Also known as Polish Notation, it is an arithmetic notation where the operator appears before the operands, such as +ab+ab.

21
New cards

Postfix Notation

Also known as Reverse Polish Notation, it is an arithmetic notation where the operator appears after the operands, such as ab+ab+.

22
New cards

Queue

A linear data structure following the First In First Out (FIFOFIFO) principle, with insertion at the 'Rear' (Enqueue) and deletion at the 'Front' (Dequeue).

23
New cards

Circular Queue

A queue where the last node points back to the first node, often referred to as a 'Ring Buffer.'

24
New cards

Priority Queue

A queue where elements are assigned a priority and higher priority elements are processed before lower priority ones.

25
New cards

Binary Tree

A non-linear data structure where each node can have at most two children (Degree Max=2\text{Degree Max} = 2).

26
New cards

Binary Search Tree (BST)

A specific binary tree where for every node, the left subtree contains values less than the root and the right subtree contains values greater than the root.

27
New cards

AVL Tree

A balanced search tree named after Adelson-Valskii and Landis where the Balance Factor (Height of Left Subtree minus Height of Right Subtree) is 1-1, 00, or 11.

28
New cards

TRIE

A special kind of tree used to store dictionaries and strings where nodes with common prefixes share ancestors.

29
New cards

B-Tree

A self-balancing search tree used to reduce the number of disk accesses; an order mm B-Tree can have mm children and m1m-1 key values.

30
New cards

Red-Black Tree

A Binary Search Tree where every node is colored either red or black, with specific properties to maintain balance during insertions.

31
New cards

Splay Tree

A self-adjusting binary search tree where every operation rearranges the tree to place the accessed element at the root.

32
New cards

Hashing

An implementation of hash tables mapping keys into table indices using hash functions to manage data storage and retrieval.

33
New cards

Collision

A situation in hashing when a hash function returns the same hash key or index for more than one record.

34
New cards

Separate Chaining

A collision resolution technique (Open Hashing) that uses linked lists at each index of the hash table.

35
New cards

Open Addressing

A collision resolution technique (Closed Hashing) that tries alternate cells in an array using strategies like Linear Probing, Quadratic Probing, or Double Hashing.

36
New cards

Heap

A tree-based data structure used for priority queues that satisfies either the Max-Heap (parent greater than children) or Min-Heap property.

37
New cards

Merge Sort

A Divide and Conquer sorting algorithm that recursively divides an array into halves, sorts them, and then merges the results with a time complexity of O(n log n)O(n\text{ log }n).

38
New cards

Radix Sort

A non-comparative integer sorting algorithm that sorts data digit-by-digit starting from the least significant digit.

39
New cards

Quick Sort

A Divide and Conquer sorting algorithm that partitions an array into sub-arrays based on a chosen pivot element.

40
New cards

Bubble Sort

An internal sorting algorithm that repeatedly compares and swaps consecutive elements, moving the largest element to the right in each pass.

41
New cards

Topological Sort

A linear ordering of vertices in a Directed Acyclic Graph (DAGDAG) where for every directed edge uvu \rightarrow v, vertex uu appears before vertex vv.

42
New cards

Dijkstra's Algorithm

A single-source shortest path algorithm for weighted graphs used to find the minimum cost from a source vertex to all other vertices.

43
New cards

Minimum Spanning Tree (MST)

A subgraph containing all vertices of a connected weighted graph with the minimum total edge cost and no cycles.

44
New cards

Breadth First Search (BFS)

A graph traversal method that explores nodes layer by layer using a Queue (FIFOFIFO) concept.

45
New cards

Depth First Search (DFS)

A graph traversal method that explores nodes depth-wise (top to bottom) using a Stack (LIFOLIFO) concept.