S
S
Sergey2015-08-06 15:15:01
IT education
Sergey, 2015-08-06 15:15:01

Basic knowledge of algorithms?

I am engaged in bydlokodwebmakking, it is obvious that algorithms are used extremely rarely in this area, because the tasks are different, much more important are the design patterns and the loads that the code creates, security. Of course, the loads depend a lot on the algorithms, but only when calculations or sorting are needed, so you want it to be productive. Of course, there is some basic knowledge about bubble sort, for example, I am aware of it. Sometimes, of course, logic turns on and you can think of a quick and good option and write it yourself. However, I would like to have some fundamental knowledge. Recently, the test was passed with the questions "what type of tree is in the picture", what trees I know, but there are no definitions of their types. Is there anything small to familiarize yourself with all this, but without fanaticism? I would not really like to read three-volume books, but a weekend to read the basics would be more than enough for me.

Answer the question

In order to leave comments, you need to log in

5 answer(s)
D
denkl, 2015-08-07
@butteff

Is there something small to get acquainted with all this, but without fanaticism?

There is. The well-known Kormen also wrote Algorithms. Introductory course.
Basic algorithms (sorting, searching, graphs, strings, cryptography, compression), pseudocode, informal style, just over two hundred pages. Easier for entry / familiarization did not meet.

D
demoded, 2015-08-13
@demoded

will start on September 4th. https://www.coursera.org/course/algs4partI
read by Sedgwick himself https://ru.wikipedia.org/wiki/%D0%A1%D0%B5%D0%B4%D... ,_%D0% A0%D0%BE%D0%B1%D0%B5%D1%80%D1%82
everything is explained very intelligibly with pictures and animation. then chic tests, and a practical task.
but difficult...
but very addictive :)

R
Rinnve, 2015-08-13
@Rinnve

I support the idea of ​​​​courses on Coursera (but only if you perceive English more or less by ear, the subtitles are very inaccurate there). The Algorithms I / Algorithms II courses at Princeton University (taught by Sedgwick himself), and the Design of Algorithms I / Design of Algorithms II courses at Stanford University. Firstly, time constraints and the need to not only read / listen, but also complete tasks motivate well. Secondly, specifically, the Princeton course has just the most gorgeous auto-checker of programming tasks, which tests both correctness and memory consumption in comparison with the reference solution, and time efficiency (again, in comparison with the reference solution). I advise you to take both courses, Princeton is more focused on coding (Java 7), the tasks there are more complicated, Stanford pays more attention to proofs of correctness (they help to better understand some algorithms), the tasks are quite simple. In terms of time, about a couple of hours a week for each course, 6 weeks.

@
@coodan, 2015-08-13
_

Interest Ask. Maybe, if there is a general interest, it is worth looking towards programming languages ​​that are more focused on working with algorithms.
For example C++ with its STL. At the heart of the STL are the so-called containers. A container in the STL sense is an object that contains other objects. And there are so-called algorithms for these containers. An algorithm in the STL understanding is some code that will work with objects from a container in a given range. That is, in one line you set the desired algorithm on the desired container and say - dig from now to now - and that's it, it's done. The most necessary algorithms have already been set - the same sorting in various ways, for example. I doubt that it is possible to make the same sorting more reliably and efficiently than the developers of the library did. If desired, you can set your own algorithms.
Orientation of the language to work with algorithms will not help, of course, to understand and create them more deeply. But it will save you from the invention of bicycles. And the thought will direct in the right direction.

F
forroegor08, 2020-10-21
@forroegor08

If without fanaticism and in Russian, then look at this course https://shultais.education/courses/algo everything is quite simple there, with diagrams, graphs and animation. True, in Python, and not in C ++, but in the case of algorithms, there is not much difference. From the books you can see Rod Stevens and Cormen - good authors. In general, even if you study on the course, you still need a book.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question