Computer Science

Problem Solving Techniques

Problem solving techniques in computer science refer to systematic approaches used to identify, analyze, and solve complex problems. These techniques often involve breaking down problems into smaller, more manageable components, using algorithms and data structures, and applying logical reasoning to find efficient solutions. Common problem-solving techniques in computer science include divide and conquer, dynamic programming, and greedy algorithms.

Written by Perlego with AI-assistance

3 Key excerpts on "Problem Solving Techniques"

Index pages curate the most relevant extracts from our library of academic textbooks. They’ve been created using an in-house natural language model (NLM), each adding context and meaning to key research topics.
  • Absolute Essentials of Creative Thinking and Problem Solving
    • Tony Proctor(Author)
    • 2021(Publication Date)
    • Routledge
      (Publisher)

    ...Indeed, in some cases a CPS process would not be as useful as an existing routine or ready-made solution. These kinds of solutions generally exist for recurring problems, and when it is possible to use one it is often much quicker and more practical. The testimony of scientists and others indicates that the processes of problem solving are not entirely open to consciousness. One may begin by reasoning consciously and deliberately, but the solution often comes in its own time, suddenly and ‘out of nowhere.’ The mathematician Gyorgy Polya introduced the idea that there are general techniques for solving problems, which he called ‘heuristics’: procedures that often help though they cannot guarantee success. One useful heuristic is working backwards from the solution: if the answer were known, what characteristics would the problem possess? Another important heuristic is to establish sub-goals: think of some situation from which it might be easier to obtain the solution, and work towards that situation first. Still another is means–end analysis: establish lists of methods that are useful for attacking various kinds of goal or sub-goal, and work through the list systematically. Recent research on problem solving has involved computer programs that enable a computer to solve difficult problems. If the sequence of steps taken by the machine is similar to the sequence reported by human subjects who think aloud, the programme itself can be regarded as a theory of the problem solving process. The programmes developed go through the same sequences of steps (and make the same sorts of errors) as people who are thinking aloud; thus, they probably incorporate many of the principles that govern human problem solving. It is useful to put together a general model of problem solving as a prior step to looking at the process of creative problem solving...

  • Effective Learning in the Life Sciences
    eBook - ePub

    Effective Learning in the Life Sciences

    How Students Can Achieve Their Full Potential

    • David J. Adams, David J. Adams(Authors)
    • 2011(Publication Date)
    • Wiley
      (Publisher)

    ...There are some strategies that you can employ to help you and some skills that will undoubtedly be of value. The aim of this chapter is to introduce some of these skills and strategies. But, in the end, it is practice and experience that improves problem-solving skills. 2.2 Problem-solving strategies Over the years many models of problem solving have been proposed. Some of the numerous strategies or techniques are more useful for bioscientists than others. Among the most relevant are the following. Analogy : using a solution that solved an analogous problem. This is particularly useful when solving algorithmic problems. You may often find yourself looking back through previous problems to find something similar. For example, you could use the solution to Problem 1 (above) to help you solve the following problem: Problem 3 The pH of saliva is 6.8. Calculate the concentration of hydronium ions, H 3 O +. Research: adapting existing solutions to similar problems. You may have used this technique before when you tried to find examples of similar problems and adapted strategies previously used by others. For example, you could start from the solution to Problem 1 (above) to help you solve the following: Problem 4 The hydronium ion concentration in a sample of saliva is 8.00 × 10 −7 M. Predict whether its pH lies within the normal range. Hypothesis testing: assume a possible solution to a problem then try to prove or disprove it. You may have used this technique before when working backwards through a problem from the known correct answer. This technique is useful only when an answer is known. Divide and conquer: break down a large, complex problem into smaller, more solvable or familiar problems. This is a useful strategy but it takes practice and experience to spot the smaller elements that make up a complex problem. Here is a simple example. Problem 5 can easily be divided into simpler steps, as shown in Problem 6. Problem 5 Blood is an example of a buffered solution...

  • Cognitive Development
    eBook - ePub

    Cognitive Development

    Neo-Piagetian Perspectives

    • Sergio Morra, Camilla Gobbo, Zopito Marini, Ronald Sheese(Authors)
    • 2012(Publication Date)
    • Psychology Press
      (Publisher)

    ...Existing schematic knowledge can lead to a univocal representation of presented material or of instructional elements in a manner that may often be inadequate for attaining the desired goal. Domain knowledge is not a factor in problems of the puzzle type such as the Tower of Hanoi, and it is this characteristic that has attracted the attention of researchers to them. Using these problems it is possible to study the various strategies children employ and their effectiveness without concern that different levels of knowledge may interfere in the solving process. Algorithms are available for some well-defined problems and their application will proceed smoothly within a given processing system, reduce searching of the problem space to a minimum and, most importantly, “guarantee solution of problems of the class in question” (Newell & Simon, 1972, p. 822). Yet, in some problems the algorithms can only be applied with the aid of a computer, given that the number of alternatives to examine exceeds the capacity of the human mind. For example, in solving an 8-letter anagram one could generate more than 40,000 letter combinations to be checked for semantic plausibility. The problem-solver, thus, often makes use of heuristics, short cuts that limit the number of alternatives to examine, but that do not always result in success. We now consider one of the well-defined problems for which no algorithm is available. This problem, therefore, requires the use of heuristics, or general strategies, that can facilitate the problem-solver’s search for the desired solution. Heuristics in the Solution of Well-Defined Problems The utility of heuristics depends on the type of problem involved. For example, a very simple heuristic, generate and test (generate a possible solution and test whether it is the desired one) is useful in situations presenting a relatively small number of possibilities...