Written by students who passed Immediately available after payment Read online or as PDF Wrong document? Swap it for free 4.6 TrustPilot
logo-home
Exam (elaborations)

DATA STRUCTURES PRACTICE EXAM QUESTIONS AND ANSWERS

Rating
-
Sold
-
Pages
81
Grade
A+
Uploaded on
31-07-2025
Written in
2024/2025

DATA STRUCTURES PRACTICE EXAM QUESTIONS AND ANSWERS /.(a,b)-tree - Answer-multiway tree data structure. a kind of balanced search tree. An (a,b)-tree has all of its leaves at the same depth, and all internal nodes except for the root have between a and b children, where a and b are integers such that 2 ≤ a ≤ (b+1)/2. The root has, if it is not a leaf, between 2 and b children. /.2-3 heap - Answer-heap data structure. a data structure, a variation on the heap, designed by Tadao Takaoka in 1999. The structure is similar to the Fibonacci heap, and borrows from the 2-3 tree. -Time costs for some common heap operations are: 1) Delete-min takes O(log(n)) amortized time. 2) Decrease-key takes constant amortized time. 3) Insertion takes constant amortized time. /.2-3 tree - Answer-b-tree data structure. a tree data structure, where every node with children (internal node) has either two children (2-node) and one data element or three children (3-nodes) and two data elements. According to Knuth, "a B-tree of order 3 is a 2-3 tree." Nodes on the outside of the tree (leaf nodes) have no children and one or two data elements.[1][2] 2−3 trees were invented by John Hopcroft in 1970 /.2-3-4 tree (also called a 2-4 tree) - Answer-b-tree data structure. a self-balancing data structure that is commonly used to implement dictionaries. -The numbers mean a tree where every node with children (internal node) has either two, three, or four child nodes: 1) a 2-node has one data element, and if internal has two child nodes; 2) a 3-node has two data elements, and if internal has three child nodes; 3) a 4-node has three data elements, and if internal has four child nodes. -2-3-4 trees are B-trees of order 4;[1] like B-trees in general, they can search, insert and delete in O(log n) time. One property of a 2-3-4 tree is that all external nodes are at the same depth. -2-3-4 trees are an isometry of red-black trees, meaning that they are equivalent data structures. In other words, for every 2-3-4 tree, there exists at least one red-black tree with data elements in the same order. Moreover, insertion and deletion operations on 2-3-4 trees that cause node expansions, splits and merges are equivalent to the color-flipping and rotations in red-black trees. Introductions to red-black trees usually introduce 2-3-4 trees first, because they are conceptually simpler. 2-3-4 trees, however, can be difficult to implement in most programming languages because of the large number of special cases involved in operations on the tree. Red-black trees are simpler to implement,[2] so tend to be used instead. /.AA tree* - Answer-binary tree data structure. a form of balanced tree used for storing and retrieving ordered data efficiently. AA trees are named for Arne Andersson, their inventor. -AA trees are a variation of the red-black tree, a form of binary search tree which supports efficient addition and deletion of entries. Unlike red-black trees, red nodes on an AA tree can only be added as a right subchild. In other words, no red node can be a left sub-child. This results in the simulation of a 2-3 tree instead of a 2-3-4 tree, which greatly simplifies the maintenance operations. The maintenance algorithms for a red-black tree need to consider seven different shapes to properly balance the tree (see image in wiki). An AA tree on the other hand only needs to consider two shapes due to the strict requirement that only right links can be red (see image in wiki). -Balancing rotations: -Whereas red-black trees require one bit of balancing metadata per node (the color), AA trees require O(log(N)) bits of metadata per node, in the form of an integer "level". The following invariants hold for AA trees: 1. The level of every leaf node is one. 2. The level of every left child is exactly one less than that of its parent. 3. The level of every right child is equal to or one less than that of its parent. 4. The level of every right grandchild is strictly less than that of its grandparent. 5. Every node of level greater than one has two children. A link where the child's level is equal to that of its parent is called a horizontal link, and is analogous to a red link in the red-black tree. Individual right horizontal links are allowed, but consecutive ones are forbidden; all left horizontal links are forbidden. These are more restrictive constraints than the analogous ones on red-black trees, with the result that re-balancing an AA tree is procedurally mu /.abstract data type (ADT) - Answer-a mathematical model of the data objects that make up a data type as well as the functions that operate on these objects. a data type is defined by its behavior (semantics), specifically in terms of possible values, possible operations on data of this type, and the behavior of these operations. This contrasts with data structures, which are concrete representations of data, and are the point of view of an implementer, not a user. Container List Associative array Multimap Set Multiset Stack Queue Double-ended queue Priority queue Tree Graph /.Abstract syntax tree (AST, or just syntax tree) - Answer-Application-specific tree data structure. a tree representation of the abstract syntactic structure of source code written in a programming language. Each node of the tree denotes a construct occurring in the source code. The syntax is "abstract" in not representing every detail appearing in the real syntax. For instance, grouping parentheses are implicit in the tree structure, and a syntactic construct like an if-condition-then expression may be denoted by means of a single node with three branches. -This distinguishes abstract syntax trees from concrete syntax trees, traditionally designated parse trees, which are often[citation needed] built by a parser during the source code translation and compiling process. Once built, additional information is added to the AST by means of subsequent processing, e.g., contextual analysis. -Abstract syntax trees are also used in program analysis and program transformation systems. /.Adaptive k-d tree - Answer-space partitioning or binary space partitioning data structure. a tree for multidimensional points where successive levels may be split along different dimensions. /.Adjacency list - Answer-Graph data structure. a collection of unordered lists used to represent a finite graph. Each list describes the set of neighbors of a vertex in the graph. This is one of several commonly used representations of graphs for use in computer programs. |Data Structures| For use as a data structure, the main alternative to the adjacency list is the adjacency matrix. Because each entry in the adjacency matrix requires only one bit, it can be represented in a very compact way, occupying only |V|^2/8 bytes of contiguous space, where | V| is the number of vertices of the graph. Besides avoiding wasted space, this compactness encourages locality of reference. -However, for a sparse graph, adjacency lists require less space, because they do not waste any space to represent edges that are not present. Using a naïve array implementation on a 32-bit computer, an adjacency list for an undirected graph requires about 2(32/8)| E| = 8| E| bytes of space, where | E| is the number of edges of the graph. -Noting that an undirected simple graph can have at most | V|^2/2 edges, allowing loops, we can let d = |E|/| V|^2 denote the density of the graph. Then, 8| E | | V |^2/8 when | E|/| V|^2 1/64, that is the adjacency list representation occupies more space than the adjacency matrix representation when d 1/64. Thus a graph must be sparse enough to justify an adjacency list representation. -Besides the space trade-off, the different data structures also facilitate different operations. Finding all vertices adjacent to a given vertex in an adjacency list is as simple as reading the list. With an adjacency matrix, an entire row must instead be scanned, which takes O(| V |) time. Whether there is an edge between two given vertices can be determined at once with an adjacency matrix, while requiring time proportional to the minimum degree of /.Adjacency matrix - Answer-Graph data structure. a square matrix used to represent a finite graph. The elements of the matrix indicate whether pairs of vertices are adjacent or not in the graph. -In the special case of a finite simple graph, the adjacency matrix is a (0,1)-matrix with zeros on its diagonal. If the graph is undirected, the adjacency matrix is symmetric. The relationship between a graph and the eigenvalues and eigenvectors of its adjacency matrix is studied in spectral graph theory. -The adjacency matrix should be distinguished from the incidence matrix (a matrix that shows the relationship between two classes of objects) for a graph, a different matrix representation whose elements indicate whether vertex-edge pairs are incident or not. /.AF-heap - Answer-heap data structure. a type of priority queue for integer data, an extension of the fusion tree using an atomic heap proposed by M. L. Fredman and D. E. Willard.[1] Using an AF-heap, it is possible to perform m insert or decrease-key operations and n delete-min operations on machine-integer keys in time O(m + n log n / log log n). This allows Dijkstra's algorithm to be performed in the same O(m + n log n / log log n) time bound on graphs with n edges and m vertices, and leads to a linear time algorithm for minimum spanning trees, with the assumption for both problems that the edge weights of the input graph are machine integers in the transdichotomous model. /.AList - Answer-b-tree data structure. No article. /.Alternating decision tree (ADTree) - Answer-Application-specific tree data structure. a machine learning method for classification. It generalizes decision trees and has connections to boosting. -An ADTree consists of an alternation of decision nodes, which specify a predicate condition, and prediction nodes, which contain a single number. An instance is classified by an ADTree by following all paths for which all decision nodes are true, and summing any prediction nodes that are traversed. -An alternating decision tree consists of decision nodes and prediction nodes. Decision nodes specify a predicate condition. Prediction nodes contain a single number. ADTrees always have prediction nodes as both root and leaves. An instance is classified by an ADTree by following all paths for which all decision nodes are true and summing any prediction nodes that are traversed. This is different from binary classification trees such as CART (Classification and regression tree) or C4.5 in which an instance follows only one path through the tree. /.And-inverter graph (AIG) - Answer-Graph data structure. a directed, acyclic graph that represents a structural implementation of the logical functionality of a circuit or network. An AIG consists of two-input nodes representing logical conjunction, terminal nodes labeled with variable names, and edges optionally containing markers indicating logical negation. This representation of a logic function is rarely structurally efficient for large circuits, but is an efficient representation for manipulation of boolean functions. Typically, the abstract graph is represented as a data structure in software

Show more Read less
Institution
Course

Content preview

DATA STRUCTURES PRACTICE EXAM QUESTIONS
AND ANSWERS


/.(a,b)-tree - Answer-multiway tree data structure. a kind of balanced search tree. An
(a,b)-tree has all of its leaves at the same depth, and all internal nodes except for the
root have between a and b children, where a and b are integers such that 2 ≤ a ≤
(b+1)/2. The root has, if it is not a leaf, between 2 and b children.

/.2-3 heap - Answer-heap data structure. a data structure, a variation on the heap,
designed by Tadao Takaoka in 1999. The structure is similar to the Fibonacci heap, and
borrows from the 2-3 tree.
-Time costs for some common heap operations are:
1) Delete-min takes O(log(n)) amortized time.
2) Decrease-key takes constant amortized time.
3) Insertion takes constant amortized time.

/.2-3 tree - Answer-b-tree data structure. a tree data structure, where every node with
children (internal node) has either two children (2-node) and one data element or three
children (3-nodes) and two data elements. According to Knuth, "a B-tree of order 3 is a
2-3 tree." Nodes on the outside of the tree (leaf nodes) have no children and one or two
data elements.[1][2] 2−3 trees were invented by John Hopcroft in 1970

/.2-3-4 tree (also called a 2-4 tree) - Answer-b-tree data structure. a self-balancing data
structure that is commonly used to implement dictionaries.
-The numbers mean a tree where every node with children (internal node) has either
two, three, or four child nodes:
1) a 2-node has one data element, and if internal has two child nodes;
2) a 3-node has two data elements, and if internal has three child nodes;
3) a 4-node has three data elements, and if internal has four child nodes.
-2-3-4 trees are B-trees of order 4;[1] like B-trees in general, they can search, insert and
delete in O(log n) time. One property of a 2-3-4 tree is that all external nodes are at the
same depth.
-2-3-4 trees are an isometry of red-black trees, meaning that they are equivalent data
structures. In other words, for every 2-3-4 tree, there exists at least one red-black tree
with data elements in the same order. Moreover, insertion and deletion operations on 2-
3-4 trees that cause node expansions, splits and merges are equivalent to the color-
flipping and rotations in red-black trees. Introductions to red-black trees usually
introduce 2-3-4 trees first, because they are conceptually simpler. 2-3-4 trees, however,
can be difficult to implement in most programming languages because of the large
number of special cases involved in operations on the tree. Red-black trees are simpler
to implement,[2] so tend to be used instead.

,/.AA tree* - Answer-binary tree data structure. a form of balanced tree used for storing
and retrieving ordered data efficiently. AA trees are named for Arne Andersson, their
inventor.
-AA trees are a variation of the red-black tree, a form of binary search tree which
supports efficient addition and deletion of entries. Unlike red-black trees, red nodes on
an AA tree can only be added as a right subchild. In other words, no red node can be a
left sub-child. This results in the simulation of a 2-3 tree instead of a 2-3-4 tree, which
greatly simplifies the maintenance operations. The maintenance algorithms for a red-
black tree need to consider seven different shapes to properly balance the tree (see
image in wiki).
An AA tree on the other hand only needs to consider two shapes due to the strict
requirement that only right links can be red (see image in wiki).
-Balancing rotations:
-Whereas red-black trees require one bit of balancing metadata per node (the color), AA
trees require O(log(N)) bits of metadata per node, in the form of an integer "level". The
following invariants hold for AA trees:
1. The level of every leaf node is one.
2. The level of every left child is exactly one less than that of its parent.
3. The level of every right child is equal to or one less than that of its parent.
4. The level of every right grandchild is strictly less than that of its grandparent.
5. Every node of level greater than one has two children.
A link where the child's level is equal to that of its parent is called a horizontal link, and
is analogous to a red link in the red-black tree. Individual right horizontal links are
allowed, but consecutive ones are forbidden; all left horizontal links are forbidden.
These are more restrictive constraints than the analogous ones on red-black trees, with
the result that re-balancing an AA tree is procedurally mu

/.abstract data type (ADT) - Answer-a mathematical model of the data objects that make
up a data type as well as the functions that operate on these objects. a data type is
defined by its behavior (semantics), specifically in terms of possible values, possible
operations on data of this type, and the behavior of these operations. This contrasts
with data structures, which are concrete representations of data, and are the point of
view of an implementer, not a user.
Container
List
Associative array
Multimap
Set
Multiset
Stack
Queue
Double-ended queue
Priority queue
Tree
Graph

,/.Abstract syntax tree (AST, or just syntax tree) - Answer-Application-specific tree data
structure. a tree representation of the abstract syntactic structure of source code written
in a programming language. Each node of the tree denotes a construct occurring in the
source code. The syntax is "abstract" in not representing every detail appearing in the
real syntax. For instance, grouping parentheses are implicit in the tree structure, and a
syntactic construct like an if-condition-then expression may be denoted by means of a
single node with three branches.
-This distinguishes abstract syntax trees from concrete syntax trees, traditionally
designated parse trees, which are often[citation needed] built by a parser during the
source code translation and compiling process. Once built, additional information is
added to the AST by means of subsequent processing, e.g., contextual analysis.
-Abstract syntax trees are also used in program analysis and program transformation
systems.

/.Adaptive k-d tree - Answer-space partitioning or binary space partitioning data
structure. a tree for multidimensional points where successive levels may be split along
different dimensions.

/.Adjacency list - Answer-Graph data structure. a collection of unordered lists used to
represent a finite graph. Each list describes the set of neighbors of a vertex in the
graph. This is one of several commonly used representations of graphs for use in
computer programs.
|Data Structures|
For use as a data structure, the main alternative to the adjacency list is the adjacency
matrix. Because each entry in the adjacency matrix requires only one bit, it can be
represented in a very compact way, occupying only |V|^2/8 bytes of contiguous space,
where | V| is the number of vertices of the graph. Besides avoiding wasted space, this
compactness encourages locality of reference.
-However, for a sparse graph, adjacency lists require less space, because they do not
waste any space to represent edges that are not present. Using a naïve array
implementation on a 32-bit computer, an adjacency list for an undirected graph requires
about 2(32/8)| E| = 8| E| bytes of space, where | E| is the number of edges of the graph.
-Noting that an undirected simple graph can have at most | V|^2/2 edges, allowing
loops, we can let d = |E|/| V|^2 denote the density of the graph. Then, 8| E | > | V |^2/8
when | E|/| V|^2 > 1/64, that is the adjacency list representation occupies more space
than the adjacency matrix representation when d > 1/64. Thus a graph must be sparse
enough to justify an adjacency list representation.
-Besides the space trade-off, the different data structures also facilitate different
operations. Finding all vertices adjacent to a given vertex in an adjacency list is as
simple as reading the list. With an adjacency matrix, an entire row must instead be
scanned, which takes O(| V |) time. Whether there is an edge between two given
vertices can be determined at once with an adjacency matrix, while requiring time
proportional to the minimum degree of

, /.Adjacency matrix - Answer-Graph data structure. a square matrix used to represent a
finite graph. The elements of the matrix indicate whether pairs of vertices are adjacent
or not in the graph.
-In the special case of a finite simple graph, the adjacency matrix is a (0,1)-matrix with
zeros on its diagonal. If the graph is undirected, the adjacency matrix is symmetric. The
relationship between a graph and the eigenvalues and eigenvectors of its adjacency
matrix is studied in spectral graph theory.
-The adjacency matrix should be distinguished from the incidence matrix (a matrix that
shows the relationship between two classes of objects) for a graph, a different matrix
representation whose elements indicate whether vertex-edge pairs are incident or not.

/.AF-heap - Answer-heap data structure. a type of priority queue for integer data, an
extension of the fusion tree using an atomic heap proposed by M. L. Fredman and D. E.
Willard.[1]

Using an AF-heap, it is possible to perform m insert or decrease-key operations and n
delete-min operations on machine-integer keys in time O(m + n log n / log log n). This
allows Dijkstra's algorithm to be performed in the same O(m + n log n / log log n) time
bound on graphs with n edges and m vertices, and leads to a linear time algorithm for
minimum spanning trees, with the assumption for both problems that the edge weights
of the input graph are machine integers in the transdichotomous model.

/.AList - Answer-b-tree data structure. No article.

/.Alternating decision tree (ADTree) - Answer-Application-specific tree data structure. a
machine learning method for classification. It generalizes decision trees and has
connections to boosting.
-An ADTree consists of an alternation of decision nodes, which specify a predicate
condition, and prediction nodes, which contain a single number. An instance is
classified by an ADTree by following all paths for which all decision nodes are true, and
summing any prediction nodes that are traversed.
-An alternating decision tree consists of decision nodes and prediction nodes. Decision
nodes specify a predicate condition. Prediction nodes contain a single number.
ADTrees always have prediction nodes as both root and leaves. An instance is
classified by an ADTree by following all paths for which all decision nodes are true and
summing any prediction nodes that are traversed. This is different from binary
classification trees such as CART (Classification and regression tree) or C4.5 in which
an instance follows only one path through the tree.

/.And-inverter graph (AIG) - Answer-Graph data structure. a directed, acyclic graph that
represents a structural implementation of the logical functionality of a circuit or network.
An AIG consists of two-input nodes representing logical conjunction, terminal nodes
labeled with variable names, and edges optionally containing markers indicating logical
negation. This representation of a logic function is rarely structurally efficient for large
circuits, but is an efficient representation for manipulation of boolean functions.
Typically, the abstract graph is represented as a data structure in software.

Written for

Course

Document information

Uploaded on
July 31, 2025
Number of pages
81
Written in
2024/2025
Type
Exam (elaborations)
Contains
Questions & answers

Subjects

$20.99
Get access to the full document:

Wrong document? Swap it for free Within 14 days of purchase and before downloading, you can choose a different document. You can simply spend the amount again.
Written by students who passed
Immediately available after payment
Read online or as PDF

Get to know the seller

Seller avatar
Reputation scores are based on the amount of documents a seller has sold for a fee and the reviews they have received for those documents. There are three levels: Bronze, Silver and Gold. The better the reputation, the more your can rely on the quality of the sellers work.
kartelodoc Harvard University
Follow You need to be logged in order to follow users or courses
Sold
143
Member since
1 year
Number of followers
7
Documents
8336
Last sold
4 days ago

Our store offers a wide selection of materials on various subjects and difficulty levels, created by experienced teachers. We specialize on NURSING,WGU,ACLS USMLE,TNCC,PMHNP,ATI and other major courses, Updated Exam, Study Guides and Test banks. If you don't find any document you are looking for in this store contact us and we will fetch it for you in minutes, we love impressing our clients with our quality work and we are very punctual on deadlines. Please go through the sets description appropriately before any purchase and leave a review after purchasing so as to make sure our customers are 100% satisfied. I WISH YOU SUCCESS IN YOUR EDUCATION JOURNEY

Read more Read less
3.3

25 reviews

5
8
4
2
3
8
2
3
1
4

Recently viewed by you

Why students choose Stuvia

Created by fellow students, verified by reviews

Quality you can trust: written by students who passed their tests and reviewed by others who've used these notes.

Didn't get what you expected? Choose another document

No worries! You can instantly pick a different document that better fits what you're looking for.

Pay as you like, start learning right away

No subscription, no commitments. Pay the way you're used to via credit card and download your PDF document instantly.

Student with book image

“Bought, downloaded, and aced it. It really can be that simple.”

Alisha Student

Working on your references?

Create accurate citations in APA, MLA and Harvard with our free citation generator.

Working on your references?

Frequently asked questions