Mathematics

# Word Search Assignment On Data Structures In CPP

You can download the solution to the following question for free. For further assistance in Mathematics assignments please check our offerings in Accounting assignment solutions. Our subject-matter experts provide online assignment help to Accounting students from across the world and deliver plagiarism free solution with free Grammarly report with every solution.

(ExpertAssignmentHelp does not recommend anyone to use this sample as their own work.)

Assessment Type

Assignment

Word Count

2500 words

Subject

Data Structures & Algorithms

5 Days

## Assignment Criteria

• A brief review of the data structures you have implemented: how are they organised and how are  they operated?
• For each combination of dictionary and puzzle data structure you have investigated, how does the  performance compare with the other scenarios (this discussion should make reference to your  timing and activity results);
• Discuss whether it is more efficient to (a) select words from the dictionary and then search for  them in the puzzle grid, or (b) visit each letter in the puzzle grid and attempt to match sequences  from that position against the dictionary content. To what extent are these alternative approaches  influenced by the alternative data structure strategies?

## Why Choose Us?

Assignment Understanding Brief

Review your requirements with our FREE Assignment Understanding Brief and avoid last minute chaos.

Global PhD Experts

We provide you services from PhD experts from well known universities across the globe.

Free Grammarly Report

No more plagiarism worries. We give you a FREE Grammarly report with every assignment.

Our experts work round the clock to provide you with solutions before the scheduled deadline.

## Assignment Solution

### INTRODUCTION

The Primary purpose of this project was to understand the implementation of various data structures and the associated algorithms while trying to solve the word search puzzle.

Environment:

I developed the code on visual studio 2013 community edition as a VC++ console project.

### DATA STRUCTURES

Puzzles:The Simple Puzzle is nothing but N x N two-dimensional character grid, which contains the puzzle as in.

The Advanced Puzzle consists of an additional list associated with each and every grid point which has a sequence of words in each of the eight directions in which a valid word can appear.

Dictionary:The Simple Dictionary is a vector of strings which contains every word as an element.

The Advanced Dictionary has a mapping of each of the subwords of every word, so we can check if a sub-word is already there we need not re-event the reel so to speak. Instead of implementing a tree which would have been very space intensive but performance wise efficient I implement a mechanism where we have identified words that are a part of some other word and use them to continue our processing.

### SEARCHING ALGORITHMS

Simple-SimpleThe first step is to identify the location of the first letter of the word in the puzzle grid.

Then identify the direction which is a legitimate candidate to contain the string and search in that direction for the existence of the string.

I have used the c++ data structures of vector and maps

Simple-AdvancedThe Advanced Dictionary recognizes sub-words so that information can be used in the further runs.

Advanced-SimpleAdvanced puzzles have eight direction vector associated with it which has sequences on all direction from any given grid position so it is faster to look up.