- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法名词解释
绪论程序是使用程序设计语言精确描述的实现模型,它是问题求解的一个可以在计算机上运行的模型。问题求解一般分为以下几个阶段:分析阶段、设计阶段、编码阶段、测试与维护阶段。数据(Data):在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。数据元素(Data Element):数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。一个数据元素可以由若干个数据项(Data Item)组成。数据对象(Data Object):是性质相同的数据元素的集合。
****数据结构(Data Structure):是相互之间存在一种或多种特定关系的数据元素的集合。逻辑结构:表示数据元素之间的逻辑关系。物理结构:数据结构在计算机中的表示(映象),又称存储结构。数据类型(Data Type):是一个值的集合和定义在这个值集上的一组操作的总称。原子类型(Atom Type)结构类型(Structure Type)作用:实现信息的隐蔽抽象数据类型(Abstract Data Type):是数据类型的延伸。是一个三元组(D,S,P)。(D-数据集;S-关系集;P-操作集)数据结构三要素:逻辑结构: 指数学模型中的基本元素(结点)和元素之间的相互关系。可以分为线性结构、树形结构和复杂结构。存储结构: 指数学模型的具体表示方式,包括结点的表示和关系的表示。操作: 指抽象数据类型关心的各种行为在存储结构上的具体实现(算法)。 数据结构根据存储结构分类:顺序表示:用一个连续的空间,顺序存放数据结构中的各个结点。(结点的关系需要另外存储或者隐含其中) 链接表示:结点的存放位置是任意的,结点之间的关系通过与结点关联的指针(或者引用)方式显式表达出来。 散列表示:又称为关键码——地址转换法。即选择适当的散列(杂凑)函数,根据关键码的值将结点映射到给定的存储空间(散列表)中。 索引表示:索引与散列一样,都给出一种从关键码到存储地址的映射方法。不同的是,散列法的映射是通过函数定义;而索引法是通过建立辅助的索引结构解决。抽象数据类型(Abstract Data Type 简称为ADT):可以看作是定义了一组操作的一个抽象(数学)模型。例如,集合与集合的并、交、差运算就可以定义为一个抽象数据类型。它不关心类型中值的具体表示方式和数据类型中定义的各种操作的具体实现方法,是所有可能的值的具体表示和各种操作的具体实现的抽象。****算法是为实现某个计算过程而规定的基本动作的执行序列。算法的五个重要特性:有穷性、确定性、可行性、有输入、有输出。算法设计要求:正确性、可读性、健壮性、效率与低存储量要求贪心法:当追求的目标是一个问题的最优解时,设法把对整个问题的求解工作分成若干步骤来完成。在其中的每一个阶段都选择从局部看是最优的方案,以期望通过各阶段的局部最优选择达到整体的最优。贪心法实际上不能保证都成功地产生一个全局性最优解,但是通常可以得到一个可行的较优解。分治法:把一个规模较大的问题分成两个或多个较小的与原问题相似的子问题。首先对子问题进行求解,然后设法把子问题的解合并起来,得出整个问题的解,即对问题分而治之。如果一个子问题的规模仍然比较大,不能很容易地求得解,就可以对这个子问题重复地应用分治策略。 回溯法:有一些问题,需要通过彻底搜索所有可能情况寻找一个满足某些预定条件的最优解。由于彻底搜索的运算量通常非常大,所以采取一步一步向前试探,当有多种选择时可以任意选择一种,只要目前可行就继续向前,一旦发现问题或失败就后退,回到上一步重新选择,借助于回溯技巧和中间增加判断,这样常常可以大大地减少搜索时间。动态规划法:与分治法相似都是把一个大问题分解为若干较小的子问题,通过求解子问题而得到原问题的解。不同点是:分治法每次分解的子问题数目比较少,子问题之间界限清楚,处理的过程通常是自顶向下进行;动态规划法分解的子问题可能比较多,而且子问题相互包含,为了重用已经计算的结果,要把计算的中间结果全部保存起来,通常是自底向上进行。分枝限界法:与回溯法相似,也是一种在表示问题解空间的树上进行系统搜索的方法。所不同的是,回溯法使用了深度优先策略,而分枝界限法一般采用广度优先策略或者采用最大收益(或最小损耗)策略,并且利用最优解属性的的上下界来控制搜索的分枝。线性表:简称为表,是零个或多个元素的有穷序列,通常可以表示成k0,k1, …,kn-1(n≥1)。表长:线性表中所含元素的个数。空表:长度为零的线性表。表目:线性表中的元素。串:是由零个或多个字符组成的有限序列。子串:串中任意个连续的字符组成的子序列。主串:包含子串的串相应地称为主串。位置:字符在字符串序列中的
文档评论(0)