• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Tim Cooke
  • Campbell Ritchie
  • paul wheaton
  • Ron McLeod
  • Devaka Cooray
Sheriffs:
  • Jeanne Boyarsky
  • Liutauras Vilda
  • Paul Clapham
Saloon Keepers:
  • Tim Holloway
  • Carey Brown
  • Piet Souris
Bartenders:

Algorthmic Thinking:Problem based introduction

 
Ranch Hand
Posts: 999
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Algorithms are of great importance but everyday do we face these problems? Unless you are developing application or system in initial phase, we are busy mainly maintaining the application or giving support. So people tend to memorize algorithms or data structures for the sake of appearing for interviews!
Do you/your book recommend any hobby projects so that  we keep active interest in this field?
 
Marshal
Posts: 80617
468
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Arjunkumar Shastry wrote:Algorithms are of great importance but everyday do we face these problems?

Of course you do. Every program more complicated tha “Hello, World” is built on algorithms of some sort, even if experienced people don't notice the algorithm. “The same code as last time,” actually means, “We can use the same algorithm as last time.”

. . . busy mainly maintaining the application . . .

And when your app goes from ten customers a minute to ten thousand, won't you go through it and look at all its algorithms to see whether any need to be altered for performance reasons?

. . . people tend to memorize algorithms or data structures for the sake of appearing for interviews! . . .

Hahahahahaha! Or exams.
Is it a good idea to memorise algorithms? Won't that allow you incomplete recall and errors in the implementation? Shouldn't you have a book or website showing you the correct algorithm so you can implement in properly?
 
Author
Posts: 34
3
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Arjunkumar Shastry wrote:Algorithms are of great importance but everyday do we face these problems? Unless you are developing application or system in initial phase, we are busy mainly maintaining the application or giving support. So people tend to memorize algorithms or data structures for the sake of appearing for interviews!
Do you/your book recommend any hobby projects so that  we keep active interest in this field?



Hi Arjunkumar,

Thank you for writing. A lot of good points by Campbell there, so I'll try not to repeat those.

You've asked a great question. I think that once you start learning about data structures and algorithms, you will see them everywhere. Why is my program so slow? Is this code going to scale to a million users? Is my program correct in all cases -- how do I know?

Personal bias, I know, but I think all programmers need some exposure to algorithms. I don't care so much if someone can implement an algorithm from scratch, more that they can be working on code and notice, "aha wait, can't I just plug Dijkstra's algorithm in here and solve this searching problem lickety-split?"

This is why we put the word 'thinking' in the book. I want people to be able to identify when algorithms might help, and how to think about developing/using algorithms.

As the book explores, the difference between a naive solution and a solution that uses a fast algorithm is shocking. Like, we're talking hundreds or thousands of times faster.

Thank you,
Dan
 
Bartender
Posts: 390
47
Firefox Browser MySQL Database Java Ubuntu
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Arjunkumar Shastry wrote:So people tend to memorize algorithms or data structures for the sake of appearing for interviews!


At the end of the day the purpose of an interview is to determine if you are capable of fulfilling the role. If interviewers are looking for something you will never use in the job, there is something wrong somewhere! I'd much rather go into an interview with a basic but solid knowledge of algorithms and data structures than hurriedly memorize some without being able to really use them in the job I apply for
 
Arjunkumar Shastry
Ranch Hand
Posts: 999
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks all for replies.
 
reply
    Bookmark Topic Watch Topic
  • New Topic