Search for notes by fellow students, in your own course and all over the country.

Browse our notes for titles which look like what you need, you can preview any of the notes via a sample of the contents. After you're happy these are the notes you're after simply pop them into your shopping cart.

My Basket

You have nothing in your shopping cart yet.

Title: Data Structures
Description: Data Structures

Document Preview

Extracts from the notes are below, to see the PDF you'll receive please use the links above


Data Structures Easy to Advanced Course - Full Tutorial
from a Google Engineer
Constant time algorithms have a runtime that does not depend on the input
size
...
The binary search algorithm is an example of an algorithm with
logarithmic time complexity
...
Arrays are
fixed-length containers with indexable elements, usually ranging from 0 to n1
...
Arrays can be
searched, but it may take up to linear time to traverse all elements
...
\n\nThe text
concludes by explaining the basic structure of an array, the common
operations that can be performed on them, and some complexity analysis
...

I am explaining how to create a dynamic array using a stack with an initial
capacity of 90
...
If an element exceeds
the capacity of the internal static array, the array size is doubled, and all
elements are copied into the new array, along with the new element
...
The Add method resizes the array when the length plus one is
greater than or equal to the capacity
...
An iterator is also included to iterate over the
array, and a to string method provides a string representation of the array
...

Linked lists are sequential lists of nodes that hold data, which point to other
nodes also containing data
...
Linked lists can also be used to

model real-world objects such as a line of train carts
...
There
are two types of linked lists, singly linked and doubly linked
...
The pros and cons of using singly and
doubly linked lists are discussed, including the fact that singly linked lists use
less memory but cannot access previous elements, while doubly linked lists
can access previous elements but use more memory
...
Inserting
and removing elements involve seeking to the position in the list and
changing the appropriate pointers
...
Searching for
an element in a linked list takes linear time in the worst case
...
The article also includes
source code for a doubly linked list implementation in Java
...
To
remove an arbitrary node, the adjacent pointers are adjusted to skip over the
node, and memory cleanup is performed
...
The text
then introduces stacks as a data structure that models real-world stacks, where
elements are added and removed from the top
...
Stacks have constant time complexity
for pushing, popping, and peeking, but linear time complexity for searching
...
The solution
involves using a stack to keep track of left brackets and checking if right
brackets match the top element of the stack
Title: Data Structures
Description: Data Structures