Skip to main content
Engineering LibreTexts

1: Fundamental Design and Analysis Techniques

  • Page ID
    46775
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    Unit Objectives

    Upon completion of this unit you should be able to:

    • Describe concepts of algorithm design and analysis
    • Demonstrate knowledge of algorithm complexity analysis
    • Apply iteration and recursion in problem solving
    • Apply dynamic programming in problem solving

    Unit Introduction

    The design and analysis of algorithms has become an indispensable skill in applied computer science as it is the core for developing efficient software applications, especially, due increasing demand for complex software systems to support the contemporary world applications. This unit acts as prelude to the study of advanced data structure and algorithms discussed in this course. It highlights the basic concepts related to this subject and introduces the notions of algorithm analysis and design.

    The unit provides a concise description of the key concepts used in algorithm analysis under the time and space complexity dimensions. Furthermore, a review of algorithm design methods is provided including the iteration, recursion and dynamic programming.


    This page titled 1: Fundamental Design and Analysis Techniques is shared under a CC BY-SA 3.0 license and was authored, remixed, and/or curated by Godfry Justo (African Virtual University) .

    • Was this article helpful?