- 1、本文档共42页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第01章绪论(Java版)剖析
事业与人生 一个人,无论男女,其社会属性最重要的是事业,事业是一个人赢得自信和尊严的根本。不仅仅表现在挣钱吃饭这种浅层次问题,更是保持积极进取心态、保持身心健康、赢得尊重的良方。 大学是人生的一个重要阶段,承前启后,是初高中应试教育的终点,却是人生自立、独立的起点。确定自己的人生目标和生活准则,选择要做什么?怎样做?并独立承担自己选择 的后果。 好自为之 一个人迟早、肯定能够从他的付出中获得回报,也肯定会因为偷懒、幼稚、无知而付出代价,有些惨痛级别的代价是不能承受的。例如,大学不能毕业、没有学位、留级等,影响终身,后悔莫及。 (2)树结构 图1.5 学生信息表的两种存储结构 ?注意:java.lang.Integer是int整数类型的包装类 调用时默认将int整数与Integer对象相互转换。例如: Integer key = new Integer(100); Integer key = 100; //与上句等价 //Java自动将int整数封装成Integer对象 int i = key.intValue(); int i = key; //与上句等价 // Java自动调用Integer的intValue()方法,将Integer对象转换成int整数 1.2.2 算法分析 度量算法的时间效率 算法的时间效率指算法的执行时间随问题规模的增长而增长的趋势,通常采用时间复杂度来度量算法的时间效率。 T(n)=O(f(n)) 度量算法的空间效率 空间复杂度指算法在执行时为解决问题所需要的额外内存空间,不包括输入数据所占用的存储空间。 S(n)=O(f(n)) 表1-2 时间复杂度随n变化情况的比较 时间复杂度 n=8(23) n=10 n=100 n=1000 O(1) 1 1 1 1 O(log2n) 3 3.322 6.644 9.966 O(n) 8 10 100 1000 O(nlog2n) 24 33.22 664.4 9966 O(n2) 64 100 10000 106 一条简单语句的时间复杂度是O(1)。 int count=0; 一个循环的时间复杂度是O(n)。 int n=8, count=0; for (int i=1; i=n; i++) count++; //循环体执行n次 以下循环语句的时间复杂度是O(log2 n)。 for (int i=1; i=n; i*=2) //i按2的幂(1,2,4,8)递增 count++; //循环体执行1+ 次 以下二重循环的时间复杂度为O(n2)。 for (int i=1; i=n; i++) for (int j=1; j=n; j++) 【例1.2】 算法时间复杂度分析。 【例1.2】 算法时间复杂度分析。 以下二重循环的时间复杂度是O(n×log2n)。 for (int i=1; i=n; i*=2) //循环log2n次 for (int j=1; j=n; j++) //循环n次 以下二重循环的时间复杂度是O(n)。 for (int i=1; i=n; i*=2) //循环log2n次 for (int j=1; j=i; j++) //循环i次 //循环次数 1.2.3 算法设计 【例1.3】 求两个整数的最大公约数。 目的:说明算法必要性。 (1)质因数分解法 (2)更相减损术 “以少减多,更相减损,求其等也,以等数约之。等数约之,即除也,其所以相减者皆等数之重叠,故以等数约之。” :(91,49)=(42,49)=(42,7)=7。 (3)欧几里德(Euclid)的辗转相除法。 gcd(91,49)=gcd(49,42) =gcd(42,7)=gcd(7,0)=7 返回a与b的最大公约数 int gcd(int a, int b) { while (b!=0) { int temp = a%b; a = b; b = temp; } return a; } 【思考题1-1】 求n个整数的最大公约数。 采用递
文档评论(0)