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)
    Van Gundy (1993) believes ‘a problem can be defined as any situation in which a gap is perceived to exist between what is and what should be.’ Based on this definition, a problem solving process is one whereby a situation that is not as it should be is changed into one that is as it should be. However, it should be noticed that not all problems require the use of a creative problem solving process (CPS). 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. (see Fig 3.1) Problem solving occurs in a multitude of domains and it is perhaps not surprising therefore to note that numerous models appear in the literature to describe the process. In addition, the decision-making literature is also replete with models reflecting interest in the subject in different domains. I have put together the model below to reflect some of the various thoughts and ideas that exist on the matter.
  • 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)
    It is very difficult to teach anyone to solve problems. 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, H3 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. Human blood is slightly basic and has a pH of approximately 7.40. If the pH falls, a condition known as acidosis can occur. Death may arise if the pH drops below 6.80. How many times greater is the hydronium ion concentration at pH 6.80 than at pH 7.40?
  • Cognitive Development
    eBook - ePub

    Cognitive Development

    Neo-Piagetian Perspectives

    • Sergio Morra, Camilla Gobbo, Zopito Marini, Ronald Sheese(Authors)
    • 2012(Publication Date)
    • Psychology Press
      (Publisher)
    Knowledge also plays a part in insight problems, in this case as a factor in the kind of situational representation activated. 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