Data Structures and algorithms

introduction..

beauty of computer science lies in efficiency with which it solves complicated problems which may take days n yrs 4 a normal human to to solve.Ever challenging task being to reduce consumption of time,money resourses for a perticular problem.Data-str deals with storing data effectively reducing consumption of the resourses.Algorithms are the strategies(in normal user language) to solve a problem.In this here we go about effective algos once again to reduce the resourse consumption.
DS(data Str) is very useful for advanced studies in computer science and a must read for aspiring IT proffessionals!

who should read this?

I'm a java programmer so my style of illustration here may or may not help just beginners.But Data-str by itself is a much independent subject basic programming knowledge is enough for you to take-off..
so haapy reading

complexity

  • Recurrence Relations
  • Iteration
  • Master’s Theorem
  • Examples

Elementary Data Structures

Here we examine representat'n of dynamic sets with simple data str tht use pointers.

  • Linked Lists (Insertion, Deletion, Reverse )
  • Arrays
  • Stacks
  • Queue

Hashing

Hashing

  • Hash Functions (Linear and Quadratic)
  • Collisions and Chaining
  • Order
  • Examples

Expression Evaluation

  • Infix to Postfix

Sorts

Here v 5nd brief descript'n of different sorting algos

  • Insertion
  • Bubble Sort
  • Merge Sort
  • Quick Sort (Partition Algorithm – Complexity Calculation)

  • Selection Sort
  • Bucket Sort
  • Counting Sort
  • Radix Sort
  • K th Order Statistics

Tree

  • Terminology (Balanced Tree, Complete Tree, height, L-R children, Parent…)
  • Binary Tree (Insertion, Deletion)
  • Binary Search Tree (Tree formation, Insertion, Deletion)
  • Implementation of Trees

Heap

A heap is a specialized tree-based data structure that satisfies the heap property.We have 2 types of heaps .These are generally used 2 implement priority queues.

  • Heap Sort
  • Time Complexity
  • Example : Trie

B Tree

  • Insertion
  • Deletion
  • AVL

Graphs

In computer science, a graph is a kind of data structure, specifically an abstract data type (ADT), that consists of a set of nodes and a set of edges that establish relationships (connections) between the nodes. The graph ADT follows directly from the graph concept from mathematics.

  • Terminology (Directed, Undirected, Acyclic, Cyclic, Weighted graphs)
  • Representation
    • Adjacency List
    • Adjacency Matrix
  • Traversal
    • BFS-Breadth First Search
    • DFS-Depth First Search
  • Topological Sort

Tree spanning and shortest paths

  • MST-Minimum Spanning Tree
    • Kruskal’ s Algorithm (Greedy Approach)
    • Prim’ s Algorithm
  • Single Pair Shortest Paths
    • Dijkstra’ s Algorithm
  • All Pair Shortest Paths
    • Floyd Warshall’ s Algorithm

greedy algos n dynamic programmin

Greedy algo

Examples

  • Fractional Knapsack Problem

Dynamic Programming

Examples

  • 0-1 Knapsack Problem
  • LCS
  • Sequence
  • Matrix Multiplication

Back Tracking

  • Examples
    • Pole Example
  • Matrix Multiplication
    • Strassen‘ s Multiplication
  • Polynomial Multiplication
    • Karatsuba‘ s Rule
  • Polynomial Evaluation
    • Horner’ s Rule
  • Rehashing

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-Share Alike 2.5 License.