PRELIM-LESSON 1 Flashcards

(63 cards)

1
Q

the programmatic way of storing data so that data can be used efficiently.

A

Data Structures

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

true or false: almost every enterprise application uses various type of structures in one or the other way.

A

true

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

systematic way to organize data in order to use it efficiently

A

data structure

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

true or false: each data structure has an interface

A

interface

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

represent the set of operations that a data structure supports.

A

interface

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

only provides the list of supported operations, type of parameters they can accept and return type these operations.

A

interface

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

provides the internal representation of a data structure

A

Implementation

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

It also provides the definition of the algorithms used in the operations of the data structure.

A

Implementation

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

true or false: data structure are used to implement the physical forms of abstract data types.

A

true

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

true or false: Data structures are a
crucial part of designing efficient software. They also play a
critical role in algorithm design and how those algorithms are
used within computer programs.

A

true

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

examples of how data structures are used:

A

storing data
managing resources and services
data exchange
ordering and sorting
indexing
searching
scalability

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

they use algorithms that are tightly coupled with the data structures-such as lists, queues, and mapping from one set of values to another.

A

software engineers

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

Data structures are used for efficient data persistence, such
as specifying the collection of attributes and corresponding structures used
to store records in a database management system.

A

storing data

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

Core operating system (OS) resources
and services are enabled through the use of data structures such as linked
lists for memory allocation, file directory management and file structure
trees, as well as process scheduling queues.

A

managing resources and services

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

Data structures define the organization of information
shared between applications, such as TCP/IP packets

A

data exchange

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

Data structures such as binary search trees – also known
as an ordered or sorted binary tree – provide efficient methods of sorting objects,
such as character strings used as tags. With data structures such as priority
queues, programmers can manage items organized according to a specific
priority.

A

ordering and sorting

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

Even more sophisticated data structures such as B-trees are used to
index objects, such as those stored in a database.

A

indexing

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

Indexes created using binary search trees, B-trees or hash tables
speed the ability to find a specific sought-after item.

A

searching

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

Big data applications use data structures for allocating and managing
data storage across distributed storage locations, ensuring scalability and
performance. Certain big data programming environments – such as Apache
Spark – provide data structures that mirror the underlying structure of database
records to simplify querying

A

scalability

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

need for data structure

A

data search
processor speed
multiple request

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

Consider an inventory of 1 million(106) items of a store. If the
application is to search an item, it has to search an item in 1 million(106) items
every time slowing down the search. As data grows, search will become
slower.

A

data search

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

although being very high, falls limited if
the data grows to billion records.

A

processor speed

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

As thousands of users can search data simultaneously on
a web server, even the fast server fails while searching the data.

A

multiple requests

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

execution time cases

A

worst case
average case
best case

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
This is the scenario where a particular data structure operation takes maximum time it can take. If an operation's worst case time is ƒ(n) then this operation will not take more than ƒ(n) time where ƒ(n) represents function of n.
worst case
24
This is the scenario depicting the average execution time of an operation of a data structure. If an operation takes ƒ(n) time in execution, then m operations will take mƒ(n) time.
average case
25
This is the scenario depicting the least possible execution time of an operation of a data structure. If an operation takes ƒ(n) time in execution, then the actual operation may take time as the random number which would be maximum as ƒ(n).
best case
26
are values or set of values
data
27
refers to single unit of values
data item
28
data items that cannot be divided into sub item are called as
group items
29
data items that cannot be divided are called as
elementary items
30
−An entity is that which contains certain attributes or properties, which may be assigned values
attribute and entity
31
Entities of similar attributes form an
entity set
32
single elementary unit of information representing an attribute of an entity.
field
33
collection of field values of a given entity.
record
34
collection of records of the entities in a given entity set
file
35
8 common data structures concepts
array linked lists stacks queues hash tables trees heaps graphs
36
specialized means of organizing and storing data in computers in such a way that we can perform operations on the stored data more efficiently.
data structures
37
have a wide and diverse scope of usage across the fields of Computer Science and Software Engineering.
data structures
38
a structure of fixed-size, which can hold items of the same data type. It can be an array of integers, an array of floating-point numbers, an array of strings or even an array of arrays (such as 2-dimensional arrays). Arrays are indexed, meaning that random access is possible
array
39
Used as the building blocks to build other data structures such as array lists, heaps, hash tables, vectors and matrices.
applications of array
40
Used for different sorting algorithms such as insertion sort, quick sort, bubble sort and merge sort.
application of arrays
41
sequential structure that consists of a sequence of items in linear order which are linked to each other. Hence, you have to access data sequentially and random access is not possible. Linked lists provide a simple and flexible representation of dynamic sets.
linked lists
42
Used for symbol table management in compiler design.
applications of linked lists
43
Used in switching between programs using Alt + Tab (implemented using Circular Linked List).
applications of linked lists
44
(Last In First Out — the element placed at last can be accessed at first) structure which can be commonly found in many programming languages. This structure is named as “stack” because it resembles a real-world stack — a stack of plates.
stacks
45
Used for expression evaluation (e.g.: shunting-yard algorithm for parsing and evaluating mathematical expressions).
applications of stacks
46
Used to implement function calls in recursion programming
applications of stacks
47
FIFO (First In First Out — the element placed at first can be accessed at first) structure which can be commonly found in many programming languages. This structure is named as “queue” because it resembles a real-world queue — people waiting in a queue.
queues
48
use to manage threads in multithreading
applications of queues
49
Used to implement queuing systems (e.g.: priority queues).
applications of queues
50
data structure that stores values which have keys associated with each of them. Furthermore, it supports lookup efficiently if we know the key associated with the value. Hence it is very efficient in inserting and searching, irrespective of the size of the data.
hash table
51
Used to implement database indexes. * Used to implement associative arrays. * Used to implement the “set” data structure.
applications of hash tables
52
a hierarchical structure where data is organized hierarchically and are linked together. This structure is different from a linked list whereas, in a linked list, items are linked in a linear order.
trees
53
application of trees
binary trees binary search tree heaps treaps
54
Used to implement expression parsers and expression solvers
binary trees
54
used in many search applications where data are constantly entering and leaving.
binary search tree
55
used by JVM (Java Virtual Machine) to store Java objects.
heaps
56
used in wireless networking
treaps
57
is a special case of a binary tree where the parent nodes are compared to their children with their values and are arranged accordingly
heaps
58
Used in heapsort algorithm. * Used to implement priority queues as the priority values can be ordered according to the heap property where the heap can be implemented using an array. * Queue functions can be implemented using heaps within O(log n) time. * Used to find thekᵗʰsmallest (or largest) value in a given array.
applications of heaps
59
consists of a finite set of vertices or nodes and a set of edges connecting these vertices. The order of a graph is the number of vertices in the graph. The size of a graph is the number of edges in the graph.
graphs
60