Free Essay

Data Structures and Implementation

In: Computers and Technology

Submitted By xgonnahaveitx
Words 730
Pages 3
James Mueller
Data Structures and Implementation
Unit 5 Individual Project
ITCO321 – 1103A - 02
August 21, 2011

Does the word matching exist in the phrase. In the phrase “There exists just a single example”, the word exam is indeed in this phrase. Exam is matched to the word Example as seen here. In order to for the word to be matched, using just plain vision was possible, however, in a computer sense; one must use a pattern matching string so that the program would be able to find the match. When using coding to determine if there is a match in the pattern, you would use the RegularExpression namespace. This will allow for easy parsing and matching of strings to a specific patter (, 2011). Regex myRegEx = new Regex("exam"); string s1 = "There exists just a single example.";

if (myRegEx.IsMatch(s1)) Console.WriteLine("Match found!");

Explain how you could 'teach' a computer to match the word 'exam' in the given phrase above. In order to do this in C#, you could write 4 separate search commands, or you can be more efficient and you can do it in a single phrase. By using pattern = ‘e ?x ?a ?m?’; . now you can locate one or more of the strings with just a single command: Text = [‘There exists just a single example’]; Regexp (text, pattern, ‘match’) Ans = ‘exam’. This is just one of many ways that you could teach a computer to find the word exam in the phrase. You are also able to use different MATLAB returns (, 2011). Boyer-Moore pattern matching algorithm The algorithm works by creating a “skip table” to each possible character. By using this skip table, the number of actual comparisons needed to locate a string can decrease, and in some cases dramatically (Wood, J.). Comparison is done from right to left, starting with the last character in the patter. So with our search pattern being ‘exam’, we would algorithm would be done as such: There exists just a single example. Exam There exists just a single example Exam There exists just a single example Exam There exists just a single example Exam There exists just a single example Exam There exists just a single example Exam There exists just a single example Exam What methods exist in the string class to do pattern matching There are several methods that exist in pattern matching. There is match(regular expression), replace( regular expression, replacement text ), split (string literal or regular expression ) and search(regular expression). What are regular expressions Regular expressions are special characters that match or capture portions of a field, as well as the rules that govern all characters ( Those would be these listed below, Wildcards Anchors Grouping Other Regular Expression to Validate Any Email Address using System; using System.Collections.Generic; using System.Text; using System.Text.RegularExpressions;

namespace Dobro.Text.RegularExpressions
/// <summary> /// Example of use of TestEmail class, that validates an E-Mail address. /// </summary> class EmailValidator { static void Main(string[] args) { // init string checkOutput = default(string); // default Email-value string[] emails = new string[] { "ab@", "ab@","", "max@120.350.200.15", "max@" }; // Get Email-value from the arguments array if any if (args.Length > 0) { emails = args; }

// check the all given e-mail strings foreach (string email in emails) { // valiadate e-mail address if (TestEmail.IsEmail(email)) { checkOutput = "valid :)"; } else { checkOutput = "invalid :("; }

// show validation result Console.WriteLine( String.Format("\nThe E-Mail address \"{0}\" is {1}", email, checkOutput)); }

// finally Wait4User2Exit(); }

private static void Wait4User2Exit() { Console.WriteLine("\nPress any key to exit ..."); Console.ReadKey(); } }

AIU Online. (2011). ITCO321: Unit 5reliable Output [Multimedia Presentation]. Retrieved from AIU Online Virtual Campus. Data Structures and Implementation ITCO321-1103A-02. (2011). What are Regular Expressions. Retrieved August 21, 2011 from (2011). How to Search Strings using Regular Expressions. Retrieved August 21, 2011 from
McMillan, M. (2007). Data Structures and Algorithms Using C#. Cambridge University Press.
Wood, J. (2011). Fast Text Search with Boyer-Moore. Retrieved August 21, 2011 from

Similar Documents

Free Essay

Treap Data Structure shown in figure 1, is a binary tree data structure which is used to hold key-value pairs and satisfies following properties; • The left subtree of any node contains only those nodes with keys less than the node’s key. • The right subtree of any node contains only those nodes with keys greater than the node’s key. key=10 val="AU" key=8 val="BN" key=15 val="TN" key=12 val="NZ" key=17 val="DL" key=19 val="IN" Figure 1: An example Binary Search Tree These ordering constraints help to find out a node with a given key in O(log n) average time. Insertion and deletion operations in BST (Binary search tree) must maintain these ordering constraints. prio: 8 val: "IN" prio: 15 val: "NZ" prio: 18 val: "AU" prio: 25 val: "TN" prio: 30 val: "BN" prio: 20 val: "AP" prio: 22 val: "RS" Figure 2: An example min-heap Heap is an another binary tree data structure, as shown in figure 2, which is useful in sorting (heapsort) and implementing a priority queue. A heap can be a min-heap or a max-heap based on the priority of a node with respect to the 1 priority of its left and right children. In case of min-heap each node has lesser priority than its children. In case of max-heap each node has higher priority than its children. In this assignment we are going to implement a binary tree data structure which is a combination of BST and heap. This data structure is called Treap. Treap Treap is a binary tree data structure where each node contains 3......

Words: 1803 - Pages: 8

Free Essay

Data Structures

...Chapter 1 Basic Networking Chapter 1 Basic Networking:                      Data communication is the transfer of data from one device to another via some form of transmission medium. A data communications system must transmit data to the correct destination in an accurate and timely manner. The five components that make up a data communications system are the message, sender, receiver, medium, and protocol. Text, numbers, images, audio, and video are different forms of information. Data flow between two devices can occur in one of three ways: simplex, halfduplex, or full-duplex. A network is a set of communication devices connected by media links. In a point-to-point connection, two and only two devices are connected by a dedicated link. In a multipoint connection, three or more devices share a link. Topology refers to the physical or logical arrangement of a network. Devices may be arranged in a mesh, star, bus, or ring topology. A network can be categorized as a local area network (LAN), a metropolitan-area network (MAN), or a wide area network (WAN). A LAN is a data communication system within a building, plant, or campus, or between nearby buildings. A MAN is a data communication system covering an area the size of a town or city. A WAN is a data communication system spanning states, countries, or the whole world. An internet is a network of networks. The Internet is a collection of many separate networks. TCP/IP is the protocol suite for the......

Words: 2538 - Pages: 11

Premium Essay

Data Structure

...stack. AB-CD+E*+ (where A=5, B=3, C=5, D =4, and E=2) Question 5 Evaluate the following postfix expression using a stack and show the contents of stack after execution of each operation : 50,40,+,18, 14,-, *,+ Question 6 Evaluate the following postfix expression using a stack and show the contents of stack after execution of each operation : TRUE, FALSE, TRUE, FALSE, NOT, OR, TRUE, OR, OR, AND Question 7 Write a program for creating polynomial using linked list? Question 8 Each node of a STACK contains the following information, in addition to required pointer field : i) Roll number of the student ii) Age of the student Give the structure of node for the linked stack in question TOP is a pointer which points to the topmost node of the STACK. Write the following functions. i) PUSH() - To push a node to the stack which is allocated dynamically ii) POP() - To remove a node from the stack and release the memory. Question 9 Write a function in C to perform a DELETE operation in a dynamically allocated link list considering the following description : struct Node { float U,V; Node *Link; }; Question 10 What is dynamic.....

Words: 308 - Pages: 2

Premium Essay


...The Nature of Strategy Implementation Successful strategy formulation does not guarantee successful startegy implementation. It is always more difficult to do something (strategy implementation) than to say you are going to do it (strategy formulation). Although inextricably linked, startegy implementation is fundamentally different from strategy fromulation. Strategy formulation and implementation can be contrasted in the following ways: * Strategy formulation is positioning forces before the action. * Strategy implementation is managing forces during the action. * Strategy formulation focuses on effectiveness. * Strategy implementation focuses in efficiency. * Strategy formulation is primarily an intellectual process. * Strategy implementation is primarily an operational process. * Strategy formulation requires good intuitive and analytical skills. * Strategy implementation requires special motivation and leadeship skills. * Strategy formulation requires coordination among a few individuals. * Strategy implementation requires coordination among many individuals. Management perspectives Implementation problems can arise because of the shift in responsibility, especially if SF decisions come as a surprise to middle- and lower-level managers. Therefore, it is essential to involve divisional and functional managers in strategy-formulation activities. Management Issues Central to Strategy Implementation * Establish annual......

Words: 540 - Pages: 3

Free Essay

Data Structure

...DATA STRUCTURES ANALYSIS OF ALGORITHMS Definition:-           The method of solving a problem is known as an algorithm.It is a sequence of instructions that act on some input data to produce some output in a finite number of steps. Properties:- a) Input:An algorithm must receive some input data supplied externally. b)Output:An algorithm must produce atleast one output as the result. c)Finiteness:The algorithm must terminate after a finite number of steps. d)Definiteness:The steps to be performed in the algorithm must be clear and unambiguous. e)Effectiveness:One must be able to perform the steps in the algorithm without applying any intelligence.           All algorithms basically fall under two broad categories-Iterative and Recursive algorithms.           Iterative Algorithms typically use loops and conditional statements.           Recursive Algorithms use a divide and Conquer strategy. As per this,the recursive algorithm breaks down a large problem into small pieces and then applies the algorithm to each of these smal pieces. Determining which algorithm is efficient than the other involves analysis of algorithms. While analyzing,time required to execute it determined .’time’ represents the number of operations that are carried out while executing the algorithm.           While analyzing iterative algorithms we need to determine how many times the loop is executed. To analyze a recursive algorithm one needs to determine amount of work done for three......

Words: 2466 - Pages: 10

Free Essay

Non Linear Data Structure

...What is a non-linear datastructure? A non-linear datastrucutre is a datastructure in which the data items in the memory are not allocated contiguously i.e. the data items are dispersed in the memory. The first data item will have a link to the second data item and second data item will have a link to the third data item and so on. Pros • Uses memory efficiently that the free contiguous memory in not an requirement for allocating data items • The length of the data items is not necessary to be known prior to allocation Cons • Overhead of the link to the next data item Linked list: linked list a data structure which stores data in the form of nodes.It does not require linear memory as arrays. Each node contains a data part and a pointer part(a pointer to the next data in the list) link or node is object of a class.there are so many types of linked list 1) single linked list 2)doubly linked list 3)circular linked list. single linked list: here links contains pointer to first data and last data in the list.As said earlier a pointer to the next data. example of a linked list: class node{// all nodes will be the objects of this class public int data; public link next_node;//a pointer to next data } public node(int data){; }//end of constructor public void showdata(){ System.out.println("data= "+data); } }//end of class node After defining class for each node we need to define a class for link list. Link list contains a pointer......

Words: 475 - Pages: 2

Free Essay

Data Structures

...Data Structures and Algorithms DSA Annotated Reference with Examples Granville Barne Luca Del Tongo Data Structures and Algorithms: Annotated Reference with Examples First Edition Copyright c Granville Barnett, and Luca Del Tongo 2008. This book is made exclusively available from DotNetSlackers ( the place for .NET articles, and news from some of the leading minds in the software industry. Contents 1 Introduction 1.1 What this book is, and what it isn’t . . . 1.2 Assumed knowledge . . . . . . . . . . . . 1.2.1 Big Oh notation . . . . . . . . . . 1.2.2 Imperative programming language 1.2.3 Object oriented concepts . . . . . 1.3 Pseudocode . . . . . . . . . . . . . . . . . 1.4 Tips for working through the examples . . 1.5 Book outline . . . . . . . . . . . . . . . . 1.6 Testing . . . . . . . . . . . . . . . . . . . 1.7 Where can I get the code? . . . . . . . . . 1.8 Final messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 3 4 4 6 6 7 7 7 I Data Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . reverse order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....

Words: 23014 - Pages: 93

Free Essay

C++ Data Structures

...C++ Data Structures Chapter 1 10) What is the difference between an object and an object class? An object class provides the blue print for an object. It will define everything and all the variables and methods available to an object (at least in non-dynamic languages). An object is an instance of an object class, which provides a living breathing representation of that blue print. Example #1 A Toyota Camry or another particular make might be an instance of the class car. Example #2 A house might be an instance of the class Building 17) The following program has three separate errors, each of which would cause an infinite loop. As a member of the inspection team, you could save the programmer a lot of testing time by finding the errors during the inspection. Can you help? Error 1: The while clause is missing the {} brackets around the next 3 lines. Error 2: The Increment function is getting passed the variable nextNumber by value rather than reference, which will not increment count in the main() function. Error 3: The program is not referencing stdlib 18) Is there any way a single programmer (for example, a student working alone on a programming assignment) can benefit from some of the ideas behind the inspection process? Yes, I believe anyone could benefit from the inspection process, regardless of the size of the team. The whole philosophy behind the inspection process is to review a program to ensure that each piece is......

Words: 347 - Pages: 2

Free Essay

Implications of Big Data for the Design, Implementation and Use of Enterprise-Level Information Systems in Defense

...Implications of Big Data for the design, implementation and use of enterprise-level information systems in Defense While technology rapidly advances and information becomes a strategic asset, Big Data arouses the demand of politicians and military leaders to make use of possible information advantages to allegedly better support the military mission (DOD, 2010). However, the defense sector is still struggling with the implementation of adequate enterprise-level information systems. Therefore, militaries have to assess the necessity of using Big Data within the different business processes, and they have to ensure that the current implementation of enterprise-level information systems remains adaptable and scalable for future business needs. The amount of data is continuously on the rise due to the rapid growth of mobile devices and applications, smart sensors and devices, cloud computing solutions, and […] portals (“Impact,” 2013). Also, the capability to analyze and to correlate structured with unstructured data will enhance. But militaries must avoid getting distracted from implementing a good information management system that serves current business needs, rather than trying to rapidly dominate Big Data. Instead, the success of todays mission has to gain center stage. Thus, one has to focus on three principles. First: One has to act now but also has to keep in mind that there has to be a transition from information management to Big Date in the future, as Big Data will......

Words: 647 - Pages: 3

Free Essay

Analysis Algorithm and Data Structure

...of the input. • Normally the built in data type has a fixed size, to enter and to store the larger data. • The Linked List can be used to store the integer without size restriction, which stores each digit in nodes. • The data can also be reused. Addition: A= 456 Represented by 6 → 5 → 4 in linked list B= 094 Represented by 4 → 9 → 0 in linked list The Resultant is C = 550 Represented by 0 → 5 → 5 in linked list. Multiplication: A= 123 * B= 456 A= Represented by 3 → 2 → 1 in linked list. B= Represented by 6 → 5 → 4 in linked list. STEP 1: 123 * 6 = 8 → 3 → 7 in linked list. STEP 2: 123 * 50= 0 → 5 → 1 → 6 in linked list. STEP 3: ADD STEP 1 AND STEP 2 8 → 8 → 8 → 6 in linked list. STEP 4: 123 * 400= 0 → 0 → 2 → 9 → 4 in linked list. STEP 5: ADD STEP 3 AND STEP 4 8 → 8 → 0 → 6 → 5 in linked list. Exponentiation: The initial step is to arrange in decreasing order of exponents and then perform the action. The other method is by using Θ(log n) time algorithm based on binary representation. 1.5. Representation of one’s and two’s complement 1’s complement: + 4= 0100 - 4= 1011 (taking 1’s complement of +4 is -4 (i.e.) inverting the bit). So, 1’s complement is used to represent both positive and negative integers. 2’s complement: Converting the value to 1’s complement and then adding 1 to that complement. - 4= (1’s complement of 4) + 1 = 1011+1 = 1100. It is used in implementation of ADT, which performs arithmetic......

Words: 473 - Pages: 2

Premium Essay

It 265 Data Structures Phase 5

...IT 265 Data Structures for Problem Solving Data Structures and Methods 9/20/2014 Phase 5 Contents Executive Summary 4 Phase 1 4 Phase 2 4 Phase 3 4 Phase 4 4 Phase 5 5 Section 1: Lists, Stacks, and Queues 6 Stacks 6 Queues 10 Section 2: Hashing, Heaps and Trees 14 Section 3: Sorting Algorithms 20 Insertion sort 20 Bubble Sort 20 Selection sort 21 Section 4: Searching 22 Array 22 Linked Lists 23 Section 5: Recursion 30 References 33 Executive Summary Phase 1          A list is a collection of items in which the items have a position (Weiss, 2010).  A linked list allows data to be input or removed easily because each of the data items in the list is connected to its neighbor by a pointer that can be quickly and easily modified to accommodate new or removed items (CTU M.U.S.E. 2014). The Phase 1 portion of this document will be demonstrating the implementation of Stacks and Queues. Phase 2 Hash tables can be viewed as an array of lists and are used to speed up a search for data by creating a situation that does not require the search to start at the beginning and go through every item. The identifying value is the key and the associated record is the data, thus a hash table is a collection of (key, value) pairs. Phase 3 In order to efficiently use a database, the data must be stored in some sort of order. There are a number of different sorting algorithms; a programmer would choose which one to use depending on the......

Words: 3704 - Pages: 15

Free Essay

Data Structures

...Data Structures & Algorithms Coursework Assignment 1 Q1. (a) Algorithm swap(x, y): Node n head While (n.getNext () != x ) do n n.getNext() Node v y.getNext () n.setNext(y) y.setNext(x) x.setNext(v) (b) Algorithm swap Doubly(x, y): DNode n x.getPrev() DNode v y.getPrev() n.setNext(y) y.setPrev(n) y.setNext(x) x.setPrev(y) x.setNext(v) v.setPrev(x) (c) The run time complexity for the singled linked algorithm is O (n) and for the doubly linked algorithm is O (1). Doubly linked list has the best time complexity. Time complexity in singly linked list take more time because we have to move from head to the node before x Q2. (b) RedBlueStack implements Stack{ protected Object A[]; Int capacity; int top = -1; RedBlueStack(int cap) { A = new Object [capacity]; capacity = cap; } int size() { return (top + 1); } void push(Object obj) throws FullStackException { if (size() == capacity) throws new FullStackException("Stack is full."); A[++top] = obj; } Object top() throws EmptyStackException { if (isEmpty()) throws new EmptyStackException("Stack is empty."); return A[top]; } Boolean isEmpty() { return (top < 0); } Object top() throws EmptyStackException { if (isEmpty()) throws new EmptyStackException("Stack is empty."); return A[top]; }  Object pop() throws EmptyStackException { Object elem; if (isEmpty()) throws......

Words: 551 - Pages: 3

Free Essay

Implementation of a Data Classification Policy

...The following is a policy defining how data will be classified and how users will be able to access that data. New user accounts can be setup within Active Directory New Users and Computers (Create a new user account, 2005, January 21). This will allow the Administrator to create a User name and a unique password for that user. Once this is done, the user can then be placed in a group (Create a new group, 2005, January 21). This group will depend on what role the user will be fulfilling; for example if the user will be in the accounting department, they will be placed in the accounting group. Once the User has been specified into a group, then permissions can be applied for that group. For example, the accounting department may have two different groups – Users and Managers. Any file that has to deal with accounting can then have their permissions modified depending on the role of the user. This will also allow the administrator to setup the data classification of least privilege. To fulfill their job Managers will need to the option to read and write files, and to create new folders. This allows the manager to complete their job without having too much access. The User group will only need access to List Folder/Read data (Stanek, W. n.d.). This allows the user to read the information within the file but does not allow them to change any information within the folder. Lastly, any changes that are made within the system need to be documented for reference. Documentation of......

Words: 526 - Pages: 3

Free Essay

Test Bank Data Structure and Java

...Test Bank for Data Structures with Java John R. Hubbard Anita Huray University of Richmond Chapter 1 Object-Oriented Programming Answer “True” or “False”: 1. An analysis of the profitability of a software solution would be done as part of the feasibility study for the project. 2. The best time to write a user manual for a software solution is during its maintenance stage. 3. The requirements analysis of a software project determines what individual components (classes) will be written. 4. In a large software project it is preferable to have the same engineers write the code as did the design. 5. In the context of software development, “implementation” refers to the actual writing of the code, using the design provided. 6. Software engineers use “OOP” as an acronym for “organized operational programming”. 7. The term “Javadoc” refers to the process of “doctoring” Java code so that it runs more efficiently. 8. Software engineers use “UML” as an acronym for “Unified Modeling Language”. 9. UML diagrams are used to represent classes and the relationships among them. 10. The “is-a” relationship between classes is called composition. 11. The “contains-a” relationship between classes is called aggregation. 12. The “has-a” relationship between classes is called inheritance. 1 Test Bank 2 13. A “mutable” class is one whose objects can be modified by the objects of other classes. 14...

Words: 1904 - Pages: 8

Free Essay

The Data Structure

...数据结构基本英语词汇 I like ITPUB! 数据结构基本英语词汇 数据抽象 data abstraction 数据元素 data element 数据对象 data object 数据项 data item 数据类型 data type 抽象数据类型 abstract data type 逻辑结构 logical structure 物理结构 phyical structure 线性结构 linear structure 非线性结构 nonlinear structure 基本数据类型 atomic data type 固定聚合数据类型 fixed-aggregate data type 可变聚合数据类型 variable-aggregate data type 线性表 linear list 栈 stack 队列 queue 串 string 数组 array 树 tree 图 grabh 查找,线索 searching 更新 updating 排序(分类) sorting 插入 insertion 删除 deletion 前趋 predecessor 后继 successor 直接前趋 immediate predecessor 直接后继 immediate successor 双端列表 deque(double-ended queue) 循环队列 cirular queue 指针 pointer 先进先出表(队列) first-in first-out list 后进先出表(队列) last-in first-out list 栈底 bottom 栈定 top 压入 push 弹出 pop 队头 front 队尾 rear 上溢 overflow 下溢 underflow 数组 array 矩阵 matrix 多维数组 multi-dimentional array 以行为主的顺序分配 row major order 以列为主的顺序分配 column major order 三角矩阵 truangular matrix 对称矩阵 symmetric matrix 稀疏矩阵 sparse matrix 转置矩阵 transposed matrix 链表 linked list 线性链表 linear linked list 单链表 single linked list 多重链表 multilinked list 循环链表 circular linked list 双向链表 doubly linked list 十字链表 orthogonal list 广义表 generalized list 链 link 指针域 pointer field 链域 link field 头结点 head node 头指针 head pointer 尾指针 tail pointer 串 string 空白(空格)串 blank string 空串(零串) null string 子串 substring 树 tree 子树 subtree 森林 forest 根 root 叶子 leaf 结点 node 深度 depth 层次 level 双亲 parents 孩子 children 兄弟 brother 祖先 ancestor 子孙......

Words: 1522 - Pages: 7