![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
Java尖子生
专功JVM、多线程、Java核心知识。
如果觉得有所收获的话,关注下我的公众号“Java尖子生”。
展开
-
第3课:算法复杂度分析(下):最好、最坏、平均、均摊时间复杂度
最好、最坏时间复杂度 我们先看一个例子: /* 例1:查找x在数组中出现的位置,如果没有找到,返回-1。n表示数组array的长度 */ int findIndex(int[] array, int n, int x) { int i = 0; int index = -1; for (; i < n; ++i) { if (array[i] == x) { ...原创 2020-05-08 14:03:43 · 2419 阅读 · 1 评论 -
第2课:算法复杂度分析(上):时间、空间复杂度分析法
#1、算法的考量指标 算法的考量指标,我们是用时间、空间复杂度来衡量的。 时间复杂度的全称是渐进时间复杂度,表示算法的执行时间与数据规模之间的增长关系。 空间复杂度全称就是渐进空间复杂度,表示算法的存储空间与数据规模之间的增长关系。 2、为什么需要复杂度分析? 我把代码跑一遍,通过统计、监控,就能得到算法执行的时间和占用的内存大小 这种评估算法执行效率的方法是正确的。很多数据结构和算法书籍还给这...原创 2020-05-07 19:14:10 · 661 阅读 · 0 评论 -
第1课:为什么要学习数据结构与算法?如何学习?
为什么要学习数据结构与算法?如何学习?什么是数据结构什么是算法数据结构和算法的关系为什么要学习数据结构和算法学习数据结构算法难吗如何学习数据结构和算法 什么是数据结构 广义上讲:数据结构就是一组数据的存储结构。 狭义上讲:队列、栈、堆、树 等常用的数据结构。 什么是算法 算法(Algorithm)就是操作数据的一组方法。 一个算法的优劣可以用空间复杂度与时间复杂度来衡量。 比如:二分查找法、递归算...原创 2020-05-07 10:33:00 · 283 阅读 · 0 评论