Data Structure and Algorithm - Updated

Réussis tes devoirs et examens dès maintenant avec Quizwiz!

Singly Linked List

A data structure in which a list of nodes or elements of a data structure connected by pointers. A singly linked list has one pointer in each node pointing to the next node in the list.

Queue

A data structure with first-in first-out behavior, supporting the operations enqueue (to insert) and dequeue (to remove)

merge sort

A sort algorithm that splits the items to be sorted into two groups, recursively sorts each group, and merges them into a final, sorted sequence.

Tree Traversal

A technique for processing the nodes

Recursion

An algorithmic technique where a function, in order to accomplish a task, calls itself with some part of the task.

Quicksort

An in-place sort algorithm that uses the divide and conquer paradigm. It picks an element from the array (the pivot), partitions the remaining elements into those greater than and less than this pivot, and recursively sorts the partitions

Heap

A complete tree where every node has a key more extreme (greater or less) than or equal to the key of its parent. Usually understood to be a binary heap. Good for: priority queues

Algorithm

A computable set of steps to achieve a desired result.

Linked List

A data structure in which a list of nodes or elements of a data structure connected by pointers. A singly linked list has one pointer in each node pointing to the next node in the list; a doubly linked list has two pointers in each node pointing to the next and previous nodes. In a circular list, the first and last nodes of the list are linked together.

Symbol table

A data structure where symbol names and associated data are stored during parsing to allow for recognition and use of existing information in repeated uses of a symbol.

Binary Search Tree

A data structure with in which every node refers to a left subtree and a right subtree such that all values in the left subtree are smaller than the value in the node and all elements in the right subtree are greater than (or equal to) the value in the node. The top node is called the root. The nodes with no children (left and right subtrees empty) are called leaves.

Stack

A data structure with last-in first-out behavior, supporting the operations push (to insert) and pop (to remove)

Hash Table

A dictionary in which keys are mapped to array positions by a hash function. Having more than one key map to the same position is called a collision. There are many ways to resolve collisions, but they may be divided into open addressing, in which all elements are kept within the table, and chaining, in which additional data structures are used.

Network

A set of computers that can intercommunicate. *Think of network as a house with a bunch of doors to different applications.

Linear Search

A simple, though inefficient, search algorithm that operates by sequentially examining each element in a list until the target element is found or the last has been completely processed. Linear searches are primarily used only with very short lists. Also called sequential search.

Selection Sort

A sort algorithm that repeatedly looks through remaining items to find the least one and moving it to its final location. The run time is (n2), where n is the number of comparisons. The number of swaps is O(n).

Binary Tree

A specific type of tree data structure in which each node has at most two subtrees, one left and one right. Binary trees are often used for sorting information; each node of the binary search tree contains a key, with values less than that key added to left subtree and values greater than that key added to the right subtree.

Node

A unit of reference in a data structure. Also called a vertex in graphs and trees. (2) A collection of information which must be kept at a single memory location.

Sort

Arrange items in a predetermined order. There are dozens of algorithms, the choice of which depends on factors such as the number of items relative to working memory, knowledge of the orderliness of the items or the range of the keys, the cost of comparing keys vs. the cost of moving items, etc.

Array

In programming, a list of data values, all of the same type, any element of which can be referenced by an expression consisting of the array name followed by an indexing expression. Arrays are part of the fundamentals of data structures, which, in turn, are a major fundamental of computer programming

Data Structure

The term data structure refers to the way data is organized for use within a program. Correct organization of data can lead to simpler and more efficient algorithms. Common data structures are linked-lists, stacks, queues and trees.

LIFO

Last in first out is a policy that the most recently arrived item is processed first. A STACK implements this.

FIFO

First in first out is a policy that items are processed in order of arrival. A QUEUE implements this.

Infix Notation

Notation in which the operator separates its operands. E.g. (a + b) * c. Infix notation requires the use of brackets to specify the order of evaluation, unlike either prefix or postfix notations.

Prefix Notation

Polish Notation Notation in which the operator comes before its operands. E.g. a + b represented as +ab.

Level-order Traversal

Process all nodes of a tree by depth: first the root, then the children of the root, etc.

Postorder Traversal

Process all nodes of a tree by recursively processing the left subtree, then processing the right subtree, and finally the root.

In-order Traversal

Process all nodes of a tree by recursively processing the left subtree, then processing the root, and finally the right subtree.

Postfix Notation

Reverse Polish Notation or Suffix Notation Notation in which the operator follows its operands. E.g. a + b * c represented as abc*+.

Insertion Sort

Sort by repeatedly taking the next item and inserting it into the final data structure in its proper order with respect to items already inserted.

Start symbol

The nonterminal symbol that stands for a complete valid utterance in the language being parsed. The start symbol is usually listed as the first nonterminal symbol in a language specification.


Ensembles d'études connexes

Human relationships IB Psychology extension

View Set

Chapter 18 - Employment Discrimination

View Set

Medical Terminology - Chapter 4 - Musculoskeletal System

View Set

NR 304 Exam 2 practice questions

View Set

Chapter 3: Health Education and Health Promotion

View Set

Interpersonal Communication: chapter 9 Orton

View Set

width, length and depth of product mix

View Set

BIBL 104-Quiz: The Old Testament Books of Prophecy

View Set

Chapter 17 Scale To Larger Networks

View Set