Mastering Algorithms with C: Useful Techniques from Sorting to Encryption 1st Edition
Thumbnail 1

Mastering Algorithms with C: Useful Techniques from Sorting to Encryption 1st Edition

4.2/5
Product ID: 8522590
Secure Transaction

Description

Full description not available

Reviews

4.2

All from verified purchases

C**D

One of the best data structures and algorithms books in any language

Don't be put off by the publication date, this is a timeless classic that will give you practical, hands-on experience with fundamental data structures and algorithms every programmer should understand. With working, annotated implementations it is an invaluable resource whether you are preparing for an interview or just want a better familiarity with how things actually work "under the hood."Even if C is not your primary language (or a language you use at all) C is still the best language for learning data structures and algorithms IMO. Nothing is abstracted away as in a managed environment, you have to do all the heavy lifting yourself. This will give you a far richer understanding of space, performance, and functionality tradeoffs when choosing between different solutions. This low level understanding will give you a leg-up when working in higher level languages like Java and Python.

H**.

Wanted to learn data compression and I did

I bought The Data Compression Book first and got totally lost. I turned to this book and have learned howTo program Huffman trees and have new knowledge of generic pointers and function pointers. Be awareThat the author claims there are plenty of examples but there are none. I’m specifically referring toThe proverbial Foo program created in Main() and there aren’t any. His version of example means implementing a priority queue as a heap, which is going from one abstract type to another. With expected prerequisite knowledge this shouldn’t be an issue for the average reader, and foo programs are probably viewed by the author as narrow minded and unnecessary. One more thing, I’ve noticed the author uses the inefficient order n realloc c function for dynamic memory allocation. Routines that are claimed to work in a certain time (complexity) do not owing to memory needing to be recopied I’ve time tested these against efficient memory resizing techniques to verify this dreaded mistake. And get ready for dozens of wasted pages that used 5 lines of code space and plenty of extra empty lines just for one or two easy comments. Said foo programs could have replaced this space and can clearly demonstrate how so called void pointers and function pointers are actually applied. One extra gripe is that the programs are all completely safeguarded against dereferencing null pointers and other software type errors, which just makes the code listings unnecessarily long for a hobby programmer like me. I’m not misbehaving so who cares? Finally , note you can get the source code on GitHub, which is a huge perk.

M**R

Diverse Areas, Common Solutions

You will see how seemingly unrelated areas of technology can be approached in similar ways. The kind of thinking expressed in the book may apply to topics as diverse as social networks, databases, healthcare systems, air traffic control, video games, robots, drones and mobile apps. Kyle reveals an approach that can improve code reuse, the way code runs, and how the code is fundamentally structured. The code is example code, not real-world code. That means that the code clearly shows the approach to solving a problem so you know how the solution in code may appear. You will still have to adjust the code for style, performance, and security. Importantly, he explains various approaches very well, includes diagrams and uses the C programming language for code examples which makes the code translatable to Java, C++, and PHP. It takes patience and attention to progress through 17 chapters, but the results are well worth it. Can you read the book once? You can as an overview and to become more broadly familiar with the material, but it is definitely a worthwhile reference.

S**N

Good information, but the commenting style really is as bad as people say. Very distracting.

Overall the information presented in this book is good and there’s a good bit of it packed in here, but the commenting style is so completely insane and a constant distraction, especially if you are reading this on an eReader such as a Kindle.Tech books and Kindle don’t usually get along, but there are some great exceptions to this, such as CLR via C# (Richter), but with this book many of the code samples look like an absolute mess because of all the asterisks spanning across the pages (since the Kindle is only so wide and I can only have the font so small).Every single comment is formatted as follows. It doesn’t matter if you’re in the middle of an if-loop or other control structure, they all go like:(blank space)/************************** (except instead of 30 asterisks there’s always 80!)**Comment goes here**/************************** (another 80 stars here)(another blank space)That’s right , every comment takes up 9 lines if your screen is wide enough, even more if characters have to wrap around! It’s completely crazy that the author thinks this is an acceptable commenting style, it’s actually the worst I’ve seen in my entire 18 year career.It would be one thing if these comments were only at the very top of the code snippet or above a method signature or something, but this is his standard commenting style throughout the code, and he writes a LOT of comments, it really beaks up the flow.

B**H

Good for those inexperienced with C

I'm new to C, but not to programming in general.First, my five stars is kind of dependent upon the audience. You shouldn't buy this to teach yourself algorithms, it isn't a textbook. Instead it's quite good as a reference book for how algorithms you know pseudo for should be properly implemented in C. It's also enormously useful for data structure implementation, which can be tricky if you come from mainly using a language without pointers.The only downside is its bigger than necessary due to comment size, but unlike others I don't think the book should really be judged on editor induced padding. It's a solid reference with excellent diagrams and clear explanations.

L**O

Very detailed and well organized

Exactly what I needed. C is a perfect choice of language for demonstrating these concepts.

Common Questions

Trustpilot

TrustScore 4.5 | 7,300+ reviews

Sneha T.

Received my product in pristine condition. Great service overall.

1 month ago

Abdullah B.

Great price for an authentic product. Fast international shipping too!

3 weeks ago

Shop Global, Save with Desertcart
Value for Money
Competitive prices on a vast range of products
Shop Globally
Serving millions of shoppers across more than 100 countries
Enhanced Protection
Trusted payment options loved by worldwide shoppers
Customer Assurance
Trusted payment options loved by worldwide shoppers.
Desertcart App
Shop on the go, anytime, anywhere.
TSh193103

Duties & taxes incl.

Tanzaniastore
1
Free Shipping

with PRO Membership

Free Returns

30 daysfor PRO membership users

15 dayswithout membership

Secure Transaction

Trustpilot

TrustScore 4.5 | 7,300+ reviews

Ali H.

Fast shipping and excellent packaging. The Leatherman tool feels very premium and sturdy.

1 day ago

Fatima A.

Best international shipping I've ever tried. Worth every penny!

3 days ago

Mastering Algorithms With C Useful Techniques From Sorting To Encryption | Desertcart Tanzania