Exam 4 Study Guide Flashcards
Pointer
Object that stores the memory address of another value located in computer memory.
List
A collection of abstract data nodes that contain the data for that node, and a pointer to the next node in the list.
Only allows sequential data access (due to the need to traverse through the pointers in each node in the list)
See this image for an example:
https://upload.wikimedia.org/wikipedia/commons/3/37/Singly_linked_list.png?1575932824352
Stack
An abstract data type that serves as a collection of elements. Only allowed to perform two functions:
“push”, which adds an element to the top of the collection collection
“pop”, which removes the most recently added element that was not yet removed.
Follows “LIFO” model: Last In, First Out
Image:
https://upload.wikimedia.org/wikipedia/commons/b/b4/Lifo_stack.png?1575933352791
Queue
An abstract data type that serves as a collection of elements. Only allowed to perform two functions:
“enqueue”, which adds an element to the back of the collection
“dequeue”, which removes an element from the front of the collection
Follows “FIFO” model: First In, First Out
Image:
https://upload.wikimedia.org/wikipedia/commons/thumb/5/52/Data_Queue.svg/640px-Data_Queue.svg.png?1575933310092
Array
A collection of elements.
Can be multi-dimensional to have 2D or 3D arrays of data.
Allows for direct or sequential data access (because the memory for an array is in one single block).
Image:
https://cdn.hswstatic.com/gif/c-array.gif
Abstraction
The method of obscuring the actual memory structure of a given object like a List\Tree\Stack from the user or programmer.
This is done because memory isn’t organized like a tree or list, it’s linear or contiguous and thus creating these simulated objects involves obscuring or abstracting the memory from the programmer.
Tree
A widely used abstract data type (ADT) that simulates a hierarchical tree structure, with a root value and subtrees of children with a parent node, represented as a set of linked nodes.
Image:
https://upload.wikimedia.org/wikipedia/commons/thumb/5/5f/Tree_%28computer_science%29.svg/320px-Tree_%28computer_science%29.svg.png?1575940493053
User-Defined Data Type
A data type that derived from an existing data type given a name.
Example:
Struct (a collection of variables)
Enumeration (a pre-defined list of values with idenifiers)
Abstract Data Type
Abstract Data type (ADT) is a type (or class) for objects whose behaviour is defined by a set of value and a set of operations.
Example:
List
Stack
Queue
Tree
Lined Structure
Blah
Top
The element on the top of a Stack.
The element to be popped or removed next.
Root
The base element of a Tree.
All other elements of the tree are subtrees of the root.
Relation
Equivalent to a “table” in a Database.
Represents the abstract concept of table.
A set of tuples.
Database Model
A type of data model that determines the logical structure of a database and fundamentally determines in which manner data can be stored, organized and manipulated.
The most popular example of a database model is the relational model, which uses a table-based format.
Schema
The Database structure described in a formal language supported by the database management system (DBMS).
The term “schema” refers to the organization of data as a blueprint of how the database is constructed (divided into database tables in the case of relational databases).