It looks like you're using Internet Explorer 11 or older. This website works best with modern browsers such as the latest versions of Chrome, Firefox, Safari, and Edge. If you continue with this browser, you may see unexpected results.

# Data Structures & Algorithms: Home

## 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.

## Course outline

• Data types
• Arrays
• Records,
• Set structure,
• Abstract Data Types
• Sequential allocation
• Stacks (Sequential as well as Linked Implementation) Queues
• (Sequential as well as Linked Implementation)
• Recursive versus Iterative Algorithms
• Applications
• Towers of Hanoi
• Traversal
• Insertion
• Deletion
• Root Node
• Terminal Node
• Branch Node
• Level of a Node
• Degree of a node
• Binary Tree
• Tree traversal, (In-order/Pre-order/Post-order traversal)
• Conversion of tree into binary tree/ Bin tree into a Heap
• Traversing and searching in a tree
• Insertion
• Deletion
• Heap
• Heap-sort
• Graphs
• Traversal
• DFS
• BFS
• Path lengths
• Shortest Path Searching & Sorting Algorithms
• Insertion sort
• Selections sort
• Merge sort
• Hashing

## Course Objectives

To understand the basic data structures and the abstract data structures and user defined data structures and their applications to represent various information types. Design and analysis of various algorithms for solving various searching, and sorting problems.