自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 数据结构与算法---均摊时间复杂度

数据结构与算法—均摊时间复杂度均摊时间复杂度,听起来可能和平均时间复杂度。但却不是,平均时间复杂度和均摊时间复杂度是两种分析时间复杂度的方法。上代码!!! // array 表示一个长度为 n 的数组 // 代码中的 array.length 就等于 n int[] array = new int[n]; int count = 0; void insert(int val) { if (count == array.length) { int sum = 0; for (int i =

2021-01-30 22:51:52 856 1

原创 数据结构与算法---最好和最坏情况时间复杂度分析

最好和最坏情况时间复杂度(best case time complexity)案例代码如下:// n 表示数组 array 的长度int find(int[] array, int n, int x) { int i = 0; int pos = -1; for (; i < n; ++i) { if (array[i] == x) pos = i; } return pos;}上面代码非常的简单 ,在无序的数组里,找变量x出现的位置。没找到就返回-1。这段代码的时间复杂度是O

2021-01-29 22:37:33 2358

原创 空间复杂度分析

空间复杂度分析void print(int n) { int i = 0; int[] a = new int[n]; for (i; i < n; ++i) { a[i] = i * i; } for(i = n - 1; i >= 0; --i){ print () out a[i];第二行我们申请了一个变量i,是常量级别,可忽略。第三行,我们申请了大小为n的int型数组,除此无其他空间占用。所以代码的空间复杂度便是O(n)。平时我们常用的就是O(1),O(n),O

2021-01-28 21:11:44 142

原创 如何分析,统计算法的执行效率和资源消耗?

如何分析,统计算法的执行效率和资源消耗?数据结构与算法其根本是解决”快“和”省“的问题,就是要想马儿不吃草,又想马儿跑得快,即如何让代码运行得更快,如何让代码更省存储空间。因此,执行效率这一概念便是算法一个非常重要的考量指标。其实,只要提到数据结构与算法,就一定无法脱离时间,空间复杂度来分析。而且,一个老师说过:复杂度分析是整个算法学习的精髓,只要掌握了它,数据结构与算法的内容基本上就掌握了一半。为什么我们需要复杂度分析呢? 为什么我们不直接把代码跑一边,通过统计和监控,就能得到算法执行时间和占用的内

2021-01-27 17:50:28 727 1

原创 如何有的放矢的学习数据结构与算法

**如何有的放矢的学习数据结构与算法大家是否和我一样,因为看不懂数据结构与算法而怀疑自己太笨?说句实话,俺大一时抱着一本《数据结构与算法:C语言版》也是如此。大多数人第一次接触到数据结构与算法的时候,都会有这种感觉,感觉这知识不讲武德,这知识不进脑子。在阅读了一些资料和专栏后,我突然发现是我没有找到好的学习方法,没有找到数据结构与算法学习的重点所在在大学的教科书中,大多数概念都很抽象,很晦涩难懂。对理解实际并没有很大的帮助,反而有可能让你走进一些误区,学习数据结构与算法最重要的是结合实际,结合应用场

2021-01-26 19:50:37 961 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除