Data structures and Algorithm Analysis in C++ By Mark Allen Weiss Buy Online

Data structures and Algorithm Analysis in C++ by Mark Allen Weiss: The book comprises chapters on algorithm analysis, trees, hashing, sorting, graph algorithms and amortized analysis. In addition, the book consists of several illustrations and examples to understand the concepts better. Data Structures and Algorithm Analysis in C++ is a comprehensive book for undergraduate students of Computer Science Engineering. This book is essential for software engineers preparing for competitive examinations like GATE and IES.


Data structures and Algorithm Analysis in C++ by Mark Allen Weiss Buy Online:

Last update was in: August 19, 2017 2:35 pm

Data Structures and Algorithm Analysis in C++ Book by Mark Allen Weiss (Author)

The C++ language is brought up-to-date and simplified and the Standard Template Library is now fully incorporated throughout the text. Data Structures and Algorithm Analysis in C++ is logically organized to cover advanced data structures topics from binary heaps to sorting to NP-completeness. Figures and examples illustrating successive stages of algorithms contribute to Weiss’ careful, rigorous and in-depth analysis of each type of algorithm.

Array Topics:

  • Array Rotations
  • Arrangement Rearrangement
  • Order Statistics
  • Range Queries
  • Searching and Sorting
  • Optimization Problems
  • Matrix
  • Misc

About Pearson

Pearson Education has been publishing books on all genres like science, technology, law, business, humanities and others, and has been educating more than a hundred million people across the world. Their books have not only been helping students in learning, but are also aiding teachers and professionals. Pearson Education India publishes academic books and reference books in various fields like business and management, computer science and other engineering domains, competitive exam guides among other types of books. Some of the books published by Pearson Education India are Decision Support and Business Intelligence systems, Electromagnetic Field Theory, Computer Architecture and Organization, Managing Business Process Flows and A Critical Companion to Compulsory English.

Like arrays, Linked List is a linear data structure. Unlike arrays, linked list elements are not stored at contiguous location; the elements are linked using pointers.

Singly Linked List:

    1. A Programmer’s approach of looking at Array vs. Linked List
    2. Find Length of a Linked List (Iterative and Recursive)
    3. Search an element in a Linked List (Iterative and Recursive)
    4. How to write C functions that modify head pointer of a Linked List?
    5. Swap nodes in a linked list without swapping data
    6. Write a function to get Nth node in a Linked List
    7. Print the middle of a given linked list
    8. Nth node from the end of a Linked List
    9. Write a function to delete a Linked List
    10. Write a function that counts the number of times a given int occurs in a Linked List
    11. Reverse a linked list
    12. Detect loop in a linked list
    13. Merge two sorted linked lists
    14. Generic Linked List in C
    15. Given a linked list which is sorted, how will you insert in sorted way
    16. Given only a pointer to a node to be deleted in a singly linked list, how do you delete it?
  1. Function to check if a singly linked list is palindrome
  2. Intersection point of two Linked Lists.
  3. Recursive function to print reverse of a Linked List
  4. Remove duplicates from a sorted linked list
  5. Remove duplicates from an unsorted linked list
  6. Pairwise swap elements of a given linked list
  7. Practice questions for Linked List and Recursion
  8. Move last element to front of a given Linked List
  9. Intersection of two Sorted Linked Lists
  10. Delete alternate nodes of a Linked List
  11. Alternating split of a given Singly Linked List
  12. Identical Linked Lists
  13. Merge Sort for Linked Lists
  14. Reverse a Linked List in groups of given size
  15. Reverse alternate K nodes in a Singly Linked List
  16. Delete nodes which have a greater value on right side
  17. Segregate even and odd nodes in a Linked List
  18. Detect and Remove Loop in a Linked List
  19. Add two numbers represented by linked lists | Set 1
  20. Delete a given node in Linked List under given constraints
  21. Union and Intersection of two Linked Lists
  22. Find a triplet from three linked lists with sum equal to a given number
  23. Rotate a Linked List
  24. Flattening a Linked List
  25. Add two numbers represented by linked lists | Set 2
  26. Sort a linked list of 0s, 1s and 2s
  27. Flatten a multilevel linked list
  28. Delete N nodes after M nodes of a linked list
  29. QuickSort on Singly Linked List
  30. Merge a linked list into another linked list at alternate positions
  31. Pairwise swap elements of a given linked list by changing links
  32. Given a linked list of line segments, remove middle points
  33. Construct a Maximum Sum Linked List out of two Sorted Linked Lists having some Common nodes
  34. Can we reverse a linked list in less than O(n)?
  35. Clone a linked list with next and random pointer | Set 1
  36. Clone a linked list with next and random pointer | Set 2
  37. Insertion Sort for Singly Linked List
  38. Point to next higher value node in a linked list with an arbitrary pointer
  39. Rearrange a given linked list in-place.
  40. Sort a linked list that is sorted alternating ascending and descending orders?
  41. Select a Random Node from a Singly Linked List
  42. Why Quick Sort preferred for Arrays and Merge Sort for Linked Lists?
  43. Merge two sorted linked lists such that merged list is in reverse order
  44. Compare two strings represented as linked lists
  45. Merge two sorted linked lists such that merged list is in reverse order
  46. Convert a given Binary Tree to Doubly Linked List | Set
  47. Check if a linked list of strings forms a palindrome
  48. Sort linked list which is already sorted on absolute values
  49. Delete last occurrence of an item from linked list
  50. Delete a Linked List node at a given position
  51. Linked List in java

Circular Linked List:

  1. Circular Linked List Introduction and Applications,
  2. Circular Linked List Traversal
  3. Split a Circular Linked List into two halves
  4. Sorted insert for circular linked list

Doubly Linked List:

  1. Doubly Linked List Introduction and Insertion
  2. Delete a node in a Doubly Linked List
  3. Reverse a Doubly Linked List
  4. The Great Tree-List Recursion Problem.
  5. Copy a linked list with next and arbit pointer
  6. QuickSort on Doubly Linked List
  7. Swap Kth node from beginning with Kth node from end in a Linked List
  8. Merge Sort for Doubly Linked List


Optimization Problems :

  • Largest Sum Contiguous Subarray
  • Maximum profit by buying and selling a share at most twice
  • Find the subarray with least average
  • Find the minimum distance between two numbers
  • Minimize the maximum difference between the heights
  • Minimum number of jumps to reach end
  • Dynamic Programming | Set 14 (Maximum Sum Increasing Subsequence)
  • Smallest subarray with sum greater than a given value
  • Find maximum average subarray of k length
  • Count minimum steps to get the given desired array
  • Longest Span with same Sum in two Binary arrays

Searching and Sorting :

  • Search, insert and delete in an unsorted array
  • Search, insert and delete in a sorted array
  • Given an array A[] and a number x, check for pair in A[] with sum as x
  • Majority Element
  • Find the Number Occurring Odd Number of Times
  • Find the Missing Number
  • Merge an array of size n into another array of size m+n
  • Leaders in an array
  • Sort elements by frequency | Set 1
  • Count Inversions in an array | Set 1 (Using Merge Sort)
  • Sort an array of 0s, 1s and 2s
  • Find the Minimum length Unsorted Subarray, sorting which makes the complete array sorted
  • Equilibrium index of an array
  • Count number of occurrences (or frequency) in a sorted array
  • Find the repeating and the missing | Added 3 new methods
  • Median in a stream of integers (running integers)
  • Find a Fixed Point in a given array
  • Find sub-array with given sum
  • Find a triplet that sum to a given value
  • Find the two numbers with odd occurrences in an unsorted array
  • Find a pair with the given difference
  • Find four elements that sum to a given value | Set 1 (n^3 solution)
  • Find four elements that sum to a given value | Set 2 ( O(n^2Logn) Solution)
  • Median of two sorted arrays of different sizes
  • Count the number of possible triangles
  • Find a peak element
  • Find number of pairs (x, y) in an array such that x^y > y^x
  • Count all distinct pairs with difference equal to k
  • Find if there is a sub-array with 0 sum
  • Given a sorted array and a number x, find the pair in array whose sum is closest to x