Exam 4 Study Guide Flashcards
(32 cards)
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).
Relational\SQL Operation: From
SQL only
Chooses starting relation\table to query against.
Relational\SQL Operation: Where
SQL only
Chooses criteria\conditions under which to reduce the number of tuples from the relation being returned.
(Almost equivalent to Relational Select)
Relational\SQL Operation: Project
Relational Only
Chooses which columns to return in new relation.
(Almost equivalent to SQL Select)
Commit Point
A point in time at which all updates to a database, or group of records in a database, are guaranteed to have been written to disk, and the journal or log records of that action have also been so committed. Future updates may be undone to that point if necessary.
Data Mining
The process of discovering patterns in large data sets involving methods at the intersection of machine learning, statistics, and database systems.
Locking Protocol
A method of marking items within a database that are currently being used are marked as such.
Two types:
Shared: When the data isn’t being modified
Exclusive: When data is being modified
Garbage Collection
A form of automatic memory management.
The garbage collector, or just collector, attempts to reclaim garbage, or memory occupied by objects that are no longer in use by the program.
Immediate Addressing
Addressing patten where one part of the instruction is always a constant value aka. an “immediate” constant.
So called because the value doesn’t need to be looked up or referenced from another memory location.
Example:
ADD BYTE_VALUE, 65 ; An immediate 65 is added
MOV AX, 45 ; Immediate 45 is transferred to AX
Hash File
Hashing is an efficient technique to directly search the location of desired data on the disk without using index structure.
Data is stored at the data blocks whose address is generated by using hash function. The memory location where these records are stored is called as data block or data bucket.
Image:
https://media.geeksforgeeks.org/wp-content/uploads/Screenshot_2017-12-15-11-40-27-852com.miui.gallery.png