COMS1017A Vocabulary 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/33

flashcard set

Earn XP

Description and Tags

Vocabulary practice flashcards covering core concepts of C++, Algorithm Analysis, Searching, Sorting, Arrays, Vectors, and Linked Lists.

Last updated 12:26 PM on 9/11/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

34 Terms

1
New cards

Algorithm Analysis

The practice of evaluating the resource requirements of an algorithm, measured primarily in runtime (time complexity) and memory usage (space complexity).

2
New cards

Asymptotic Complexity

The evaluation of an algorithm's runtime or space growth as the input size nn becomes very large (n→∞n \rightarrow \infty).

3
New cards

Big-O Notation (OO)

A mathematical notation representing an asymptotic upper bound on the time or space complexity of an algorithm.

4
New cards

Big-Omega Notation (Ω\Omega)

A mathematical notation representing an asymptotic lower bound on the time or space complexity of an algorithm.

5
New cards

Big-Theta Notation (Θ\Theta)

A mathematical notation representing a tight asymptotic bound on an algorithm, bounding its complexity both above and below.

6
New cards

Abstract Data Type (ADT)

A specification of a data structure that defines its interface and supported operations without dictating how the data is stored in memory.

7
New cards

g++

The GNU C++ compiler used to compile and link C++ source files into executable programs from the command line.

8
New cards

Makefile

A text file containing instructions for the make build automation tool to compile and link multi-file software projects.

9
New cards

std::endl

A standard C++ stream manipulator that inserts a newline character into the output stream and flushes the output buffer.

10
New cards
<p>Pointer</p>

Pointer

A variable that stores the memory address of another object or variable.

11
New cards

Dereference Operator (∗*)

An operator used with a pointer to access or modify the value stored at the memory address to which the pointer points.

12
New cards

Reference

An alias to an existing variable in C++ that must be initialized when declared and cannot be changed to refer to another object or set to nullptr.

13
New cards

Stack (Call Stack)

An automatically managed area of memory that stores stack frames for function calls, local variables, and execution context.

14
New cards

Heap (FreeStore)

A region of memory used for dynamic memory allocation at runtime via the new operator, requiring explicit deallocation using delete or delete[].

15
New cards

Segmentation Fault

A program crash caused by attempting to access memory outside the program's permitted memory segment, such as dereferencing an uninitialized pointer or nullptr.

16
New cards

std::string_view

A lightweight, non-owning reference to a string or character array introduced in C++17 that allows efficient read-only access without copying.

17
New cards
<p>Class</p>

Class

A user-defined type in C++ that encapsulates member variables and member functions into a single logical structure.

18
New cards

Linear Search

A searching algorithm that inspects each element in a container sequentially from index 00 to n−1n - 1, running in O(1)O(1) best-case and O(n)O(n) worst-case time.

19
New cards

Binary Search

An efficient search algorithm for sorted containers that repeatedly divides the search range in half, running in O(1)O(1) best-case and O(log⁡(n))O(\log(n)) worst-case time.

20
New cards
<p>Insertion Sort</p>

Insertion Sort

A sorting algorithm that builds a sorted array section one element at a time by repeatedly shifting elements to insert each unsorted key into its correct position.

21
New cards
<p>Selection Sort</p>

Selection Sort

An in-place sorting algorithm that repeatedly finds the smallest element in the unsorted section and swaps it with the first unsorted element, operating in O(n2)O(n^2) time across all cases.

22
New cards
<p>Bubble Sort</p>

Bubble Sort

A simple sorting algorithm that repeatedly steps through a list, compares adjacent elements, and swaps them if they are out of order, bubbling the largest value to the end each pass.

23
New cards
<p>Contiguous Memory</p>

Contiguous Memory

A memory arrangement where all allocated bytes or elements are stored in adjacent, consecutive memory addresses.

24
New cards

Pointer Arithmetic

The computation of element addresses in contiguous memory by adding an index offset multiplied by the data type size to a base pointer address.

25
New cards
<p>std::vector</p>

std::vector

A dynamic array container in the C++ Standard Template Library stored on the heap that manages item count, buffer capacity, and automatically resizes when full.

26
New cards

std::array

A fixed-size sequence container in C++ allocated on the stack whose size must be known at compile-time.

27
New cards

Amortized Constant Time

The average time per operation over a sequence of nn operations, ensuring that rare expensive steps (like array doubling) do not alter the overall O(1)O(1) average complexity.

28
New cards
<p>Link (Node)</p>

Link (Node)

A node structure in a linked list containing a data value and a pointer to the next node in the sequence.

29
New cards
<p>Singly Linked List</p>

Singly Linked List

A linear dynamic data structure made up of heap-allocated nodes connected unidirectionally via next pointers.

30
New cards

Doubly Linked List

A linked list structure where each node stores pointers to both its next node and its previous node, enabling bidirectional traversal.

31
New cards

Circularly Linked List

A linked list variation where the next pointer of the final node points back to the first node instead of holding nullptr.

32
New cards

Iterator

A pointer-like object in C++ providing dereference (∗*) and increment (++++) operators to enable uniform traversal across container elements.

33
New cards

Spatial Locality

The principle that accessing a specific memory address makes adjacent memory addresses likely to be accessed soon, improving CPU cache performance.

34
New cards

Temporal Locality

The principle that a memory location accessed once is likely to be accessed again in the near future, allowing fast retrieval from CPU cache memory.