TN Online TestSamacheer Kalvi practice

Algorithmic Strategies - Study Notes

Share this chapter: Telegram

Chapter Summary

This chapter explores the fundamental concepts of algorithmic strategies. It details how step-by-step procedures can be analyzed for efficiency based on time and space complexities. Various essential searching techniques, sorting techniques, and design paradigms such as dynamic programming are comprehensively discussed to provide a complete computational perspective.

Learning Objectives

Key Concepts and Definitions

Algorithm

An algorithm is a finite set of instructions designed to accomplish a specific task. It is a step-by-step procedure that operates independently of any programming language.

Space-Time Tradeoff

A computational design methodology where memory consumption is reduced at the cost of execution speed, or conversely, execution speed is increased at the cost of using more memory space.

Asymptotic Notations

Meaningful mathematical statements used to describe the limiting behavior of an algorithm's time or space complexity. The primary notations are Big O (worst-case upper bound), Big Omega (best-case lower bound), and Big Theta (average tight bound).

Memoization

An optimization technique used in dynamic programming that speeds up programs by storing the results of expensive function calls and returning the cached results when the same inputs recur.

Worked Methods

Traces of Sorting and Searching

For Linear Search, the target value is compared sequentially with each element from the starting index of the array until a match is found. For Binary Search, the list must be sorted beforehand; the target is repeatedly compared with the middle element of the segment, halving the search space each time.

For Bubble Sort, adjacent elements are compared and swapped if they are in the incorrect order, causing the largest elements to bubble up to their correct position at the end of each pass. Selection Sort improves on this by executing only one swap per pass after finding the minimum element in the remaining unsorted sub-array. Insertion Sort progressively builds a sorted sublist by inserting elements one by one into their appropriate relative positions.

Common Exam Traps

Exam Tips

Solved MCQs → Practice test →

More for this chapter

Book Back Questions10 textbook MCQs · solved Additional MCQs15 extra MCQs · solved Practice TestInteractive · instant score Book Back TestTest yourself on the textbook set Additional MCQ TestTest yourself on the extra set Formula SheetAll key formulas

More chapters in Computer Science

View all
1 Function 2 Data Abstraction 3 Scoping 5 Python -Variables and Operators 6 Control Structures 7 Python functions 8 Strings and String manipulation 9 Lists, Tuples, Sets and Dictionary 10 Python Classes and objects 11 Database Concepts 12 Structured Query Language (SQL) 13 Python and CSV files 14 Importing C++ programs in Python. 15 Data manipulation through SQL 16 Data visualization using pyplot: line chart, pie chart and bar chart