PRELIM-LESSON 1 Flashcards

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
Q

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.

A

worst case

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

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.

A

average case

25
Q

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

A

best case

26
Q

are values or set of values

A

data

27
Q

refers to single unit of values

A

data item

28
Q

data items that cannot be divided into sub item are called as

A

group items

29
Q

data items that cannot be divided are called as

A

elementary items

30
Q

−An entity is that which contains certain attributes or
properties, which may be assigned values

A

attribute and entity

31
Q

Entities of similar attributes form an

A

entity set

32
Q

single elementary unit of information representing an attribute of
an entity.

A

field

33
Q

collection of field values of a given entity.

A

record

34
Q

collection of records of the entities in a given entity set

A

file

35
Q

8 common data structures concepts

A

array
linked lists
stacks
queues
hash tables
trees
heaps
graphs

36
Q

specialized means of organizing and storing
data in computers in such a way that we can perform operations on
the stored data more efficiently.

A

data structures

37
Q

have a wide and
diverse scope of usage across the fields of Computer Science and
Software Engineering.

A

data structures

38
Q

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

A

array

39
Q

Used as the building blocks to build other data structures such as array lists,
heaps, hash tables, vectors and matrices.

A

applications of array

40
Q

Used for different sorting algorithms such as insertion sort, quick sort,
bubble sort and merge sort.

A

application of arrays

41
Q

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.

A

linked lists

42
Q

Used for symbol table management in compiler design.

A

applications of linked lists

43
Q

Used in switching between programs using Alt + Tab (implemented using Circular
Linked List).

A

applications of linked lists

44
Q

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

A

stacks

45
Q

Used for expression evaluation (e.g.: shunting-yard algorithm for parsing and
evaluating mathematical expressions).

A

applications of stacks

46
Q

Used to implement function calls in recursion programming

A

applications of stacks

47
Q

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.

A

queues

48
Q

use to manage threads in multithreading

A

applications of queues

49
Q

Used to implement queuing systems (e.g.: priority queues).

A

applications of queues

50
Q

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.

A

hash table

51
Q

Used to implement database indexes.
* Used to implement associative arrays.
* Used to implement the “set” data structure.

A

applications of hash tables

52
Q

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.

A

trees

53
Q

application of trees

A

binary trees
binary search tree
heaps
treaps

54
Q

Used to implement expression parsers and expression solvers

A

binary trees

54
Q

used in many search applications where data are constantly
entering and leaving.

A

binary search tree

55
Q

used by JVM (Java Virtual Machine) to store Java objects.

A

heaps

56
Q

used in wireless networking

A

treaps

57
Q

is a special case of a binary tree where the parent nodes are
compared to their children with their values and are arranged accordingly

A

heaps

58
Q

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

applications of heaps

59
Q

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.

A

graphs

60
Q
A