Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
There are very good books on Data Structures and/or algorithms featuring languages like C, C++ or Python. A particular example is "Data Structures Using C and C++ by Yedidyah Langsam, Moshe J. Augenstein and Aaron M. Tenenbaum".
In similar vein, are there books on data structures and/or algorithms in scheme programming language?
To add to Chris Jester-Young's answer you have SICP as videoes lectures as well, taught by the authors of the book. It's worth the time! The Scheme standard has changed a little since then, but if you use DrRacket you may be interested in a SICP compatibility module which is really easy to install.
Purely functional data structures (PDF), also available as a book in book stores. It's language agnostic and the code of the book is in ML, but it says it can easily be ported to strict evaluation language, like Scheme.
Yes, Structure and Interpretation of Computer Programs, more commonly known as SICP.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I'm a self taught Ruby on Rails engineer, and I'm looking to improve my CS understanding. However, most books about data structures and algorithms are written in Java/C/C++/etc, which I don't know. Is there text on these topics using Ruby? Or do you feel Java is similar enough to Ruby that I could survive through a book?
Is there any recommended text for someone coming from my background?
P.S. Recently I've been looking at Objective C, so I'm not completely blind to statically typed languages.
There's a bunch of books on algorithms that are not tied to specific language. Check
http://www.amazon.com/Algorithms-Sanjoy-Dasgupta/dp/0073523402
http://www.amazon.com/Introduction-Algorithms-Thomas-H-Cormen/dp/0262033844
I also recommend fundamental, still non-finished classics
http://www.amazon.com/Computer-Programming-Volumes-1-4A-Boxed/dp/0321751043
If you are jumping into Obj-C it might actually be very worth your time to learn C first. Objective C is very closely related to C minus the odd syntax of Obj-C. In that case you may want to consider K and R which is considered the bible of C to learn that first which will get you started with it to teach you the basics of C and data structures you can later expand on. Also, in case you are learning Objective C to program iOS you may want to be on the cutting edge and learn Swift since Apple is moving to Swift for the future. It is much easier actually and closer to Ruby!
Good luck.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I've used Scheme and Clojure, I've played a lot with their macro systems and the lisp syntax(lack of syntax) possiblities.
However I haven't found many other languages with macro systems as sophisticated and useful as those in languages with Lisp syntax.(I don't count C/C++)
Are there some notable examples?
Dylan also has a macro system, and doesn't have the classic Lisp-like, fully-parenthesized syntax.
Allegedly Mathematica. I haven't used it myself, though as per this answer, it's quite a bit more confusing than Lisp/Scheme macros.
Depending on how you define "macro system", Template Haskell might count too.
Of Algol dialects with macros (meta programming capabilities) I can think of Nemerle and Perl6. That means it's not impossible to have powerful macros in Algol dialects, but it's always very difficult compared to any LISP dialect because Algol syntax seldom resemble it's own AST tree like LISP dialects do.
My language, Slate, has a macro system at Lisp's level but manages it with Smalltalk-style syntax. In particular, we manage to be hygienic by default (but can capture) and avoiding CONS cells means that our AST nodes are data types that can define code-walking recursive methods, which means that code-walking and transformation is much easier than in Lisp.
But, plenty of newer languages (I intend to evaluate Rust and Julia) have some form of syntactic macro, so there will be more examples to choose from.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
On eulerproject.net the context is mainly related to mathematics.
Is there a website for practising (and solving) common issues of algorithms, which are non-mathematical?
I am talking about issues e.g. NP-hard problems or good strategies for efficient data handling (divide+conquer, dictionaries..).
Thanks for every helpful answer in advance.
Kind regards
Project Rosalind has a good selection of problems relating to bioinformatics algorithms.
Hackerrank has a choice of problems in categories including NP-complete, Dynamic programming, Graph theory.
you can find problems on topcoder
and there
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I'm new to web programming. Where is the best place online can I find examples of algorithms created to solve specific problems ie. reputation system for a user controlled forum.
On my opinion a good introduction to this issue you can fing in this book:
Paperback: 336 pages
Publisher: Yahoo Press; 1 edition (March 16, 2010)
Language: English
ISBN-10: 059615979X
ISBN-13: 978-0596159795
Table of Contents:
Part I. Reputation Defined and Illustrated
Reputation Systems Are Everywhere
A (Graphical) Grammar for Reputation
Part II. Extended Elements and Applied Examples
Building Blocks and Reputation Tips
Common Reputation Models
Planning Your System’s Design
Objects, Inputs, Scope, and Mechanism
Displaying Reputation
Using Reputation: The Good, The Bad, and the Ugly
Application Integration, Testing, and Tuning
Case Study: Yahoo! Answers Community Content Moderation
Here you can buy it: http://www.amazon.com/Building-Reputation-Systems-Randy-Farmer/dp/059615979X
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I know C and C++ and I have some experience with Java, but I don't know too much about Algorithms and Data Structures.
I did a search on Amazon, but I don't know what book should I choose. I don't want a book which put its basis only on the theoretic part; I want the practical part too (probably more than the theoretical one :) ).
I don't want the code to be implemented in a certain language, but if is in Java, probably I would happier. :)
Don't buy any book use
MIT OCW
.
Introduction to Algorithms by Cormen et. al. is a standard introductory algorithms book, and is used by many universities, including my own. It has pretty good coverage and is very approachable.
And anything by Robert Sedgewick is good too.
I think introduction to Algorithms is the reference books, and a must have for any serious programmer.
http://en.wikipedia.org/wiki/Introduction_to_Algorithms
Other fun book is The algorithm design manual http://www.algorist.com/. It covers more sophisticated algorithms.
I can't not mention The art of computer programming of Knuth
http://www-cs-faculty.stanford.edu/~knuth/taocp.html
If you want the algorithms to be implemented specifically in Java then there is Mitchell Waite's Series book "Data Structures & Algorithms in Java". It starts from basic data structures like linked lists, stacks and queues, and the basic algorithms for sorting and searching. Working your way through it you will eventually get to Tree data structures, Red-Black trees, 2-3 trees and Graphs.
All-in-all its not an extremely theoretical book, but if you just want an introduction in a language you are familiar with then its a good book. At the end of the day, if you want a deeper understanding of algorithms you're going to have to learn some of the more theoretical concepts, and read one of the classics, like Cormen/Leiserson/Rivest/Stein's Introduction to Algorithms.
If you don't need in a complete reference to the most part of algorithms and data structures that are in use and just want to get acquainted with common techniques I would recommend something more lightweight than Cormen, Sedgewick or Knuth. I think, Algorithms and Data Structures by N. Wirth is not as bad choice even in spite of it was printed far ago.