1.
Computer science
–
Computer science is the study of the theory, experimentation, and engineering that form the basis for the design and use of computers. An alternate, more succinct definition of science is the study of automating algorithmic processes that scale. A computer scientist specializes in the theory of computation and the design of computational systems and its fields can be divided into a variety of theoretical and practical disciplines. Some fields, such as computational complexity theory, are highly abstract, other fields still focus on challenges in implementing computation. Human–computer interaction considers the challenges in making computers and computations useful, usable, the earliest foundations of what would become computer science predate the invention of the modern digital computer. Machines for calculating fixed numerical tasks such as the abacus have existed since antiquity, further, algorithms for performing computations have existed since antiquity, even before the development of sophisticated computing equipment. Wilhelm Schickard designed and constructed the first working mechanical calculator in 1623, in 1673, Gottfried Leibniz demonstrated a digital mechanical calculator, called the Stepped Reckoner. He may be considered the first computer scientist and information theorist, for, among other reasons and he started developing this machine in 1834, and in less than two years, he had sketched out many of the salient features of the modern computer. A crucial step was the adoption of a card system derived from the Jacquard loom making it infinitely programmable. Around 1885, Herman Hollerith invented the tabulator, which used punched cards to process statistical information, when the machine was finished, some hailed it as Babbages dream come true. During the 1940s, as new and more powerful computing machines were developed, as it became clear that computers could be used for more than just mathematical calculations, the field of computer science broadened to study computation in general. Computer science began to be established as an academic discipline in the 1950s. The worlds first computer science program, the Cambridge Diploma in Computer Science. The first computer science program in the United States was formed at Purdue University in 1962. Since practical computers became available, many applications of computing have become distinct areas of study in their own rights and it is the now well-known IBM brand that formed part of the computer science revolution during this time. IBM released the IBM704 and later the IBM709 computers, still, working with the IBM was frustrating if you had misplaced as much as one letter in one instruction, the program would crash, and you would have to start the whole process over again. During the late 1950s, the science discipline was very much in its developmental stages. Time has seen significant improvements in the usability and effectiveness of computing technology, modern society has seen a significant shift in the users of computer technology, from usage only by experts and professionals, to a near-ubiquitous user base

2.
Search tree
–
In computer science, a search tree is a tree data structure used for locating specific keys from within a set. In order for a tree to function as a search tree, the advantage of search trees is their efficient search time given the tree is reasonably balanced, which is to say the leaves at either end are of comparable depths. Various search-tree data structures exist, several of which also allow efficient insertion and deletion of elements, Search trees are often used to implement an associative array. The search tree algorithm uses the key from the pair to find a location. A Binary Search Tree is a data structure where each node contains a key. For all nodes, the left subtrees key must be less than the key. These subtrees must all qualify as binary search trees, the time complexity for searching a binary search tree in the average case is O. B-trees are generalizations of binary search trees in that they can have a variable number of subtrees at each node. While child-nodes have a range, they will not necessarily be filled with data. The advantage is that B-trees do not need to be re-balanced as frequently as other self-balancing trees, due to the variable range of their node length, B-trees are optimized for systems that read large blocks of data. They are also used in databases. The time complexity for searching a B-tree is O, an -tree is a search tree where all of its leaves are the same depth. Each node has at least a children and at most b children, while the root has at least 2 children, a and b can be decided with the following formula,2 ≤ a ≤2 The time complexity for searching an -tree is O. A ternary search tree is a type of trie that can have 3 nodes, a lo kid, a kid. Each node stores a character and the tree itself is ordered the same way a binary search tree is. Searching a ternary search tree involves passing in a string to test whether any path contains it, the time complexity for searching a ternary search tree is O. Assuming the tree is ordered, we can take a key, the following algorithms are generalized for binary search trees, but the same idea can be applied to trees of other formats

3.
Tree (data structure)
–
Alternatively, a tree can be defined abstractly as a whole as an ordered tree, with a value assigned to each node. Both these perspectives are useful, while a tree can be analyzed mathematically as a whole, a tree is a data structure made up of nodes or vertices and edges without having any cycle. The tree with no nodes is called the null or empty tree, a tree that is not empty consists of a root node and potentially many levels of additional nodes that form a hierarchy. Root The top node in a tree, child A node directly connected to another node when moving away from the Root. Parent The converse notion of a child, siblings A group of nodes with the same parent. Descendant A node reachable by repeated proceeding from parent to child, ancestor A node reachable by repeated proceeding from child to parent. Leaf A node with no children, branch Internal node A node with at least one child. Degree The number of sub trees of a node, edge The connection between one node and another. Path A sequence of nodes and edges connecting a node with a descendant, level The level of a node is defined by 1 +. Height of node The height of a node is the number of edges on the longest path between that node and a leaf, height of tree The height of a tree is the height of its root node. Depth The depth of a node is the number of edges from the root node to the node. Forest A forest is a set of n ≥0 disjoint trees, there is a distinction between a tree as an abstract data type and as a concrete data structure, analogous to the distinction between a list and a linked list. To allow finite trees, one must either allow the list of children to be empty, or allow trees to be empty, in case the list of children can be of fixed size. As a data structure, a tree is a group of nodes, where each node has a value. This data structure actually defines a graph, because it may have loops or several references to the same node. Thus there is also the requirement that no two references point to the node, and a tree that violates this is corrupt. For example, rather than an empty tree, one may have a reference, a tree is always non-empty. In fact, every node must have one parent

4.
Node (computer science)
–
A node is a basic unit used in computer science. Nodes are devices or data points on a larger network, devices such as a personal computer, cell phone, or printer are nodes. When defining nodes on the internet, a node is anything that has an IP address, nodes are individual parts of a larger data structure, such as linked lists and tree data structures. Nodes contain data and also may link to other nodes, links between nodes are often implemented by pointers. Nodes are often arranged into tree structures, a node represents the information contained in a single structure. These nodes may contain a value or condition, or possibly serve as another independent data structure, nodes are represented by a single parent node. The highest point on a structure is called a root node, which does not have a parent node. The height of a node is determined by the longest path from node to the furthest leaf node. Node depth is determined by the distance between that node and the root node. The root node is said to have a depth of zero, data can be discovered along these network paths. An IP address uses this kind of system of nodes to define its location in a network, child, A child node is a node extending from another node. For example, a computer with internet access could be considered a child node of a representing the internet. The inverse relationship is that of a parent node, if node C is a child of node A, then A is the parent node of C. Degree, the degree of a node is the number of children of the node, depth, the depth of node A is the length of the path from A to the root node. The root node is said to have depth 0, height, the height of node A is the length of the longest path through children to a leaf node. Internal node, a node with at least one child, leaf node, a node with no children. Root node, a node distinguished from the rest of the tree nodes, usually, it is depicted as the highest node of the tree. Sibling nodes, these are connected to the same parent node

5.
Tree (graph theory)
–
In mathematics, and more specifically in graph theory, a tree is an undirected graph in which any two vertices are connected by exactly one path. In other words, any connected graph is a tree. A forest is a disjoint union of trees, the various kinds of data structures referred to as trees in computer science have underlying graphs that are trees in graph theory, although such data structures are generally rooted trees. A rooted tree itself has been defined by authors as a directed graph. The term tree was coined in 1857 by the British mathematician Arthur Cayley, a tree is an undirected graph G that satisfies any of the following equivalent conditions, G is connected and has no cycles. Any two vertices in G can be connected by a simple path. If G has finitely many vertices, say n of them, then the statements are also equivalent to any of the following conditions. G has no simple cycles and has n −1 edges, an internal vertex is a vertex of degree at least 2. Similarly, a vertex is a vertex of degree 1. An irreducible tree is a tree in which there is no vertex of degree 2, a forest is an undirected graph, all of whose connected components are trees, in other words, the graph consists of a disjoint union of trees. Equivalently, a forest is an acyclic graph. As special cases, an empty graph, a tree. A polytree is an acyclic graph whose underlying undirected graph is a tree. In other words, if we replace its directed edges with undirected edges, a directed tree is a directed graph which would be a tree if the directions on the edges were ignored, i. e. a polytree. Some authors restrict the phrase to the case where the edges are all directed towards a particular vertex, a rooted tree is a tree in which one vertex has been designated the root. The edges of a tree can be assigned a natural orientation, either away from or towards the root. The tree-order is the ordering on the vertices of a tree with u < v if. A rooted tree which is a subgraph of some graph G is a tree if the ends of every edge in G are comparable in this tree-order whenever those ends are vertices of the tree

6.
B-tree
–
In computer science, a B-tree is a self-balancing tree data structure that keeps data sorted and allows searches, sequential access, insertions, and deletions in logarithmic time. The B-tree is a generalization of a search tree in that a node can have more than two children. Unlike self-balancing binary search trees, the B-tree is optimized for systems that read, B-trees are a good example of a data structure for external memory. It is commonly used in databases and filesystems, in B-trees, internal nodes can have a variable number of child nodes within some pre-defined range. When data is inserted or removed from a node, its number of child nodes changes, in order to maintain the pre-defined range, internal nodes may be joined or split. Because a range of nodes is permitted, B-trees do not need re-balancing as frequently as other self-balancing search trees. The lower and upper bounds on the number of nodes are typically fixed for a particular implementation. For example, in a 2-3 B-tree, each node may have only 2 or 3 child nodes. Each internal node of a B-tree will contain a number of keys, the keys act as separation values which divide its subtrees. For example, if a node has 3 child nodes then it must have 2 keys, a1. All values in the leftmost subtree will be less than a1, usually, the number of keys is chosen to vary between d and 2 d, where d is the minimum number of keys, and d +1 is the minimum degree or branching factor of the tree. In practice, the take up the most space in a node. The factor of 2 will guarantee that nodes can be split or combined, Each split node has the required minimum number of keys. Similarly, if a node and its neighbor each have d keys. Deleting the key would make the internal node have d −1 keys, the result is an entirely full node of 2 d keys. The number of branches from a node will be one more than the number of stored in the node. In a 2-3 B-tree, the nodes will store either one key or two keys. A B-tree is sometimes described with the parameters — or simply with the highest branching order, a B-tree is kept balanced by requiring that all leaf nodes be at the same depth

7.
National Institute of Standards and Technology
–
The National Institute of Standards and Technology is a measurement standards laboratory, and a non-regulatory agency of the United States Department of Commerce. Its mission is to promote innovation and industrial competitiveness, in 1821, John Quincy Adams had declared Weights and measures may be ranked among the necessities of life to every individual of human society. From 1830 until 1901, the role of overseeing weights and measures was carried out by the Office of Standard Weights and Measures, president Theodore Roosevelt appointed Samuel W. Stratton as the first director. The budget for the first year of operation was $40,000, a laboratory site was constructed in Washington, DC, and instruments were acquired from the national physical laboratories of Europe. In addition to weights and measures, the Bureau developed instruments for electrical units, in 1905 a meeting was called that would be the first National Conference on Weights and Measures. Quality standards were developed for products including some types of clothing, automobile brake systems and headlamps, antifreeze, during World War I, the Bureau worked on multiple problems related to war production, even operating its own facility to produce optical glass when European supplies were cut off. Between the wars, Harry Diamond of the Bureau developed a blind approach radio aircraft landing system, in 1948, financed by the Air Force, the Bureau began design and construction of SEAC, the Standards Eastern Automatic Computer. The computer went into operation in May 1950 using a combination of vacuum tubes, about the same time the Standards Western Automatic Computer, was built at the Los Angeles office of the NBS and used for research there. A mobile version, DYSEAC, was built for the Signal Corps in 1954, due to a changing mission, the National Bureau of Standards became the National Institute of Standards and Technology in 1988. Following 9/11, NIST conducted the investigation into the collapse of the World Trade Center buildings. NIST had a budget for fiscal year 2007 of about $843.3 million. NISTs 2009 budget was $992 million, and it also received $610 million as part of the American Recovery, NIST employs about 2,900 scientists, engineers, technicians, and support and administrative personnel. About 1,800 NIST associates complement the staff, in addition, NIST partners with 1,400 manufacturing specialists and staff at nearly 350 affiliated centers around the country. NIST publishes the Handbook 44 that provides the Specifications, tolerances, the Congress of 1866 made use of the metric system in commerce a legally protected activity through the passage of Metric Act of 1866. NIST is headquartered in Gaithersburg, Maryland, and operates a facility in Boulder, nISTs activities are organized into laboratory programs and extramural programs. Effective October 1,2010, NIST was realigned by reducing the number of NIST laboratory units from ten to six, nISTs Boulder laboratories are best known for NIST‑F1, which houses an atomic clock. NIST‑F1 serves as the source of the official time. NIST also operates a neutron science user facility, the NIST Center for Neutron Research, the NCNR provides scientists access to a variety of neutron scattering instruments, which they use in many research fields