
Algorithm classes that foster logical thinking
Description
Book Introduction
Fundamentals of Algorithm Problem Solving: Preparing for Coding Tests
Algorithmic problem-solving skills are essential competencies for programmers.
To cultivate this, it is good to learn well-known algorithms and frequently asked problem-solving techniques, but more fundamentally, it is important to cultivate a logical thinking style that allows one to formulate and express problems as algorithms when given a problem.
The goal of this book is to instill good problem-solving skills.
The first half consists of several examples that systematically introduce the principles of algorithmic problem solving.
A problem-centered approach naturally stimulates readers' adventurous tendencies.
Core principles of algorithm design, such as invariants, induction, and symmetry, provide a weapon to approach any problem you encounter in the future.
The second half covers the mathematical knowledge that supports the principles and provides the theory necessary to understand the examples.
You can organize just enough mathematical background knowledge to solve algorithmic problems more effectively.
The problems covered in this book are well-known 'fun math problems'.
Finding the answer to a problem is easy, but expressing an algorithm that can solve all types of problems takes practice.
By practicing designing algorithms for various problems, you can naturally acquire the logical thinking and algorithmic approaches necessary for problem solving.
Algorithmic problem-solving skills are essential competencies for programmers.
To cultivate this, it is good to learn well-known algorithms and frequently asked problem-solving techniques, but more fundamentally, it is important to cultivate a logical thinking style that allows one to formulate and express problems as algorithms when given a problem.
The goal of this book is to instill good problem-solving skills.
The first half consists of several examples that systematically introduce the principles of algorithmic problem solving.
A problem-centered approach naturally stimulates readers' adventurous tendencies.
Core principles of algorithm design, such as invariants, induction, and symmetry, provide a weapon to approach any problem you encounter in the future.
The second half covers the mathematical knowledge that supports the principles and provides the theory necessary to understand the examples.
You can organize just enough mathematical background knowledge to solve algorithmic problems more effectively.
The problems covered in this book are well-known 'fun math problems'.
Finding the answer to a problem is easy, but expressing an algorithm that can solve all types of problems takes practice.
By practicing designing algorithms for various problems, you can naturally acquire the logical thinking and algorithmic approaches necessary for problem solving.
- You can preview some of the book's contents.
Preview
index
Part 1: Algorithm Problem Solving
Chapter 1 Introduction
Chapter 2 Invariants
Chapter 3: Crossing the River
Chapter 4 Game
Chapter 5: The Knight and the Gangster
Chapter 6 Induction
Chapter 7: Finding Counterfeit Coins
Chapter 8: The Tower of Hanoi
Chapter 9: Principles of Algorithm Design
Chapter 10 Bridge Crossing Problem
Chapter 11: The Knight's Tour
Part 2 Mathematical Techniques
Chapter 12 The Language of Mathematics
Chapter 13 Boolean Algebra
Chapter 14 Quantifiers
Chapter 15: Elements of Number Theory
Chapter 16: Relations, Graphs, and Path Algebra
Chapter 1 Introduction
Chapter 2 Invariants
Chapter 3: Crossing the River
Chapter 4 Game
Chapter 5: The Knight and the Gangster
Chapter 6 Induction
Chapter 7: Finding Counterfeit Coins
Chapter 8: The Tower of Hanoi
Chapter 9: Principles of Algorithm Design
Chapter 10 Bridge Crossing Problem
Chapter 11: The Knight's Tour
Part 2 Mathematical Techniques
Chapter 12 The Language of Mathematics
Chapter 13 Boolean Algebra
Chapter 14 Quantifiers
Chapter 15: Elements of Number Theory
Chapter 16: Relations, Graphs, and Path Algebra
Detailed image

Publisher's Review
How to Program Well: Make Computers Do the Work
What do you need to make your computer do its job well?
What skills are needed to be good at programming? Does being good at math lead to good programming? While there's a correlation between the two, simply being good at math doesn't necessarily mean you're good at programming.
Programming is the process of issuing a series of instructions to a computer that can perform calculations better than humans, which is a bit different from having a lot of mathematical knowledge or being good at solving problems.
Humans are quite good at executing algorithms but often make mistakes, whereas computers execute algorithms better than humans, provided the algorithms are rigorously well defined.
However, since computers do not have the ability to express algorithms on their own, they have no choice but to rely on the creative human ability to express algorithms.
The ability that programmers can demonstrate here is the ability to express algorithms well.
I've solved many problems, but what if I feel lost even when things change just a little?
Fundamentals of Algorithm Design: Learn Without Code
This book is a little different from other algorithm books.
It does not specifically teach well-known algorithms or problem-solving methodologies.
There is not a single line of code written in a programming language.
It only emphasizes the way of thinking that expresses and formalizes algorithms for solving problems, such as utilizing invariants, induction, and symmetry.
I've solved many problems, but sometimes I'm at a loss as to how to approach a slightly different problem.
You know a certain type of solution, but you don't know the principles that underpin algorithmic problem solving.
By following this book step by step, you will be able to systematically understand algorithm theory and find solutions to any problem you encounter.
What do you need to make your computer do its job well?
What skills are needed to be good at programming? Does being good at math lead to good programming? While there's a correlation between the two, simply being good at math doesn't necessarily mean you're good at programming.
Programming is the process of issuing a series of instructions to a computer that can perform calculations better than humans, which is a bit different from having a lot of mathematical knowledge or being good at solving problems.
Humans are quite good at executing algorithms but often make mistakes, whereas computers execute algorithms better than humans, provided the algorithms are rigorously well defined.
However, since computers do not have the ability to express algorithms on their own, they have no choice but to rely on the creative human ability to express algorithms.
The ability that programmers can demonstrate here is the ability to express algorithms well.
I've solved many problems, but what if I feel lost even when things change just a little?
Fundamentals of Algorithm Design: Learn Without Code
This book is a little different from other algorithm books.
It does not specifically teach well-known algorithms or problem-solving methodologies.
There is not a single line of code written in a programming language.
It only emphasizes the way of thinking that expresses and formalizes algorithms for solving problems, such as utilizing invariants, induction, and symmetry.
I've solved many problems, but sometimes I'm at a loss as to how to approach a slightly different problem.
You know a certain type of solution, but you don't know the principles that underpin algorithmic problem solving.
By following this book step by step, you will be able to systematically understand algorithm theory and find solutions to any problem you encounter.
GOODS SPECIFICS
- Date of issue: January 31, 2024
- Page count, weight, size: 464 pages | 872g | 188*240*22mm
- ISBN13: 9788966264247
You may also like
카테고리
korean
korean