Question: can you create a study plan with the text from a slideshow video This is pre lecture one for CSE 4 3 0 . We're
can you create a study plan with the text from a slideshow video
This is pre lecture one for CSE We're going to cover an introduction to algorithm design and complexity analysis.
:
And you should reference chapters one, two and three of the common least recent algorithms book.
:
A quick overview of our algorithms course.
:
We're going to be talking about various design techniques and approaches for algorithms, which are more important than just memorizing algorithms.
:
We're going to spend a lot of time talking about the analysis of algorithms, both the growth in runtime and maybe memory usage.
:
Spend a little time discussing how we can prove an algorithm correct, which is different from, uh
:
in your programing courses where maybe you wrote test tables to test your code proving and algorithms.
:
A little different idea. And we're going to talk a lot about applications of algorithms and understanding,
:
uh how to apply the theoretical algorithms in real world applications.
:
So for the analysis of algorithms,
:
the basic idea is that if we're going to look at the size of a problem versus how much time it takes to run or the memory usage,
:
we're not concerned with an individual point of this graph.
:
We're concerned with the growth in the runtime or the growth of the memory usage as the size of the problem increases.
:
So what this this graph represents is maybe four different algorithms with various growth growths associated with them.
:
And we'll talk a lot about how we would develop these functions that are the algorithm growth.
:
But again remember the main idea is the individual points on this graph are irrelevant.
:
You know, if I look at for a size problem this blue one looks a little bit better than the dark dashed one.
:
But in the long run, the dark one is a better algorithm than the blue one.
:
So the analysis of algorithms concerned when n gets large. It's not a predicted runtime for a certain size problem,
:
it's to compare algorithms to find the one that grows most slowly as the problem size gets larger.
:
So that's just one main thing to kind of remember. Throughout this course, we're going to start out with talking a lot about sorting algorithms.
:
They're they're uh it's a easy problem to to understand what sorting is
:
And there's a lot of interesting algorithms that we can explore, uh proving algorithms with and explore,
:
uh the algorithm that analysis both for sequential algorithms and for recursive algorithms.
:
So again, the basic problem definition here is a mathematical form.
:
Uh you have a sequence of items, uh and the outlets, the input,
:
the output is some sort of permutation of those items such that in this permutation the first item is less than or equal,
:
the second item is less than the third item. So you're kind of assuming that the items have to have a way to compare them.
:
Uh if you're just given a bunch of colors, you have to be told, how are you going to compare those colors?
:
Maybe it's by you know, their intensity or hue or something like that.
:
If you're given people, uh people's names, it would be alphanumeric, uh you know, sorting by name or something.
:
So that's the general problem definition. Now, why do we need to understand the general problem definition?
:
Well, usually if you look at the general problem definition,
:
you can start to come up with ways to describe the size of the problem without worrying about how to solve that problem.
:
And so if you think about sorting in this way that it's just a permutation of the input,
:
you can kind of understand that the problem size is the number of possible permutations of the input.
:
So if we have five items, there's actually different permutations of those five items.
:
And so if there's permutations there could be more than one that's sorted if
:
there's equal items but there's at least one of those permutations is sorted.
:
If we go to ten items, how much bigger is ten factorial than five factorial?
:
It's a lot bigger. It's exponential growth. So you can see the sorting problem in general just by problem.
:
Definition of the size of the problem exhibits exponential growth.
:
So if you remember from your discrete math class, you probably talked a lot about combinations of permutations.
:
And well, this is why we need to know this. It's to define the size of the problem given a general problem definition.
:
Now we're also, as I mentioned before, we're going to spend some time to prove algorithms correct.
:
And for iterative algorithms there's a approach called loop invariance to use to prove that an algorithm is correct.
:
And what a loop invariant by the name loop invariant. What that implies is an invariant is something that's unchanging.
:
So a
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
