## Data Structures And AlgorithmsFundamental ConceptsData Structures : Data, Data objects, Data types, Abstract Data Types (ADT) and Data structure, Concept of primitive and non primitive, Linear and non-linear, Static and dynamic, Persistent and ephemeral data structures,Introduction to algorithms : Definition and characteristics of an algorithm, Algorithm design.Tools : Flowcharts and pseudo code, Notations : Algorithm Header, Purpose, Conditions and return, Statements, Statement numbers, Variables, Comments, Statement constructs : Sequence, Selection, Loops and sub-algorithms.Program development : Analysis design, Coding, Testing and verification.Linear Data Structures using Sequential OrganizationConcept of sequential organization, Arrays as ADT, Storage representation of array (row major and column major). Representation of polynomials using arrays, Representation of sparse matrix, Addition, Transpose and fast transpose of sparse matrix, Time and space complexity analysis for simple and fast transpose for sparse matrix.Stacks Fundamentals, Stacks as ADT, Representation and implementation of stack using arrays, Applications of stack : Expression evaluation and conversion, Reversing a string, Parsing : Well-form parenthesis, Decimal to binary conversion, Representation of multiple stacks using single array.Recursion : Definition, Writing recursive functions, How recursion works ? Simulating recursion using stack.QueuesFundamentals, Queue as ADT, Representation and implementation of queue using arrays, Circular queue : Representation and implementation, Applications of queue : Josephus problem, Job scheduling, Queue simulation, Categorizing data, Doubly ended queue, Representation of multiple queues using single array, Priority queue.Searching and SortingSearching : Sequential, Binary and index sequential search.Sorting : General concepts : Sort order, Sort stability, Efficiency and passes, Bubble sort, Selection sort, Insertion sort, Shell, Radix, Quick and merge sort.Algorithm Analysis and StrategiesAlgorithm analysis : Time complexity : Real time and frequency count, Big 'O' and notations, Space complexity : Compile-time and run-time, Best, Average and worst cases. Algorithmic strategies : Use and the peculiar characteristics of each type, Divide and conquer (Quick sort/Tower of Hanoi), Backtracking (Eight queens problem), Greedy (Job scheduling with deadlines), Dynamic programming (Example triangulation problem) (Implementation not expected for all the examples).Programming Laboratory |

### What people are saying - Write a review

User Review - Flag as inappropriate

useful to a great extend ... awesome book ...

User Review - Flag as inappropriate

good one!!!!!!!!!!!!!!!!!