Data Structures and Algorithms Review

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/54

flashcard set

Earn XP

Description and Tags

Practice flashcards covering fundamental concepts in data structures and algorithms.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

55 Terms

1
New cards

A specialized format for organizing, processing, retrieving, and storing data.

Data Structure

2
New cards

A kind of data structure that has homogeneous elements arranged in a linear sequence.

Linear Data Structure

3
New cards

A sequence of finite items of the same data type stored contiguously in memory.

Array

4
New cards

A sequence of nodes, each containing data and links (pointers) to the next node.

Linked List

5
New cards

A linked list where each node, except the last, contains a single pointer to the next element.

Singly Linked List

6
New cards

A linked list where every node, except the first and last, contains pointers to both its successor and predecessor.

Doubly Linked List

7
New cards

A linear data structure that follows a LIFO (Last In, First Out) order.

Stack

8
New cards

A stack operation that adds an element on top of the stack.

Push

9
New cards

A stack operation that removes an element from the top of the stack.

Pop

10
New cards

An operation to get the top data element of the stack without removing it.

Peek

11
New cards

A method to check if the stack is full.

isFull

12
New cards

A method to check if the stack is empty.

isEmpty

13
New cards

A mathematical notation in which every operator follows all of its operands.

Reverse Polish Notation (RPN)

14
New cards

Also known as Polish Notation; the operation symbol is written first followed by operands.

Prefix Notation

15
New cards

Also known as Suffix or Reverse Polish Notation; operands are written first, followed by the operation symbol.

Postfix Notation

16
New cards

A notation where the operation symbol is written between the operands.

Suffix Notation

17
New cards

A data structure where adding an item is done at the rear and deleting at the front, following FIFO (First In, First Out).

Queue

18
New cards

An operation to add an element to a queue.

Enqueue

19
New cards

An operation to remove an element from a queue.

Dequeue

20
New cards

Data structures that do not organize data sequentially.

Non-linear Data Structure

21
New cards

A data structure with several levels arranged in a tree-like form.

Hierarchical Data Structure

22
New cards

A connected acyclic graph, where the number of edges is always one less than the number of vertices.

Tree

23
New cards

A tree data structure in which each node has at most two children.

Binary Tree

24
New cards

A binary tree where each node contains elements lesser on the left and greater on the right.

Binary Search Tree

25
New cards

A binary search tree with a balance factor that ensures the height difference between left and right subtrees is not more than one.

AVL Tree

26
New cards

An almost complete tree that follows the heap property with parent nodes located in a specific order.

Heap Tree

27
New cards

A self-balancing tree that maintains sorted data for efficient searching, inserting, and deleting.

B-Tree

28
New cards

The method of converting string data into a shorter fixed-length key.

Hashing

29
New cards

A graph where edges have a direction.

Directed Graph

30
New cards

A graph where edges have no direction.

Undirected Graph

31
New cards

A graph where every node is connected to every other node.

Complete Graph

32
New cards

A graph with many edges relative to the number of nodes.

Dense Graph

33
New cards

A graph with few edges compared to its number of nodes.

Sparse Graph

34
New cards

A graph where edges have weights representing costs or distances.

Weighted Graph

35
New cards

A sequence of unambiguous instructions for solving a problem.

Algorithm

36
New cards

The procedure involving understanding, assessing capabilities, and selecting appropriate methods.

Steps in Problem Solving

37
New cards

A design technique involving exhaustive searching through all options.

Brute Force

38
New cards

An algorithm design paradigm that builds a solution piece by piece, choosing the next piece that offers the most immediate benefit.

Greedy Method

39
New cards

A technique that breaks a problem into smaller subproblems, solves each subproblem recursively, and combines their solutions.

Divide and Conquer

40
New cards

An optimization technique that solves complex problems by breaking them down into simpler subproblems.

Dynamic Programming

41
New cards

An algorithm design approach that incrementally builds candidates to the solutions and abandons a candidate as soon as it is determined not to be a valid solution.

Backtracking

42
New cards

A method for optimizing a linear objective function, subject to linear equality and inequality constraints.

Linear Programming

43
New cards

A method of specifying algorithms using structured text.

Pseudocode

44
New cards

A visual representation of steps in an algorithm.

Flowcharts

45
New cards

The property of an algorithm that ensures it will terminate after a finite number of steps.

Finiteness

46
New cards

The property of an algorithm that each step is rigorously and unambiguously specified.

Definiteness

47
New cards

The characteristic of each step in an algorithm being basic and essential.

Effectiveness

48
New cards

The process of rearranging items in a list in a specific order.

Sorting

49
New cards

The problem of finding a specific value within a set.

Searching

50
New cards

Managing sequences of characters, including searching and sorting operations.

String Processing

51
New cards

The process of searching for a substring within a larger string.

String Matching

52
New cards

Problems related to the analysis and manipulation of graph structures.

Graph Problems

53
New cards

Problems that involve finding arrangements or selections from a set.

Combinatorial Problems

54
New cards

Problems that involve geometric entities like points or lines.

Geometric Problems

55
New cards

Problems involving mathematical objects that require continuous calculations.

Numerical Problems