此种形状的二叉树,需要的比较次数是:10000 (3×20%+2×80%)=22000次,显然:两种判别树的效率是不一样的。
如何从表中的得出成绩的权重;
因此,不同的算法程序的执行效率是不一样的,我们尽量找到最优算法,提高程序的执行效率。就像你编游戏,人口最高只敢100,否则机器就特慢,人家就敢让人口到300;你的农民遇到石头就停住了,人家的农民就能绕过去,找最近的路。这些都离不开算法工程师的功劳。
所谓“算法”是指解决问题的一种方法步骤或者一个过程。
一个算法应该具有以下几个重要的特征。
(1)输入:一个算法应该有n(n≥0)个初始的输入数据。
(2)输出:一个算法可以没有或有一个或多个输出信息,它们与输入数据之间会有着某种特定的关系。
(3)确定性:算法中的每一个步骤都必须具有确切的含义,不能有二义性。
(4)可行性:算法中描述的每一个操作步骤都必须是可以执行的,也就是说,都可以通过计算机实现。
(5)有穷性:一个算法必须在经历有限个步骤之后正常结束,不能形成死循环。
思考题,3个数中求最大值,比较下哪种算法比较好!!!
数据结构:
数据:所有能被输入到计算机中,且被计算机处理的符号的集合。
数据元素:是数据的基本单元,由若干个数据项组成,也成为结点。
数据项:是数据不可分割的最小单元,有时也成域(字段)。
数据对象:是指相同性质 数据元素构成的集合。
数据结构:是互相之间存在一种或多种关系的数据元素的集合。数据元素之间的关系,称为结构。
数据结构的逻辑结构:
4种逻辑结构:
- 集合:数据元素之间“同属一个集合”。
- 线性结构:一个对一个,一对一关系。
- 树形结构(层次结构):一个对多个。
- 图状结构:多个对多个的关系。
数据结构的存储结构:
这个存储结构(物理结构),说的是针对的计算机的内存,不是硬盘,硬盘那个叫文件结构。
连续存储结构:
不连续存储结构:
总结:第一阶段,重点在于引导学生对于自己写的程序进行反思,哪些是良好代码,复合算法特征的,哪些是冗余、垃圾代码,从而进一步提高自己。
第二讲 基础排序假定,你要为你的生日聚会邀请你的朋友和亲戚。对此,你需要给他们打电话。你正在拥有10,000条记录的电话本中查找名为 李蚊香的电话号码。
然而,电话本中的记录是以随意顺序存储的。
在电视剧中士兵排队时,按个子高的和个子矮的的顺序进行排列,个子高的和个子矮的会进行两两进行比较。