威海住房建设局网站,明年做哪个网站能致富,临沂手机网站信息推广技术公司电话,淄博 建网站由于是速成专题#xff0c;因此内容不会十分全面#xff0c;只会涵盖考试重点#xff0c;各学校课程要求不同 #xff0c;大家可以按照考纲复习#xff0c;不全面的内容#xff0c;可以看一下小编主页数据结构初阶的内容#xff0c;找到对应专题详细学习一下。 目录
一… 由于是速成专题因此内容不会十分全面只会涵盖考试重点各学校课程要求不同 大家可以按照考纲复习不全面的内容可以看一下小编主页数据结构初阶的内容找到对应专题详细学习一下。 目录
一、数据结构
二、逻辑结构
三、存储结构
四、算法
五、算法分析 一、数据结构 数据是对客观事物的符号表示如图像、声音等。 数据元素是数据的基本单位。 数据项是构成数据元素的不可分割的最小单位。 一个数据元素可由若干个数据项组成例如一位学生的信息记录为一个数据元素它是由学号、姓名、性别等数据项组成。 数据对象是具有相同性质的数据元素的集合。 数据结构是相互之间存在一种或多种特定关系的数据元素的集合。 数据结构包括三方面的内容逻辑结构、存储结构和数据的运算。 数据结构的形式定义为数据结构是一个二元组如下 其中D是数据元素的有限集S适用于表示数据元素相互关系的有限集。 第一部分大家主要掌握概念内容分清基本单位、最小单位以及数据结构是数据元素的集合即可 二、逻辑结构 逻辑结构是指数据元素之间的逻辑关系与数据的存储无关独立于计算机。 第二部分大家只要记住逻辑结构中线性和非线性结构都有哪些记住他们的名称即可。 三、存储结构 存储结构物理结构是指数据结构在计算机中的表示它包括数据元素的表示和关系的表示。 顺序存储把逻辑上相邻的元素存储在物理位置上也相邻的存储单元中元素之间的关系 由存储单元的邻接关系来体现。 链式存储借助指示元素存储地址的指针来表示元素之间的逻辑关系。 索引存储在存储元素信息的同时还建立附加的索引表。 散列存储根据元素的关键字直接计算出该元素的存储地址又称哈希hash存储。 第三部分大家记住四种存储结构以及我重点标红的地方即可 四、算法 算法是对特定问题求解步骤的一种描述它是指令的有限序列其中的每条指令表示一个或多个操作。此外一个算法还具有下列个重要特性 1有穷性。一个算法必须总是在执行有穷步后结束且每一步都是在有穷时间内完成。 2确定性。算法中每条指令必须有确切的含义且相同的输入只能得到相同的输出。 3可行性。算法中描述的操作都可以通过已经实现的基本运算执行有限次来实现。 4输入。一个算法有零个或多个输入。 5输出。一个算法有一个或多个输出。
注意一个算法可以没有输入但是必须要有输出 通常设计一个“好”的算法应考虑达到以下目标
正确性。算法应能够正确地求解问题。可读性。算法能具有良好的可读性以帮助人们理解。健壮性。输入非法数据时算法能做出反应或处理而不会产生莫名其妙的输出结果。效率与低存储量需求。效率是指算法执行的时间存储量需求是指算法执行过程中所需的最大存储空间。 第四部分大家重点记住算法的五大特性以及实现优秀算法的四大目标一定不要弄混了 五、算法分析 我们进行算法分析的目的就是分析算法的效率以求改进。 算法效率的度量是通过时间复杂度和空间复杂度来描述的。 一个语句的频度是指该语句在算法中被重复执行的次数。 算法中所有语句的频度之和记为T(n)它是该算法问题规模n的函数时间复杂度主要分析的T(n)数量级。
注意常系数全部去掉比如O(4n)就把4去掉应该是O(n)。 空间复杂度一般不会让大家来算就记住一下概念他是算法所占额外空间的量度。
例1 本道题选D。A算得O() 去掉常系数2就是O()B也是O()C是O()D是O()。
例2
//求时间复杂度
for(i2;in;i)x;for(j1;ji-1;j)a[i][j]x; 上面代码是嵌套for循环in 和 ji-1两层应该是O()。二维数组访问都要嵌套一般都是O()。
例3
//求时间复杂度
i1;
while(in)ii*2; 上面代码我们注意i每次变化都是成2倍递增的假设第x次变化就要跳出循环这时候就是就能算到。一共重复次因此时间复杂度是O()。
例4 这段代码复杂度可以看到则变成1次幂才可以计算因为y1在循环条件里其实变了两次因此时间复杂度为O()。 第五部分是本章最重要的内容大家一定要记住如何计算时间复杂度加法/乘法规则以及常见时间复杂度的大小比较看看例题熟练掌握