官术网_书友最值得收藏!

Chapter 1. Why Bother? – Basic

Since you already know Java, you have of course written a few programs, which means you have written algorithms. "Well then, what is it?" you might ask. An algorithm is a list of well-defined steps that can be followed by a processor mechanically, or without involving any sort of intelligence, which would produce a desired output in a finite amount of time. Well, that's a long sentence. In simpler words, an algorithm is just an unambiguous list of steps to get something done. It kind of sounds like we are talking about a program. Isn't a program also a list of instructions that we give the computer to follow, in order to get a desired result? Yes it is, and that means an algorithm is really just a program. Well not really, but almost. An algorithm is a program without the details of the particular programming language that we are coding it in. It is the basic idea of the program; think of it as an abstraction of a program where you don't need to bother about the program's syntactic details.

Well, since we already know about programming, and an algorithm is just a program, we are done with it, right? Not really. There is a lot to learn about programs and algorithms, that is, how to write an algorithm to achieve a particular goal. There are, of course, in general, many ways to solve a particular problem and not all ways may be equal. One way may be faster than another, and that is a very important thing about algorithms. When we study algorithms, the time it takes to execute is of utmost importance. In fact, it is the second most important thing about them, the first one being their correctness.

In this chapter, we will take a deeper look into the following ideas:

  • Measuring the performance of an algorithm
  • Asymptotic complexity
  • Why asymptotic complexity matters
  • Why an explicit study of algorithms is important
主站蜘蛛池模板: 岑溪市| 商河县| 石门县| 翁牛特旗| 三河市| 通江县| 大连市| 金川县| 伊宁市| 佛山市| 西宁市| 齐齐哈尔市| 江城| 南阳市| 石屏县| 合水县| 左权县| 金昌市| 忻州市| 涿鹿县| 岑溪市| 武山县| 林西县| 平陆县| 法库县| 墨江| 桦南县| 绥棱县| 嘉荫县| 五台县| 乃东县| 上犹县| 玉树县| 叙永县| 惠州市| 渝北区| 肥东县| 绥化市| 内丘县| 刚察县| 京山县|