An algorithm is a method of problem solving that uses logical reasoning to perform tasks as efficiently as possible. Although you may think that only computers use algorithms, in reality, people solve problems algorithmically every day. If you want to improve your own algorithmic thinking, approach all problems as a logical task. Identify the problem clearly and provide as many details of the problem as you can. Use the "if-then" method to determine the best steps to solve the problem effectively. Practice this way of thinking every day by using the algorithmic strategy for all your daily tasks, drawing decision trees and playing games to sharpen your logical reasoning.

## [ Edit ] Step

### [ Edit ] Work out problems logically

- Clearly identify and define the problem to decide how to proceed . All algorithms start with a clear definition of the problem or task. Take a look at the task and define the problem as clearly as you can. With this information, you can then design the sequence of steps to solve the problem in the most logical way.
^{[1]}- Once you have identified a problem, you can put it in a simple sentence. For example, if your house is always cluttered, you could say, "I need to develop a system to better organize my belongings."
- These problems need not be complicated. You can use the same logical reasoning to decide what you want to eat. The problem may be: "I can't decide what to order from the menu." This is a clear definition of a problem and a task that must be solved.
- Alternatively, you can have only one task rather than one problem. Your task might be: "I have to finish food shopping within 30 minutes." Use the same techniques to perform this task.

- Enter any information you already know. An algorithm only works if you enter the correct inputs for the system to solve a problem. Treat your brain the same way. It can only solve problems if it has the right information. Once you have identified and stated a problem, you begin to formulate your strategy for solving it. Observe the situation and learn more. Add additional information that you collect and state the problem more clearly.
^{[2]}- For example, the problem could be: "My car makes a strange noise." This is a good start, but too broad for effective problem solving. Enter more information about where the sound comes from, how it sounds and when it is displayed. Work down to, "My car makes a metallic rattling noise from the front end when I apply the brakes at over 30 km / h."
- This strategy also works with simple tasks. If you only have 30 minutes to complete your food shopping, start by entering your shopping list and store layout. Then use that information to plan the order you go down each time.

- Divide all data into smaller pieces. Make each task as basic as possible. This makes the problem-solving process much more manageable. Don't worry about putting the right order on events yet. Right now you list all the things you need to do to solve the problem.
^{[3]}- If you want to clean your home, for example, think about how you would break the task down. You have to vacuum, scrub the bathroom floors, pick up dirty clothes, take out the trash, clean the counters, dust the cabinets and wash the windows. These tasks are not necessarily in order, but they are manageable tasks that you can further divide.

- Organize steps in the most logical order. Algorithms are about solving tasks as efficiently as possible. Once you have defined the problem and divided the necessary information, you put this information in the most logical order. Think of each step that depends on a previous one and order the information about this relationship.
^{[4]}- If you stick with the household example, think of the most logical order for your tasks. Logically, you can't suck the floor until you pick up the clothes, so pick up the clothes first. In the same way, you cannot wash the windows if the floor is wet from mopping, so clean the windows before moping the floor.

- Expect the variables using the "if-then" method. Not all problems have a simple sequence of events. In many problems or tasks, there are several paths that can be changed based on the inputs. This is where the "if-then" method comes in, and it is an important part of the algorithms. Consider the various variables you may encounter when solving this problem. Then think about what you would do if you came across each variable. With this approach, you can work your way through a problem like a logical system.
^{[5]}- If your problem is a strange noise in your car, this strategy can help you find it. Your sequence may be: “If the sound is a scream from the tires, I will check the brakes. If the sound is a metal knock, I will check the engine. ”
- This strategy is basically how an algorithm works and can get very detailed. Add as many inputs as you need to determine any variables that may occur.

- Design your steps around the variables you may encounter. After dividing the steps and predicting variables, then come up with a design for how to solve the problem. Think of this process as a flow chart. Map your sequence of action and what steps you will take if you come across certain variables.
^{[6]}- If you agree with the car example, think about how to find the sound your car makes. Once you have found the source, then plan the next steps for how to fix the problem.
- The following is a logical sequence of events based on the variables you would encounter when fixing a car: If the sound comes from the tires, I'll check the brakes. If the brakes are new, I should check my bearings. If the bearings are bad, I'll replace them. If I can't find the source of the noise, I'll take the car to the mechanic.
- If you were designing a computer algorithm, it would need very precise steps and inputs planned to the smallest detail. Since the human mind can handle more nuance than a computer, you can be a little more general with your steps when solving a problem.
^{ [7] }

- Plan a loop in your algorithm if you do not solve the problem first. Designing an algorithm can be a test-and-error process, and you may not get it right the first time. In this case, plan to go back to the beginning and work through the problem again. In computer programming, this is a loop. Think of it as a "back to the board" method to work through problems.
^{[8]}- Loops are important because they prevent you from going down a road that does not work. If your initial solutions do not solve the problem, do the same measures counterproductively. Circling back and restructuring your strategy has a much better chance of succeeding.
- A loop would be useful if you do not find the source of the sound in your car. You originally anticipated that the problem might be the brakes or the engine, but in your investigation you find that it did not come from any of the sites. In this case, you go back to the beginning. Drive the car around, apply the brakes and use different speeds to try to find the sound source.

- Perform the actions based on the variables you encounter. When the planning phase is complete, you begin to solve your problem. Work through your flow chart and follow specific actions based on the variables you encounter. Follow the process until you find the root of the problem and solve it.
^{[9]}- Here is an algorithmic way to fix your car: There comes a strange noise from my car. If it's a scream, I'll check the tires. If it's a blow, I'll check the engine. The sound is a scream, so I'll check the brakes. I remove my brake pads and see that it is worn. I install a new brake pad and the sound is gone. I have solved the problem.
- Remember that your algorithm may encounter unexpected variables. You may want to check your brakes, just to find out that there is also a hole in your tire. This is a whole new problem that requires a new set of measures. Adjust your setting if you encounter unexpected variables.

### [ Edit ] Practice Your Everyday Life

- Approach your daily tasks because they are algorithms. The world is full of more algorithms than you might realize, people usually don't think of them this way. Practice your algorithmic thinking by solving your daily tasks as if they are algorithms. Plan out logical steps and use the if-then method to execute them. Over time, you will get used to solving problems in this way.
^{[10]}- For example, a recipe is essentially an algorithm. It solves the problem of creating a meal using a logically ordered step list.
- Think about your commute to work. You can say, "If there is traffic on the highway, I'll take the side streets." This is another everyday algorithm that many people use all the time.

- Plan your clothes with the if-then strategy. Dressing is a good everyday example of an algorithm. Everyone makes a set of decisions based on the weather, workplace, weekday and personal style to choose clothes. Visualize these steps as an algorithm to train your mind to think algorithmically.
^{[11]}- A simple algorithm for dressing is: "If it rains, I will wear a jacket. It will not rain. Therefore I will not wear a jacket." This is a logical step. of flows.
- Another good example is: "If we have a meeting today at work, I will wear a tie. If we do not, I will dress relaxed."

[19659009] Make a decision tree or flow chart to solve problems. Sometimes algorithms are difficult to visualize, especially when they become more complex. Create a visual plan for your decisions by making a decision tree or flow chart. At the top, place your problem or task Then list the possible steps you can take to perform the task. Be as specific as you can. Once you have done that, arrange the steps in the most logical order to perform the task.

^{[12]}[13]- A strategic board game like Risk is a good low-tech alternative that you can play with your friends. The game involves planning and responding to inputs and variables. Games like this are a fun way to practice your algorithmic skills.
- Chess is also a good board game for logical thinking.
- Also check apps and mobile games. There are many logic games that can help you improve your thinking.

## [ Edit ] References

- ↑ https://www.cs.cmu.edu/~112. //www.teachermagazine.com.au/articles/teacher-qa-algorithmic-thinking Chapter19659063vard ↑ http://db.cs.duke.edu/courses/summer04/cps001/labs/plab2.html [19659064][1945 https://www.teachermagazine.com.au/articles/teacher-qa-algorithmic-thinking
- ↑ https://www.cs.jhu.edu/~jorgev/cs106 / ProblemSolving .html Tu 1919909066 ↑↑ https://www.comp.nus.edu.sg/~cs1101x/4_misc/jumpstart/chap3.pdf
- ↑ https://www.comp. nus.edu.sg/~cs1101x/4_misc/jumpstart/chap3.pdf Chapter19659068strong ↑ https://www.cs.jhu.edu/~jorgev/cs106/ProblemSolving.html
- ↑ http: //db.cs.duke.edu/courses/summer04/cps001/labs/plab 2.html
- [1945 http://db.cs.duke.edu/courses/summer04/cps001/labs/plab2 .html
- ↑ https://www.teachermagazine.com. au / articles / teacher-qa-algorithmic thinking
- ↑ https://www.khanacademy.org/computing/computer-science/algorithms

Source link