标签:步骤 了解 软件 system 复杂度 工程 ext 一周 队列
(程序=数据结构+算法 软件=程序+软件工程)
运行效率:一个好的软件的运行效率也是条件之一。
(算法分析是计算机科学的基础)
for(int count = 0;count<n;count++)
{
//*复杂度为O(1)的步骤系列
}
count = 1;
while(count < n)
{
count *=2;
//复杂度为O(1)的步骤系列
}
for(int count = 0;count < n;count++)
{
for(int count2 = 0;count2<n;count2++)
{
//复杂度为O(1)的步骤系列
}
}
3.方法调用复杂度
自己总结一下就是:我们在循环体中可能会引用一个方法,这个方法的复杂度是不确定的,但是同样的目的,它的复杂度是可能不同,所以具体还是要根据方法体的复杂度。
d. n^2logn
解:阶次为n^2logn.
for(int count = 0 ; count < n ; count++)
for(int count2 = 0 ; count2 < n ; count2 = count2 + 2)
{
System.out.println(count,count2);
}
}
解:增长函数是n^2/2;阶次是n^2. 因为先看里面的,会发现内循环要进行n/2次,外循环要进行n次,根据之前学的,将内外相乘,则为n^2/2。
for(int count = 0 ; count < n ; count++)
for(int count2 = 0 ; count2 < n ; count2 = count2 * 2)
{
System.out.println(count,count2);
}
}
解:增长函数是nlogn,阶次为nlogn. 因为,可以先列出几个,会发现内层循环次数为logn,而外层是n次,内外相乘为nlogn .
新学期开始了,又要和Java这门课斗智斗勇了!上学期这门课学的不咋地,这学期不知道能够学成什么样。假期说起博客的事情,我说我不爱写博客,我爸说,你都看书了为什么你就不好好把博客写的好点呢?我一想,有点道理,所以呢,刚开学,还是要对自己有信心的,争取这学期能保持好好写博客,学好这门课!!!
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0/0 | 1/1 | 6/6 |
20172306 2018-2019 《Java程序设计与数据结构》第一周学习总结
标签:步骤 了解 软件 system 复杂度 工程 ext 一周 队列
原文地址:https://www.cnblogs.com/lc1021/p/9613683.html