Exam 4 Study Guide Flashcards

1
Q

Pointer

A

Object that stores the memory address of another value located in computer memory.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

List

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Stack

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Queue

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Array

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Abstraction

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Tree

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

User-Defined Data Type

A

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)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Abstract Data Type

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Lined Structure

A

Blah

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Top

A

The element on the top of a Stack.

The element to be popped or removed next.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Root

A

The base element of a Tree.

All other elements of the tree are subtrees of the root.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Relation

A

Equivalent to a “table” in a Database.

Represents the abstract concept of table.

A set of tuples.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Database Model

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Schema

A

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).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Relational\SQL Operation: From

A

SQL only

Chooses starting relation\table to query against.

17
Q

Relational\SQL Operation: Where

A

SQL only

Chooses criteria\conditions under which to reduce the number of tuples from the relation being returned.

(Almost equivalent to Relational Select)

18
Q

Relational\SQL Operation: Project

A

Relational Only

Chooses which columns to return in new relation.

(Almost equivalent to SQL Select)

19
Q

Commit Point

A

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.

20
Q

Data Mining

A

The process of discovering patterns in large data sets involving methods at the intersection of machine learning, statistics, and database systems.

21
Q

Locking Protocol

A

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

22
Q

Garbage Collection

A

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.

23
Q

Immediate Addressing

A

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

24
Q

Hash File

A

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

25
Q

Clustering

A

In cluster file organization, two or more related tables/records are stored withing same file known as clusters. These files will have two or more tables in the same data block and the key attributes which are used to map these table together are stored only once.

Thus it lowers the cost of searching and retrieving various records in different files as they are now combined and kept in a single cluster.

26
Q

Sequential File

A

A method of storing data in files.

In this method the file are stored one after another in a sequential manner. There are two ways to implement this method (like an array).

27
Q

Index

A

A data structure that improves the speed of data retrieval operations on a database table at the cost of additional writes and storage space to maintain the index data structure.

Indexes are used to quickly locate data without having to search every row in a database table every time a database table is accessed.

28
Q

Key Field

A

An attribute\column that holds unique data which identifies that tuple\row from all the other tuples\rows in the relation\table.

Account number, product code and customer name are typical key fields.

29
Q

Indirect Addressing

A

Indirect addressing is generally used for variables containing several elements like, arrays. Starting address of the array is stored in a register, and is modified to move to the next element.

Example:

MY_TABLE TIMES 10 DW 0 ; Allocates 10 words (2 bytes) each initialized to 0
MOV EBX, [MY_TABLE] ; Effective Address of MY_TABLE in EBX
MOV [EBX], 110 ; MY_TABLE[0] = 110
ADD EBX, 2 ; EBX = EBX +2 (2 bytes per entry)
MOV [EBX], 123 ; MY_TABLE[1] = 123

30
Q

Row Major Order

A

Method for storing multidimensional arrays in linear storage such as random access memory.

Order follows the elements in the x or horizontal direction before going to the next row.

Image:

https://upload.wikimedia.org/wikipedia/commons/thumb/4/4d/Row_and_column_major_order.svg/640px-Row_and_column_major_order.svg.png?1575933656582

31
Q

Column Major Order

A

Method for storing multidimensional arrays in linear storage such as random access memory.

Order follows the elements in the y or vertical direction before going to the next column.

Image:

https://upload.wikimedia.org/wikipedia/commons/thumb/4/4d/Row_and_column_major_order.svg/640px-Row_and_column_major_order.svg.png?1575933656582

32
Q

Indirect Addressing

A

Indirect addressing is generally used for variables containing several elements like, arrays. Starting address of the array is stored in a register, and is modified to move to the next element.

Example:

MY_TABLE TIMES 10 DW 0 ; Allocates 10 words (2 bytes) each initialized to 0
MOV EBX, [MY_TABLE] ; Effective Address of MY_TABLE in EBX
MOV [EBX], 110 ; MY_TABLE[0] = 110
ADD EBX, 2 ; EBX = EBX +2 (2 bytes per entry)
MOV [EBX], 123 ; MY_TABLE[1] = 12