ROMMEL's WORLD

relax life goes on

News

view:  full / summary

Introduction to Data Structures and Algorithms

Posted by Rommel Sablas on March 19, 2011 at 12:00 AM Comments comments (0)

Introduction to Data Structures and Algorithms

by Jeff Hunter, Sr. Database Administrator

Contents

* Introduction

* Data Structures and Algorithms - Defined

* Characteristics of Data Structures

* Abstract Data Types

Introduction

Software engineering is the study of ways in which to create large and complex computer applications and that generally involve many programmers and designers. At the heart of software engineering is with the overall design of the applications and on the creation of a design that is based on the needs and requirements of end users. While software engineering involves the full life cycle of a software project, is includes many different components - specification, requirements gathering, design, verification, coding, testing, quality assurance, user acceptance testing, production, and ongoing maintenance.

Having an in-depth understanding on every component of software engineering is not mandatory, however, it is important to understand that the subject of data structures and algorithms is concerned with the coding phase. The use of data structures and algorithms is the nuts-and-blots used by programmers to store and manipulate data.

This article, along with the other examples in this section focuses on the essentials of data structures and algorithms. Attempts will be made to understand how they work, which structure or algorithm is best in a particular situation in an easy to understand environment.

Data Structures and Algorithms - Defined

A data structure is an arrangement of data in a computer's memory or even disk storage. An example of several common data structures are arrays, linked lists, queues, stacks, binary trees, and hash tables. Algorithms, on the other hand, are used to manipulate the data contained in these data structures as in searching and sorting.

Many algorithms apply directly to a specific data structures. When working with certain data structures you need to know how to insert new data, search for a specified item, and deleting a specific item.

Commonly used algorithms include are useful for:

*

Searching for a particular data item (or record).

*

Sorting the data. There are many ways to sort data. Simple sorting, Advanced sorting

*

Iterating through all the items in a data structure.


Abstract Data Types

An Abstract Data Type (ADT) is more a way of looking at a data structure: focusing on what it does and ignoring how it does its job. A stack or a queue is an example of an ADT. It is important to understand that both stacks and queues can be implemented using an array. It is also possible to implement stacks and queues using a linked list. This demonstrates the "abstract" nature of stacks and queues: how they can be considered separately from their implementation.

To best describe the term Abstract Data Type, it is best to break the term down into "data type" and then "abstract".

Data Type

When we consider a primitive type we are actually referring to two things: a data item with certain characteristics and the permissible operations on that data. An int in Java, for example, can contain any whole-number value from -2,147,483,648 to +2,147,483,647. It can also be used with the operators +, -, *, and /. The data type's permissible operations are an inseparable part of its identity; understanding the type means understanding what operations can be performed on it.

In Java, any class represents a data type, in the sense that a class is made up of data (fields) and permissible operations on that data (methods). By extension, when a data storage structure like a stack or queue is represented by a class, it too can be referred to as a data type. A stack is different in many ways from an int, but they are both defined as a certain arrangement of data and a set of operations on that data.

abstract

Now lets look at the "abstract" portion of the phrase. The word abstract in our context stands for "considered apart from the detailed specifications or implementation".

In Java, an Abstract Data Type is a class considered without regard to its implementation. It can be thought of as a "description" of the data in the class and a list of operations that can be carried out on that data and instructions on how to use these operations. What is excluded though, is the details of how the methods carry out their tasks. An end user (or class user), you should be told what methods to call, how to call them, and the results that should be expected, but not HOW they work.

We can further extend the meaning of the ADT when applying it to data structures such as a stack and queue. In Java, as with any class, it means the data and the operations that can be performed on it. In this context, although, even the fundamentals of how the data is stored should be invisible to the user. Users not only should not know how the methods work, they should also not know what structures are being used to store the data.

Consider for example the stack class. The end user knows that push() and pop() (amoung other similar methods) exist and how they work. The user doesn't and shouldn't have to know how push() and pop() work, or whether data is stored in an array, a linked list, or some other data structure like a tree.

The Interface

The ADT specification is often called an interface. It's what the user of the class actually sees. In Java, this would often be the public methods. Consider for example, the stack class - the public methods push() and pop() and similar methods from the interface would be published to the end user.

Characteristics od Data Structures

click here to DOWNLOAD the image


SCHEDULE OF ACTIVITIES

Posted by Rommel Sablas on September 13, 2010 at 9:44 AM Comments comments (0)

Asian College of Technology

·PHILIPPINES·

FOUNDATION ANNIVERSARY 2010

Theme: TOGETHER, WE MAKE THINGS BETTER

SCHEDULE OF ACTIVITIES


September 15 (Wednesday)

Morning

07:30 a.m.    Mass                             Gym

09:00 a.m.    Opening Ceremonies                     Gym

09:30 a.m.    ACT Jingle Interpretation/Dramatization Contest        Gym

10:30 a.m.    Directed Acting Competition                Gym

11:00 a.m.    Bingo                            Gym


Afternoon

01:00 p.m.    IT Olympics                         Upper Ground Lobby

Digital Image Exhibit

Innovention Fair

Video Ad

Animation Using Maya

MTV Video Production

Dubbing

On-the-Spot Digital Painting

Sketching

Touch Typing Marathon

PC Assembly Race

Web Design

CISCO Networking

Software Development Level 1

Software Development Level 2

etc


01:00 p.m.    HM Olympics                        7th Floor Lobby

Table Skirting

Food Carving

Wine Mixing

Flower Arrangement

etc


01:00 p.m.    Wizard Olympics

Hospitality Management Wizard             Gym

Information Systems Wizard             Gym

Nursing Wizard                     Gym

Computer Engineering Wizard            Gym

CS/IT Wizard - Level 1                 Gym

CS/IT Wizard - Level 2                Gym

IQ Wizard                                       Gym


               

Evening

06:00 p.m.    ACT Got Talent                        Gym

September 16 (Thursday)


Evening

06:30 p.m.    Asianista Musicale                    Gym


September 17 (Friday)

Morning

10:00 a.m.    Debate                             Innovention Center


Afternoon

01:00 p.m.    Awarding Ceremonies                     Gym

Honor Students for AY 2009-2010

Olympics Winners


Evening

07:00 p.m.    Faculty-Admin Night                    Gym

September 18 (Saturday)


Morning

09:00 a.m.    College Field Demonstration Part 1             Cyber Tower Front Ground


Afternoon

03:00 p.m.    College Field Demonstration Part 2            Cyber Tower Front Ground


04:00 p.m.    ACT Rockrakan                         Gym


Evening

05:30 p.m.    Foundation Anniversary Party & Disco             Gym

10:00 p.m.    Fireworks

 


NO CLASS ON MONDAY

Posted by Rommel Sablas on August 24, 2010 at 7:19 PM Comments comments (0)

HELLO EVERYONE, WE DON'T HAVE A CLASS THIS MONDAY...

FOR THE REASON? I DON'T KNOW!!!

EHEHHEE>..

NO CLASS ON MONDAY

Posted by Rommel Sablas on August 24, 2010 at 7:19 PM Comments comments (0)

HELLO EVERYONE, WE DON'T HAVE A CLASS THIS MONDAY...

FOR THE REASON? I DON'T KNOW!!!

EHEHHEE>..

PUBLISH THIS SITE

Posted by Rommel Sablas on August 19, 2010 at 2:53 AM Comments comments (0)

GUYS, please inform to everyone about this website...

thank you...

No CLASS

Posted by Rommel Sablas on August 17, 2010 at 9:22 PM Comments comments (2)

we don't have a CLASS this coming Saturday for our NSTP.

it's HOLIDAY...

A NINOY AQUINO day,


Rss_feed