Paperback: 330 pages
Publisher: CreateSpace Independent Publishing Platform; 1 edition (August 11, 2008)
Language: English
ISBN-10: 1438253273
ISBN-13: 978-1438253275
Product Dimensions: 8 x 0.8 x 10 inches
Shipping Weight: 1.8 pounds (View shipping rates and policies)
Average Customer Review: 4.2 out of 5 stars See all reviews (18 customer reviews)
Best Sellers Rank: #189,127 in Books (See Top 100 in Books) #22 in Books > Computers & Technology > Programming > Algorithms > Data Structures #79 in Books > Computers & Technology > Programming > Languages & Tools > C & C++ > C #738 in Books > Textbooks > Computer Science > Programming Languages
After some thought, I decided to change the rating of the book from 5 stars to 4.First, the good:The book is fairly well contained, and offers a complete introduction to data structures. The first two chapters review struct declarations and pointers in C. The rest of the book covers linked lists, stacks, queues, hash tables, matrices, trees, graphs, and sorting. The book is well written, and the chapters are very well organized. As with every technical subject, rereading a section once or twice will probably be necessary. But once it sinks in, it is a fantastic feeling! I think that the problems at the end of the chapter are extremely valuable. Some problems are simple drills, but others will require you to apply what you learned to solve real life problems. Some require you to come up with your own algorithms. In one problem, the author guides the reader toward making a "big number" library that can handle arbitrarily large integers. I found this problem particularly enlightening, and I felt very accomplished upon its completion.Now, for the bad:In my opinion, the author's coding style is a little sloppy. My biggest issue is that he doesn't emphasize the release of dynamically allocated memory. For example, in chapter 4, he includes the complete code needed to implement a stack data structure. However, he doesn't mention anything about creating a function that will release the dynamic memory. This occurs consistently in chapter 5, too. This book is meant to appeal to beginners, and beginners are especially likely to create memory leaks. The author should have addressed this issue.Secondly, a lot of the book's source code assumes that arrays start out with an index of 1. In C, of course, all array elements start with 0.
The only way for me to describe Professor Kalicharan's style of writing and teaching is the following quote attributed to Albert Einstein: "Make everything as simple as possible, but not simpler". Simplicity and (crystal) clarity are his trademark. He just wants you to understand. But he won't dumb down the subject, nor he will get over wordy. He will just use the right explanation, the one that you will remember, and he will describe every step for you so you don't get lost. He will point out what's important; he will make you understand.The book is only 300 pages long but after reading it you will be able to pick up any other book on data structures (whatever the programming language used) and say "The explanation was clearer in Professor Kalicharan's book".The code is simple and clear, you can actually remember it, think about it and play with it - things you can't do with a Data Structures book using OOP where the implementation of the simplest data structure takes at least two pages. Who needs OOP to learn about linked lists, trees or graph? In my opinion OOP takes the fun out learning Data Structures. In this book you will find:StructuresPointersLinked listsStacks and queuesBinary treesSorting (selection sort, insertion sort, heapsort, quicksort, mergesort, Shell sort)GraphsHashingWorking with matricesTo really understand data structures you need to play with them, and to do so all you need is main() and a few others functions. All of them will happily stand in only one file. To understand data structures, to play with them you don't even need to bother yourself with "modular programming" even though the programs in the book are written using modular programming concepts.
Data Architecture: A Primer for the Data Scientist: Big Data, Data Warehouse and Data Vault Data Analytics: Practical Data Analysis and Statistical Guide to Transform and Evolve Any Business Leveraging the Power of Data Analytics, Data Science, ... (Hacking Freedom and Data Driven Book 2) Big Data For Beginners: Understanding SMART Big Data, Data Mining & Data Analytics For improved Business Performance, Life Decisions & More! The Data Revolution: Big Data, Open Data, Data Infrastructures and Their Consequences Starting Out with Java: From Control Structures through Data Structures (2nd Edition) (Gaddis Series) Java Software Structures: Designing and Using Data Structures Java Software Structures: Designing and Using Data Structures (3rd Edition) Starting Out with Java: From Control Structures through Data Structures (3rd Edition) Swift: Programming, Master's Handbook: A TRUE Beginner's Guide! Problem Solving, Code, Data Science, Data Structures & Algorithms (Code like a PRO in ... mining, software, software engineering,) Java Programming Box Set: Programming, Master's Handbook & Artificial Intelligence Made Easy; Code, Data Science, Automation, problem solving, Data Structures & Algorithms (CodeWell Box Sets) Ruby Programming Box Set: Programming, Master's Handbook & Artificial Intelligence Made Easy; Code, Data Science, Automation, problem solving, Data Structures & Algorithms (CodeWell Box Sets) Data Structures and Algorithms Made Easy: Data Structure and Algorithmic Puzzles Data Structures in Java: From Abstract Data Types to the Java Collections Framework Java Programming: Master's Handbook: A TRUE Beginner's Guide! Problem Solving, Code, Data Science, Data Structures & Algorithms (Code like a PRO in 24 ... design, tech, perl, ajax, swift, python) Data Structures and Algorithms Made Easy in Java: Data Structure and Algorithmic Puzzles Ruby: Programming, Master's Handbook: A TRUE Beginner's Guide! Problem Solving, Code, Data Science, Data Structures & Algorithms (Code like a PRO in 24 ... design, tech, perl, ajax, swift, python) Discovering Knowledge in Data: An Introduction to Data Mining (Wiley Series on Methods and Applications in Data Mining) Big Data, MapReduce, Hadoop, and Spark with Python: Master Big Data Analytics and Data Wrangling with MapReduce Fundamentals using Hadoop, Spark, and Python LEARN IN A DAY! DATA WAREHOUSING. Top Links and Resources for Learning Data Warehousing ONLINE and OFFLINE: Use these FREE and PAID resources to Learn Data Warehousing in little to no time Data Just Right: Introduction to Large-Scale Data & Analytics (Addison-Wesley Data and Analytics)