算法和数据结构
J丶JOKE
C# UNITY
展开
-
数据结构和算法绪论
数据结构程序设计 = 数据结构+算法数据结构就是数据元素之间存在一种或者多种特定关系的集合数据结构分为1.逻辑结构逻辑结构:数据对象中数据元素之间的相互关系四大逻辑结构:1.集合结构:数据同属于一个集合,数据元素之间独立2.线性结构:数据元素之间一对一关系3.树形结构:数据元素之间存在一对多的层次关系4.图形结构:数据元素之间是多对多的关系(神经网络原创 2017-10-11 15:28:41 · 278 阅读 · 0 评论 -
算法绪论
算法绪论算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每一条指令表示一个或多个操作算法的五个基本特征:1.输入算法具有零个或多个输入2.输出算法至少有一个或多个输出3.有穷性算法在执行有限的步骤之后,自动结束而不会出现无限循环,并且每一个步骤在可接受的时间内完成4.确定性算法的每一个步骤都具有确定的含义,不会出现二义性原创 2017-10-11 15:58:27 · 510 阅读 · 0 评论 -
算法效率的度量方法
时间复杂度:事前分析估算方法:在计算机程序编写前,依据统计方法对算法进行估算。程序运行是所消耗的时间却决于:1.算法采用的策略和方案2.编译产生的代码的质量3.问题的输入规模4.机器执行指令的速度所以程序运行的速度快慢除了依靠硬件和软件之外,就是算法的质量和输入的规模引入时间复杂度1.第一种: int i, sum = 0, n原创 2017-10-11 16:28:49 · 1290 阅读 · 0 评论 -
算法时间复杂度和空间复杂度
时间复杂度算法时间复杂度的定义:在进行算法分析时,语句总的执行次数T(n)是关于问题规模n 的函数,进而分析他T(n)随n的变化情况并确定T(n)的数量级。算法的时间复杂度,也就是算法的时间量,记作:T(n) = O(f(n))。它表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法的渐进时间复杂度,简称为时间复杂度。其中f(n)是问题规模n的某个函数大O记原创 2017-10-11 20:23:46 · 431 阅读 · 0 评论 -
线性表
线性表的定义:由零个(空表)或多个数据元素组成的有限序列。特点:1.线性表是一个序列,也就是说元素之间是有个先来后到的;2.若元素存在多个,则第一个元素无前驱,而最后一个元素无后继,其他元素都有且只有一个前去和后继3.线性表强调是有限的,无论计算机发展到多强大,它所处理的元素都是有限的。用数学语言来进行定义的话:线性表就是(a1,a2,a3,a4,......,an-1原创 2017-10-12 11:17:51 · 363 阅读 · 0 评论 -
线性表导引
线性表导引线性表简介:ADT(抽象数据类型)线性表(List)Data(数据元素之间逻辑关系的定义)线性表中的数据对象集合为{a1,a2,........,an},每个元素的类型均为DataType。其中,除第一个元素a1外,每一个元素有且只有一个直接前驱元素,除了最后一个元素an外,每一个元素有且只有一个直接后继元素。数据元素之间的关系是一对一的关系。Operat原创 2017-10-14 18:19:27 · 274 阅读 · 0 评论 -
线性表(线性存储结构)
线性表简介:ADT(抽象数据类型)线性表(List)Data(数据元素之间逻辑关系的定义)线性表中的数据对象集合为{a1,a2,........,an},每个元素的类型均为DataType。其中,除第一个元素a1外,每一个元素有且只有一个直接前驱元素,除了最后一个元素an外,每一个元素有且只有一个直接后继元素。数据元素之间的关系是一对一的关系。Operation(操作)原创 2017-10-12 19:47:24 · 1271 阅读 · 0 评论